Cómo configurar la autenticación de Windows para Microsoft Entra ID con el flujo basado en la confianza de entrada
En este artículo, se describe cómo implementar el flujo de autenticación basado en la confianza de entrada para permitir que los clientes unidos a Active Directory (AD) que ejecutan Windows 10, Windows Server 2012 o versiones superiores de Windows se autentiquen en una instancia de Azure SQL Managed Instance con la autenticación de Windows.
En este artículo, también se incluyen los pasos para rotar una clave de Kerberos para su cuenta de servicio en Microsoft Entra ID (antes llamado Azure Active Directory) y el objeto de dominio de confianza, además de los pasos para quitar un objeto de dominio de confianza y toda la configuración de Kerberos, si lo desea.
La habilitación del flujo de autenticación basado en la confianza de entrada es un paso de la configuración de la autenticación de Windows para Azure SQL Managed Instance mediante Microsoft Entra ID y Kerberos. El flujo interactivo moderno está disponible para clientes habilitados que ejecutan Windows 10 20H1, Windows Server 2022 o una versión superior de Windows.
Nota:
Microsoft Entra ID era conocido anteriormente como Azure Active Directory (Azure AD).
Permisos
Necesita lo siguiente para completar los pasos descritos en este artículo:
- Nombre de usuario y contraseña de administrador de Active Directory local
- Nombre de usuario y contraseña de la cuenta de administrador global de Microsoft Entra.
Requisitos previos
Para implementar el flujo de autenticación basado en la confianza de entrada, primero debe asegurarse de que se cumplen los requisitos previos siguientes:
Requisito previo | Descripción |
---|---|
Los clientes deben ejecutar Windows 10, Windows Server 2012 o una versión superior de Windows. | |
Los clientes se deben unir a AD. El dominio debe tener un nivel funcional de Windows Server 2012 o versiones superiores. | Para determinar si el cliente se unió a AD, ejecute el comando dsregcmd: dsregcmd.exe /status |
Módulo de administración de la autenticación de Azure AD híbrido. | Este módulo de PowerShell proporciona características de administración para la instalación en el entorno local. |
Inquilino de Azure. | |
Suscripción de Azure en el mismo inquilino de Microsoft Entra que planea utilizar para la autenticación. | |
Microsoft Entra Connect instalado. | Entornos híbridos donde existen identidades tanto en Microsoft Entra ID como en AD. |
Creación y configuración del objeto de dominio de confianza Kerberos de Azure AD
Para crear y configurar el objeto de dominio de confianza Kerberos de Microsoft Entra, instalará el módulo de PowerShell para la administración de autenticación de Azure AD híbrido.
A continuación, use el módulo de PowerShell de administración de autenticación híbrida de Azure AD para configurar un objeto de dominio de confianza en el dominio de AD local y registrar la información de confianza con Microsoft Entra ID. Esto crea una relación de confianza de entrada en la instancia de AD local, lo que permite que Microsoft Entra ID confíe en AD local.
Configuración del objeto de dominio de confianza
Para configurar el objeto de dominio de confianza, instale primero el módulo de PowerShell para la administración de la autenticación de Azure AD híbrido.
Instalación del módulo de PowerShell para la administración de la autenticación de Azure AD local
Inicie una sesión de Windows PowerShell con la opción Ejecutar como administrador.
Use el script siguiente para instalar el módulo de PowerShell para la administración de la autenticación de Azure AD híbrido. El script:
- Habilita TLS 1.2 para la comunicación.
- Instala el proveedor de paquetes NuGet.
- Registra el repositorio PSGallery.
- Instala el módulo PowerShellGet.
- Instala el módulo de PowerShell para la administración de la autenticación de Azure AD local.
- El módulo de PowerShell para la administración de la autenticación de Azure AD híbrido utiliza el módulo AzureADPreview, que proporciona una característica de administración de Microsoft Entra avanzada.
- Como protección frente a conflictos de instalación innecesarios con el módulo de Azure AD PowerShell, este comando incluye la marca de la opción –AllowClobber.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-PackageProvider -Name NuGet -Force
if (@(Get-PSRepository | Where-Object { $_.Name -eq "PSGallery" }).Count -eq -1) {
Register-PSRepository -Default
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
}
Install-Module -Name PowerShellGet -Force
Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber
Creación del objeto de dominio de confianza
Inicie una sesión de Windows PowerShell con la opción Ejecutar como administrador.
Establezca los parámetros comunes. Personalice el siguiente script antes de ejecutarlo.
- Establezca el parámetro
$domain
en el nombre de dominio de Active Directory local. - Cuando
Get-Credential
lo solicite, escriba el nombre de usuario y la contraseña de un administrador de Active Directory local. - Establezca el parámetro
$cloudUserName
en el nombre de usuario de una cuenta con privilegios de administrador global para obtener acceso a la nube de Microsoft Entra.
Nota:
Si desea usar su cuenta de inicio de sesión de Windows actual para el acceso a Active Directory local, puede omitir el paso en el que se asignan credenciales al parámetro
$domainCred
. Si usa este enfoque, no incluya el parámetro-DomainCredential
en los comandos de PowerShell después de este paso.$domain = "your on-premesis domain name, for example contoso.com" $domainCred = Get-Credential $cloudUserName = "Azure AD user principal name, for example admin@contoso.onmicrosoft.com"
- Establezca el parámetro
Compruebe la configuración actual de Kerberos del dominio.
Ejecute el comando siguiente para comprobar la configuración actual de Kerberos del dominio:
Get-AzureAdKerberosServer -Domain $domain ` -DomainCredential $domainCred ` -UserPrincipalName $cloudUserName
Si es la primera vez que usa algún comando Kerberos de Microsoft Entra, se le pide acceso a la nube de Microsoft Entra.
- Introduzca la contraseña para su cuenta de administrador global de Microsoft Entra.
- Si la organización utiliza otros métodos de autenticación modernos, como la autenticación multifactor de Microsoft Entra o la tarjeta inteligente, siga las instrucciones que se solicitan para el inicio de sesión.
Si es la primera vez que configura las opciones de Kerberos de Microsoft Entra, el cmdlet Get-AzureAdKerberosServer mostrará información vacía, como en la salida de ejemplo siguiente:
ID : UserAccount : ComputerAccount : DisplayName : DomainDnsName : KeyVersion : KeyUpdatedOn : KeyUpdatedFrom : CloudDisplayName : CloudDomainDnsName : CloudId : CloudKeyVersion : CloudKeyUpdatedOn : CloudTrustDisplay :
Si el dominio ya admite la autenticación FIDO, el cmdlet
Get-AzureAdKerberosServer
muestra información de la cuenta de servicio de Microsoft Entra, como en la siguiente salida de ejemplo. El campoCloudTrustDisplay
devuelve un valor vacío.ID : 25614 UserAccount : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net ComputerAccount : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net DisplayName : krbtgt_25614 DomainDnsName : aadsqlmi.net KeyVersion : 53325 KeyUpdatedOn : 2/24/2022 9:03:15 AM KeyUpdatedFrom : ds-aad-auth-dem.aadsqlmi.net CloudDisplayName : krbtgt_25614 CloudDomainDnsName : aadsqlmi.net CloudId : 25614 CloudKeyVersion : 53325 CloudKeyUpdatedOn : 2/24/2022 9:03:15 AM CloudTrustDisplay :
Agregue el objeto de dominio de confianza.
Ejecute el cmdlet Set-AzureAdKerberosServer PowerShell para agregar el objeto de dominio de confianza. No olvide incluir el parámetro
-SetupCloudTrust
. Si no hay ninguna cuenta de servicio de Microsoft Entra, este comando crea una nueva cuenta de servicio de Microsoft Entra. Este comando solo crea el objeto dominio de confianza solicitado si hay una cuenta de servicio de Microsoft Entra.Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -DomainCredential $domainCred -SetupCloudTrust
Nota:
En un bosque de varios dominios, para evitar el error LsaCreateTrustedDomainEx 0x549 al ejecutar el comando en un dominio secundario:
- Ejecute el comando en el dominio raíz (incluya el parámetro
-SetupCloudTrust
). - Ejecute el mismo comando en el dominio secundario sin el parámetro
-SetupCloudTrust
.
Después de crear el objeto de dominio de confianza, puede comprobar la configuración actualizada de Kerberos con el cmdlet
Get-AzureAdKerberosServer
de PowerShell, tal como se mostró en el paso anterior. Si el cmdletSet-AzureAdKerberosServer
se ha ejecutado correctamente con el parámetro-SetupCloudTrust
, el campoCloudTrustDisplay
ahora debería devolverMicrosoft.AzureAD.Kdc.Service.TrustDisplay
, como en la siguiente salida de ejemplo:ID : 25614 UserAccount : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net ComputerAccount : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net DisplayName : krbtgt_25614 DomainDnsName : aadsqlmi.net KeyVersion : 53325 KeyUpdatedOn : 2/24/2022 9:03:15 AM KeyUpdatedFrom : ds-aad-auth-dem.aadsqlmi.net CloudDisplayName : krbtgt_25614 CloudDomainDnsName : aadsqlmi.net CloudId : 25614 CloudKeyVersion : 53325 CloudKeyUpdatedOn : 2/24/2022 9:03:15 AM CloudTrustDisplay : Microsoft.AzureAD.Kdc.Service.TrustDisplay
Nota:
Las nubes soberanas de Azure requieren establecer la propiedad
TopLevelNames
, que se establece enwindows.net
de forma predeterminada. Las implementaciones en la nube soberana de Azure de SQL Managed Instance usan un nombre de dominio de nivel superior diferente, comousgovcloudapi.net
para Azure US Government. Establezca el objeto de dominio de confianza en ese nombre de dominio de nivel superior mediante el siguiente comando de PowerShell:Set-AzureADKerberosServer -Domain $domain -DomainCredential $domainCred -CloudCredential $cloudCred -SetupCloudTrust -TopLevelNames "usgovcloudapi.net,windows.net"
. Puede comprobar la configuración mediante el siguiente comando de PowerShell:Get-AzureAdKerberosServer -Domain $domain -DomainCredential $domainCred -UserPrincipalName $cloudUserName | Select-Object -ExpandProperty CloudTrustDisplay
.- Ejecute el comando en el dominio raíz (incluya el parámetro
Configuración del objeto de directiva de grupo (GPO)
Identifique su cuenta empresarial de Microsoft Entra ID.
Implemente la configuración de directiva de grupo siguiente en máquinas cliente con el flujo basado en la confianza de entrada:
Edite la configuración de directiva Administrative Templates\System\Kerberos\Specify KDC proxy servers for Kerberos clients.
Seleccione Habilitado.
En Opciones, seleccione Mostrar…. Se abrirá el cuadro de diálogo Mostrar contenido.
Defina la configuración de los servidores proxy KDC mediante asignaciones, como se indica a continuación. Sustituya la cuenta empresarial de Microsoft Entra ID por el marcador de posición
your_Azure_AD_tenant_id
. Tenga en cuenta el espacio de después dehttps
y antes del/
de cierre en la asignación de valores.Nombre del valor Valor KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443: your_Azure_AD_tenant_id
/kerberos />Seleccione Aceptar para cerrar el cuadro de diálogo "Mostrar contenido".
Seleccione Aplicar en el cuadro de diálogo "Specify KDC proxy servers for Kerberos clients" (Especificar servidores proxy KDC para clientes Kerberos).
Rotación de la clave Kerberos
Puede rotar periódicamente la clave Kerberos para la cuenta de servicio de Microsoft Entra creada y el objeto de dominio de confianza para fines de administración.
Set-AzureAdKerberosServer -Domain $domain `
-DomainCredential $domainCred `
-UserPrincipalName $cloudUserName -SetupCloudTrust `
-RotateServerKey
Una vez que se rota la clave, la propagación de la clave modificada entre los servidores KDC de Kerberos tarda varias horas. Debido al tiempo que conlleva distribuir las claves, solo puede rotar una clave cada 24 horas. Si por cualquier motivo debe rotar la clave nuevamente dentro de ese plazo (por ejemplo, justo después de crear el objeto de dominio de confianza), puede agregar el parámetro -Force
:
Set-AzureAdKerberosServer -Domain $domain `
-DomainCredential $domainCred `
-UserPrincipalName $cloudUserName -SetupCloudTrust `
-RotateServerKey -Force
Eliminación del objeto de dominio de confianza
Para quitar el objeto de dominio de confianza, utilice el comando siguiente:
Remove-AzureADKerberosServerTrustedDomainObject -Domain $domain `
-DomainCredential $domainCred `
-UserPrincipalName $cloudUserName
Este comando solo quitará el objeto de dominio de confianza. Si el dominio admite la autenticación FIDO, es posible quitar el objeto de dominio de confianza a la vez que conserva la cuenta de servicio de Microsoft Entra que se necesita para el servicio de autenticación FIDO.
Eliminación de toda la configuración de Kerberos
Para quitar la cuenta de servicio de Microsoft Entra y el objeto de dominio de confianza, utilice el comando siguiente:
Remove-AzureAdKerberosServer -Domain $domain `
-DomainCredential $domainCred `
-UserPrincipalName $cloudUserName
Contenido relacionado
- Configuración de Azure SQL Managed Instance para la autenticación de Windows para Microsoft Entra ID
- ¿Qué es la autenticación de Windows para las entidades de seguridad de Microsoft Entra en Azure SQL Managed Instance?
- Configuración de la autenticación de Windows para Azure SQL Managed Instance mediante Microsoft Entra ID y Kerberos