< ./Volver_al_Panel

ADFS SSO Configuration

Active Directory Federation Services (ADFS) permite autenticación Single Sign-On (SSO) centralizada. Google delega la autenticación en nuestro servidor local.

> SAML_2.0_Flow

User
1. Login
Google
Service Provider
2. Redirect
ADFS
Identity Provider
3. Token
Access

ℹ Concepto: ADFS Farm & HA

Si ADFS cae, NADIE entra en Google. Por eso es vital una Granja (Farm): dos o más servidores ADFS detrás de un balanceador de carga (WLB). Si uno cae, el otro responde.

STEP 01

Preparación del Entorno

📍 DNS & AD Infrastructure

Antes de instalar el rol, preparamos la identidad del servicio. Es vital distinguir dos registros DNS:

Certificados y Confianza

ADFS requiere HTTPS. Creamos un certificado autofirmado para el nombre de servicio.

PowerShell (Administrator)
PS C:\>New-SelfSignedCertificate -DnsName "sts.ad.fergava.es" -CertStoreLocation "cert:\LocalMachine\My"
¿De dónde saco el .CER para la GPO?
Tras ejecutar el comando, abre certlm.msc (Certificados del equipo local) en el servidor. Ve a Personal > Certificados. Busca el certificado "sts.ad.fergava.es", clic derecho > Todas las tareas > Exportar. En el asistente, elige "No exportar la clave privada" y formato DER o Base64 (.CER). Ese es el archivo que usarás en la GPO.
Distribución GPO:
Importamos ese .CER en: Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Trusted Root Certification Authorities.

> Service Principal Name (SPN)

CMD (Administrator)
C:\>setspn -S host/sts.ad.fergava.es AD\svc_adfs C:\>setspn -S http/sts.ad.fergava.es AD\svc_adfs

Esto vincula el nombre DNS del servicio con la cuenta de usuario, permitiendo la autenticación Kerberos.

DNS Configuration
STEP 02

Configuración del Asistente

📍 Server Manager > ADFS Configuration Wizard

Una vez instalado el rol, ejecutamos el asistente y configuramos las secciones clave:

STEP 03

Conectar con Google (Relying Party)

📍 AD FS Management > Relying Party Trusts

Enseñamos a ADFS cómo "hablar" con Google Workspace. Configuramos la confianza manualmente usando los datos exactos del SP.

Fuente de datos: Admin Console > Security > Authentication > SSO with third-party IdP > Third-party SSO profile > SP Details
Relying Party Trust Wizard
STEP 04

Reglas de Notificación (Claim Rules)

📍 Edit Claim Issuance Policy
¿Qué son las Claim Rules?

Son el "traductor". AD habla "LDAP" (sAMAccountName, UserPrincipalName) y Google habla "SAML" (NameID). Estas reglas cogen el email del AD y lo empaquetan en un sobre XML que Google entiende.

Paso Crítico

Google requiere un formato muy específico. Si estas reglas fallan, el login dará error 403 o 500.

Rule 1: Get Email

Template: Send LDAP Attributes as Claims
Mapping: E-Mail-Addresses ➔ E-Mail Address

Rule 2: Email to NameID

Template: Transform an Incoming Claim
Incoming: E-Mail Address
Outgoing: Name ID (Format: Email)
Claim Rules Configuration
STEP 05

Configuración en la Nube

📍 Admin Console > Security > Authentication > SSO with third-party IdP

Exportamos el certificado "Token-Signing" del ADFS (.CER) y lo subimos a Google para que confíe en nuestros tokens.

Cómo exportar el Certificado Token-Signing:
AD FS Management > Service > Certificates > Clic derecho en Token-Signing > View Certificate > Details > Copy to File > Elegir formato Base-64 encoded X.509 (.CER).
Google Admin SSO Settings
STEP 06

Experiencia de Usuario (WIA)

📍 PowerShell & GPO

Para evitar que el usuario escriba su contraseña dos veces, habilitamos la Autenticación Integrada de Windows (WIA) para la Intranet. También añadimos soporte para Chrome/Edge.

PowerShell (Administrator)
# Habilitar WIA como método primario en la Intranet PS C:\>Set-AdfsGlobalAuthenticationPolicy -PrimaryIntranetAuthenticationProvider @('WindowsAuthentication', 'FormsAuthentication') # Añadir User Agents modernos (Chrome, Edge) para que usen WIA PS C:\>Set-AdfsProperties -WIASupportedUserAgents @("MSIE 6.0", "MSIE 7.0", "MSIE 8.0", "MSIE 9.0", "MSIE 10.0", "Trident/7.0", "MSIPC", "Windows Rights Management Client", "Mozilla/5.0")
GPO - Intranet Zone:
Añadimos https://sts.ad.fergava.es a la "Zona de Intranet Local" en los navegadores mediante GPO para permitir el envío automático de credenciales.