Compatibilidad con varios dominios para la federación con Microsoft Entra ID

La siguiente documentación proporciona una guía sobre cómo usar varios dominios y subdominios de nivel superior al federarse con Microsoft 365 o con dominios de Microsoft Entra.

Compatibilidad con varios dominios de nivel superior

La federación de varios dominios de nivel superior con Microsoft Entra ID requiere una configuración adicional innecesaria cuando se federa con un dominio de nivel superior.

Cuando se federa un dominio con Microsoft Entra ID, se establecen varias propiedades en el dominio de Azure. Una propiedad importante es IssuerUri. Esta propiedad es un URI que Microsoft Entra ID usa para identificar el dominio al que está asociado el token. El URI no necesita resolver nada, pero debe ser un URI válido. De forma predeterminada, Microsoft Entra ID establece el URI establece en el valor del identificador del servicio de federación en la configuración local de AD FS.

Nota

El identificador del servicio de federación es un URI que identifica de forma única un servicio de federación. El servicio de federación es una instancia de AD FS que funciona como el servicio de token de seguridad.

Puede ver el valor de IssuerUri con el comando Get-MsolDomainFederationSettings -DomainName <your domain> de PowerShell.

Nota

Los módulos de PowerShell de Azure AD y MSOnline están en desuso a partir del 30 de marzo de 2024. Para obtener más información, lee la actualización de desuso. Desde esta fecha, el soporte de estos módulos se limita a la asistencia de migración al SDK de PowerShell de Microsoft Graph y a las correcciones de seguridad. Los módulos en desuso seguirán funcionando hasta el 30 de marzo de 2025.

Se recomienda migrar a PowerShell de Microsoft Graph para interactuar con Microsoft Entra ID (anteriormente Azure AD). Para preguntas comunes sobre la migración, consulta las Preguntas más frecuentes sobre migración. Nota: versiones 1.0.x de MSOnline pueden experimentar interrupciones después del 30 de junio de 2024.

Se produce un problema cuando se quiere agregar más de un dominio de nivel superior. Por ejemplo, supongamos que ha configurado la federación entre Microsoft Entra ID y el entorno local. Para este documento, el dominio, se utiliza bmcontoso.com. Ahora se ha agregado un segundo dominio de nivel superior, bmfabrikam.com.

Captura de pantalla que muestra varios dominios de nivel superior

Cuando se intenta convertir el dominio bmfabrikam.com en federado, se recibe un error. Esto se debe a que Microsoft Entra ID tiene una restricción que no permite que la propiedad IssuerUri tenga el mismo valor para más de un dominio.

Captura de pantalla que muestra un error de federación en PowerShell.

Parámetro SupportMultipleDomain

Para solucionar esta restricción, necesitamos agregar una propiedad IssuerUri diferente, lo que puede hacerse mediante el parámetro -SupportMultipleDomain. Este parámetro se usa con los cmdlets siguientes:

  • New-MsolFederatedDomain
  • Convert-MsolDomaintoFederated
  • Update-MsolFederatedDomain

Este parámetro hace que Microsoft Entra ID configure el IssuerUri de forma que se base en el nombre del dominio. Esta propiedad IssuerUri será único en los directorios de Microsoft Entra ID. El uso del parámetro permite que el comando de PowerShell se complete correctamente.

Captura de pantalla que muestra la terminación correcta del comando de PowerShell.

-SupportMultipleDomain no cambia los otros puntos de conexión que todavía están configurados para apuntar al servicio de federación de adfs.bmcontoso.com.

-SupportMultipleDomain también garantiza que el sistema de AD FS incluya el valor Issuer apropiado en los tokens emitidos para Microsoft Entra ID. Este valor se establece tomando la parte del dominio del UPN del usuario y usándola como dominio en IssuerUri, es decir, https://{upn suffix}/adfs/services/trust.

Por lo tanto, durante la autenticación en Microsoft Entra ID o Microsoft 365, se usa el elemento IssuerUri del token del usuario para buscar el dominio en Microsoft Entra ID. Si no se encuentra una coincidencia, se produce un error en la autenticación.

Por ejemplo, si el UPN de un usuario es bsimon@bmcontoso.com, la propiedad IssuerUri del token que emite AD FS se establece en http://bmcontoso.com/adfs/services/trust. Este elemento coincide con la configuración de Microsoft Entra y la autenticación se realiza correctamente.

La siguiente regla de notificaciones personalizada implementa esta lógica:

c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, ".+@(?<domain>.+)", "http://${domain}/adfs/services/trust/"));

Importante

Para poder usar el modificador -SupportMultipleDomain al intentar agregar dominios nuevos o convertir dominios existentes, debe tener configurada la confianza federada de modo que los admita.

Actualización de la confianza entre AD FS y Microsoft Entra ID

Si no ha configurado la confianza federada entre AD FS y su instancia de Microsoft Entra ID, es posible que tenga que volver a crear esta confianza. Esto se debe a que, cuando se configura originalmente sin el parámetro -SupportMultipleDomain, el IssuerUri se establece con el valor predeterminado. En la siguiente captura de pantalla, puede ver que el valor de IssuerUri se establece en https://adfs.bmcontoso.com/adfs/services/trust.

Si ha agregado satisfactoriamente un nuevo dominio en el Centro de administración de Microsoft Entra y luego intenta convertirlo utilizando Convert-MsolDomaintoFederated -DomainName <your domain>, obtendrá el siguiente error.

Captura de pantalla que muestra un error de federación en PowerShell después de intentar convertir un nuevo dominio con el comando

Si intenta agregar el modificador -SupportMultipleDomain, recibirá el siguiente error:

Captura de pantalla que muestra un error de federación después de agregar el modificador

El simple hecho de intentar ejecutar Update-MsolFederatedDomain -DomainName <your domain> -SupportMultipleDomain en el dominio original también producirá un error.

Error de federación

Siga los pasos indicados a continuación para agregar otro dominio de nivel superior. Si ya ha agregado un dominio y no ha usado el parámetro -SupportMultipleDomain, empiece por los pasos para quitar y actualizar el dominio original. Si aún no ha agregado un dominio de nivel superior, puede comenzar con los pasos para agregar un dominio usando PowerShell de Microsoft Entra Connect.

Siga los pasos indicados a continuación para quitar la confianza de Microsoft Online y actualizar el dominio original.

  1. En el servidor de federación de AD FS, abra Administración de AD FS.
  2. A la izquierda, expanda Relaciones de confianza y Confianzas de usuario de confianza.
  3. A la derecha, elimine la entrada Plataforma de identidad de Microsoft Office 365 . Quitar Microsoft Online
  4. En un equipo que tenga instalado el Módulo de Azure AD PowerShell, ejecute el siguiente código de PowerShell: $cred=Get-Credential.
  5. Escriba el nombre de usuario y la contraseña de un administrador de identidad híbrida del dominio de Microsoft Entra con el que se esté federando.
  6. En PowerShell, escriba Connect-MsolService -Credential $cred.
  7. En PowerShell, escriba Update-MSOLFederatedDomain -DomainName <Federated Domain Name> -SupportMultipleDomain. Esta actualización es para el dominio original. Si se usan los dominios anteriores, sería: Update-MsolFederatedDomain -DomainName bmcontoso.com -SupportMultipleDomain

Siga los pasos que se indican a continuación para agregar el nuevo dominio de nivel superior con PowerShell

  1. En un equipo que tenga instalado el Módulo de Azure AD PowerShell, ejecute el siguiente código de PowerShell: $cred=Get-Credential.
  2. Escriba el nombre de usuario y la contraseña de un administrador de identidad híbrida del dominio de Microsoft Entra con el que se esté federando
  3. En PowerShell, escriba Connect-MsolService -Credential $cred
  4. En PowerShell, escriba New-MsolFederatedDomain –SupportMultipleDomain –DomainName

Siga los pasos que se indican a continuación para agregar el nuevo dominio de nivel superior con Microsoft Entra Connect.

  1. Inicie Microsoft Entra Connect desde el escritorio o el menú Inicio
  2. Elija "Agregar un dominio de Microsoft Entra adicional" Captura de pantalla que muestra la página
  3. Escriba las credenciales de Microsoft Entra ID y Active Directory
  4. Seleccione el segundo dominio que desea configurar para federación. Agregar un dominio adicional de Microsoft Entra
  5. Haz clic en Instalar

Comprobación del nuevo dominio de nivel superior

Con el comando de PowerShell Get-MsolDomainFederationSettings -DomainName <your domain>, puede ver el valor de IssuerUri actualizado. La captura de pantalla siguiente muestra que la configuración de la federación se actualizó en el dominio original http://bmcontoso.com/adfs/services/trust

Y el valor de IssuerUri en el nuevo dominio se ha establecido en https://bmcontoso.com/adfs/services/trust

Compatibilidad con subdominios

Cuando se agrega un subdominio, debido a la manera en que Microsoft Entra ID controla los dominios, hereda la configuración del elemento primario. Esto significa que la propiedad IssuerUri debe coincidir con los elementos primarios.

Supongamos que tengo bmcontoso.com y que agrego corp.bmcontoso.com. La propiedad IssuerUri de un usuario de corp.bmcontoso.com tiene que ser http://bmcontoso.com/adfs/services/trust. Sin embargo, la regla estándar implementada anteriormente para Microsoft Entra ID genera un token con un emisor como http://corp.bmcontoso.com/adfs/services/trust, que no coincidirá con el valor necesario del dominio y se producirá un error en la autenticación.

Habilitación de la compatibilidad con subdominios

Para solucionar este comportamiento, es necesario actualizar la relación de confianza para usuario autenticado de AD FS para Microsoft Online. Para ello, debe configurar una regla de notificaciones personalizada para eliminar cualquier subdominio del sufijo UPN del usuario al construir el valor de emisor personalizado.

Use la siguiente notificación:

c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, "^.*@([^.]+\.)*?(?<domain>([^.]+\.?){2})$", "http://${domain}/adfs/services/trust/"));

[NOTA] El último número de la expresión regular establece la cantidad de dominios primarios que hay en el dominio raíz. En este caso tenemos bmcontoso.com, por lo que se requieren dos dominios principales. Si tuviéramos que mantener tres dominios principales (es decir, corp.bmcontoso.com), el número habría sido tres. Es posible indicar un intervalo; en ese caso, la coincidencia se realiza siempre con el número máximo de dominios. "{2,3}" coincide con dos o tres dominios (esto es, bmfabrikam.com y corp.bmcontoso.com).

Siga los pasos indicados a continuación para agregar una notificación personalizada para admitir subdominios.

  1. Abra Administración de AD FS
  2. Haga clic con el botón derecho en la confianza de usuario de confianza de Microsoft Online y elija Editar reglas de notificación
  3. Seleccione la tercera regla de notificación y reemplácela Editar notificación
  4. Reemplace la notificación actual:
c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, ".+@(?<domain>.+)","http://${domain}/adfs/services/trust/"));

con

c:[Type == "http://schemas.xmlsoap.org/claims/UPN"] => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, "^.*@([^.]+\.)*?(?<domain>([^.]+\.?){2})$", "http://${domain}/adfs/services/trust/"));

Reemplazar notificación

  1. Haga clic en Aceptar. Haga clic en Aplicar. Haga clic en Aceptar. Cierre Administración de AD FS.

Pasos siguientes

Ahora que ya tiene instalado Microsoft Entra Connect puede comprobar la instalación y asignar licencias.

Para aprender más acerca de estas características que se habilitaron con la instalación, consulte la información sobre: Actualización automática, Cómo evitar eliminaciones accidentales y Microsoft Entra Connect Health.

Obtenga información acerca de estos temas habituales: el programador y cómo desencadenar la sincronización.

Más información sobre la Integración de las identidades locales con Microsoft Entra ID.