Microsoft Entra Connect usa la cuenta de Microsoft Entra Connector para autenticar y sincronizar identidades de Active Directory con Microsoft Entra Connect. Esta cuenta usa un nombre de usuario y una contraseña para autenticar solicitudes.
Para mejorar la seguridad del servicio, estamos implementando una identidad de aplicación que usa el flujo de credenciales de cliente de Oauth 2.0 con credenciales de certificado. En este nuevo método, Microsoft Entra o un administrador crean una aplicación de inquilino único que no es de Microsoft en el identificador de Microsoft Entra y usa una de las siguientes opciones de administración de certificados pertinentes para las credenciales.
Microsoft Entra Connect proporciona tres opciones para la administración de aplicaciones y certificados:
Nota:
El rol Administrador de aplicaciones concede la capacidad de dar su consentimiento a los permisos de aplicación, excepto los permisos de aplicación para Azure AD Graph y Microsoft Graph. Esto significa que el administrador de aplicaciones todavía puede dar su consentimiento a los permisos de aplicación para otras aplicaciones, en particular la aplicación de primera entidad de AWS y la aplicación de primera entidad de SSPR.
Este rol también concede la capacidad de administrar las credenciales de aplicación. El usuario asignado a este rol puede agregar credenciales a una aplicación (en particular Connect Sync) y usar esas credenciales para suplantar la identidad de la aplicación. Esto podría suponer una elevación de privilegios por encima de lo que el usuario puede hacer mediante sus asignaciones de roles.
Administrado por Microsoft Entra Connect (valor predeterminado)
Microsoft Entra Connect administra la aplicación y el certificado, que incluye la creación, rotación y eliminación del certificado. El certificado se almacena en el CURRENT_USER almacén. Para una protección óptima de la clave privada del certificado, se recomienda que la máquina use una solución módulo de plataforma segura (TPM) para establecer un límite de seguridad basado en hardware.
Cuando hay un TPM disponible, las operaciones de servicio clave se realizan dentro de un entorno de hardware dedicado. Por el contrario, si no se puede usar un TPM, Microsoft Entra Connect almacena de forma predeterminada el certificado en el proveedor de almacenamiento de claves de software de Microsoft predeterminado y marca la clave privada como noportable para protección adicional. Sin el aislamiento de hardware proporcionado por un TPM, solo las medidas de seguridad de software protegen la clave privada, lo que no logra el mismo nivel de protección.
Para obtener más información sobre la tecnología TPM, consulte Introducción a la tecnología del módulo de plataforma segura.
Se recomienda la opción de administración de certificados de Microsoft Entra Connect (valor predeterminado) porque administramos las claves y rotamos automáticamente el certificado al expirar. De forma predeterminada, Microsoft Entra Connect genera certificados con una duración de 90 días.
Microsoft Entra Connect Sync usa el programador para comprobar si el certificado se debe rotar y, a continuación, rotar automáticamente el certificado. Si el programador está suspendido, la rotación automática de certificados no se puede producir aunque Microsoft Entra Connect Sync administre el certificado.
Traiga su propio certificado
En la configuración Bring Your Own Certificate (BYOC), el administrador gestiona las credenciales del certificado que utiliza la aplicación. El administrador es responsable de crear el certificado, la rotación y la eliminación de certificados sin usar o expirados. El certificado debe almacenarse en el LOCAL_MACHINE almacén.
El administrador es responsable de proteger la clave privada del certificado y asegurarse de que solo Microsoft Entra Connect Sync pueda acceder a la clave privada para la firma.
Se recomienda usar un TPM o un módulo de seguridad de hardware (HSM) para proporcionar un límite de seguridad basado en hardware, en lugar del valor predeterminado. Para comprobar el estado del TPM, use el cmdlet get-TPM de PowerShell.
Si usa Hyper-V máquinas virtuales (VM), puede habilitar el TPM seleccionando Security>Enable Trusted Platform Module (Habilitar módulo de plataforma segura). Este paso solo se puede realizar en máquinas virtuales de generación 2. Las máquinas virtuales de generación 1 no se pueden convertir en máquinas virtuales de generación 2. Para obtener más información, consulte las configuraciones de seguridad de las máquinas virtuales de Generación 2 para Hyper-V y cómo habilitar el inicio de confianza en las máquinas virtuales Gen2 de Azure existentes.
Traiga su propia aplicación
En la configuración de Bring Your Own Application (BYOA), el administrador gestiona la aplicación que Microsoft Entra Connect Sync usa para autenticarse en Microsoft Entra ID, los permisos de la aplicación y la credencial de certificado que utiliza la aplicación.
El administrador registra una aplicación Microsoft Entra y crea una entidad de servicio. La aplicación necesita los permisos necesarios para configurar los comandos de PowerShell de Microsoft Graph.
Nota:
Se requiere microsoft Entra Connect Sync versión 2.5.76.0 o posterior para continuar con los pasos siguientes para autenticarse en el identificador de Microsoft Entra mediante la identidad de la aplicación.
Nota:
El uso de BYOA requiere tener su propio certificado.
Prerrequisitos
Los siguientes requisitos previos son necesarios para implementar la autenticación mediante la identidad de la aplicación.
Importante
Las nuevas versiones de Microsoft Entra Connect Sync solo están disponibles a través del Centro de administración de Microsoft Entra.
Siguiendo la comunicación Novedades , las nuevas versiones de Microsoft Entra Connect Sync solo están disponibles en el panel Microsoft Entra Connect del Centro de administración de Microsoft Entra y ya no se publicarán en el Centro de descarga de Microsoft.
Se necesitan los siguientes requisitos adicionales para la opción de administración de certificados BYOA y BYOC:
- Un certificado se crea en un HSM o TPM mediante una API de criptografía: proveedor de próxima generación. La clave privada se marca como No exportable. Se genera un evento de advertencia 1014 si no se usa TPM. Se admiten las siguientes configuraciones de certificado:
-
KeyUsage: DigitalSignature
-
KeyLength: 2048
-
KeyAlgorithm: RSA
-
KeyHashAlgorithm: SHA256
- El certificado creado se almacena en el
LOCAL_MACHINE almacén.
- Conceda permiso a la cuenta de Microsoft Entra Connect Sync para realizar la firma mediante la clave privada.
Se necesitan los siguientes requisitos adicionales para la opción de administración de aplicaciones BYOA:
- El cliente crea un certificado como se indica en los requisitos previos de BYOC anteriores.
- El cliente registra una aplicación en Microsoft Entra ID y crea una entidad de servicio. Se conceden a la aplicación los permisos necesarios.
- El cliente registra el certificado con la aplicación.
Visualización de la configuración de autenticación actual
Para ver la configuración de autenticación actual, ejecute el Asistente y vaya a Tareas y, a continuación, seleccione Ver o exportar la configuración actual.
Si el servidor está configurado para usar la autenticación basada en aplicaciones, debería poder ver el identificador de la aplicación (cliente), como se muestra en la captura de pantalla siguiente.
Desplácese hacia abajo hasta los detalles del certificado. En la tabla siguiente se proporciona información sobre el certificado.
| Propiedad |
Descripción |
|
Certificado administrado por |
Si Microsoft Entra Connect Sync o BYOC administra el certificado |
|
Rotación automática habilitada |
Indica si está habilitada la rotación automática o la rotación manual |
|
Huella digital del certificado |
Identificador único del certificado |
|
Certificado hash SHA256 |
Huella digital del certificado generado mediante el algoritmo hash SHA-256 |
|
No válido antes |
La primera fecha en que el certificado es válido |
|
No válido después de |
La última fecha en que el certificado es válido |
|
Nombre del asunto |
Identifica la entidad asociada al certificado. |
|
Emitido por |
Quién es el emisor del certificado |
|
Número de serie |
Identifica de forma única el certificado entre certificados por el mismo emisor. |
|
Nombre del proveedor |
Especifica el proveedor de almacenamiento de claves: Microsoft Software Key Storage Provider para certificados de software o Microsoft Platform Crypto Provider para certificados basados en TPM |
Si el servidor usa el nombre de usuario y la contraseña, debería poder ver el nombre de la cuenta como se muestra en la captura de pantalla siguiente.
Instalación y actualización (administrada por Microsoft Entra Connect)
La aplicación administrada y las credenciales de Microsoft Entra Connect Sync se configuran automáticamente durante la instalación inicial o las actualizaciones interactivas manuales. Para confirmar que Microsoft Entra Connect usa la identidad de la aplicación, puede ver la configuración de autenticación actual.
Incorporación a la autenticación basada en aplicaciones
Automático
Las nuevas instalaciones de Microsoft Entra Connect Sync están configuradas para la autenticación basada en aplicaciones durante la instalación. Microsoft Entra Connect no cambia automáticamente los servidores existentes que usan una cuenta de sincronización de directorios heredada. Para cambiar un servidor existente, siga los pasos descritos en la sección Manual .
Manual de instrucciones
Si la autenticación de la aplicación no se configuró automáticamente, puede cambiar manualmente a la autenticación basada en la aplicación.
Si desea configurar la autenticación basada en aplicaciones mediante la opción predeterminada (administrada por Microsoft Entra Connect), puede usar el asistente. Sin embargo, si desea configurar la autenticación basada en aplicaciones mediante BYOC o BYOA, debe usar PowerShell.
Iniciar el asistente de Microsoft Entra Connect
Vaya a Tareas adicionales>Configure application-based authentication to Microsoft Entra ID (Configurar la autenticación basada en aplicaciones en Microsoft Entra ID ) y siga las indicaciones.
Nota:
Asegúrese de que está en el servidor de Microsoft Entra Connect y de que está instalado el módulo de PowerShell microsoft Entra Connect Sync (ADSync).
Use la vista del Asistente para la configuración de autenticación actual para confirmar que Microsoft Entra Connect usa la identidad de la aplicación o use el comando de PowerShell para comprobar el método de autenticación actual.
Get-ADSyncEntraConnectorCredential
Este comando devuelve el ConnectorIdentityType valor actualmente en uso. El valor puede ser ServiceAccount o Application. Si la autenticación usa ServiceAccount, continúe con los pasos siguientes para cambiar de ServiceAccount a Application. Si la autenticación usa Application, vaya a los pasos de Cambiar el certificado de la aplicación por su propio certificado.
Cambiar de ServiceAccount a Application
Inicie el asistente de Microsoft Entra Connect.
Vaya a Tareas adicionales>Configure application-based authentication to Microsoft Entra ID (Configurar la autenticación basada en aplicaciones en Microsoft Entra ID ) y siga las indicaciones.
Cambie el certificado de la aplicación a su propio certificado
Exporte el archivo de certificado (.cer) para cargarlo en el registro de aplicaciones de Microsoft Entra mediante una de las siguientes opciones:
Opción 1: Usar la consola mmc para exportar un certificado desde los almacenes de certificados de Windows:
Ejecute el comando siguiente para abrir la consola de administración de certificados para el equipo local. Algunos métodos para ejecutar este comando se encuentran en el menú Inicio, el símbolo del sistema de Windows Ejecutar, el símbolo del sistema de PowerShell o el símbolo del sistema.
certlm.msc
En el árbol de consola, vaya al certificado que desea exportar.
Haga clic con el botón derecho en el certificado, seleccione Todas las tareas y, a continuación, seleccione Exportar.
En la pantalla, seleccione Bienvenido al Asistente para exportación de certificados, seleccione Siguiente.
Si se le pide que exporte la clave privada, seleccione No, no exporte la clave privada y, a continuación, seleccione Siguiente.
Para el formato de archivo, seleccione DER binario codificado X.509 (. CER) y, a continuación, seleccione Siguiente.
Escriba la ruta de acceso del archivo o navegue hasta ella, y luego seleccione Siguiente.
Revise el resumen y, a continuación, seleccione Finalizar.
Opción 2: Usar PowerShell para exportar el certificado:
$cerFile = "C:\Temp\MyBYOC.cer"
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
Export-Certificate -Cert $cert -FilePath $cerFile
En el Centro de administración de Microsoft Entra, vaya a Registros de aplicaciones de Id. de Entra y seleccione la aplicación que se creó durante la instalación, configuración o actualización de Connect Sync. Para confirmar qué aplicación usa Connect Sync, puede ejecutar el Get-ADSyncEntraConnectorCredential comando para recuperar el identificador de la aplicación (cliente). El formato de nombre de usuario es {AppID}@tenantName.onmicrosoft.com. En Certificado y secretos , seleccione Cargar certificado y cargue el archivo .cer exportado y seleccione Agregar:
Obtención del hash de certificado mediante los siguientes comandos de PowerShell
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
# Get raw data from X509Certificate cert
$certRawDataString = $cert.GetRawCertData()
# Compute SHA256Hash of certificate
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hashBytes = $sha256.ComputeHash($certRawDataString)
Si usa PowerShell versión 7, use el siguiente comando:
$certHash = [System.Convert]::ToHexString($hashBytes)
Si usa versiones anteriores de PowerShell o PowerShell ISE, use el siguiente comando:
$certHash = ($hashBytes|ForEach-Object ToString X2) -join ''
Conceda permisos de cuenta de servicio de Connect Sync (ADSync) para recuperar la clave privada del certificado:
$rsaCert = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
Si el certificado lo emitió una entidad de certificación (CA), use la siguiente $path variable:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\RSA\MachineKeys\$($rsaCert.key.UniqueName)"
Si usa un certificado autofirmado , use la siguiente $path variable:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\Keys\$($rsaCert.key.UniqueName)"
Ejecute los siguientes comandos para conceder el permiso:
$permissions = Get-Acl -Path $path
$serviceAccount = (Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ADSync -Name ObjectName).ObjectName
$rule = New-Object Security.Accesscontrol.FileSystemAccessRule "$serviceAccount", "read", allow
$permissions.AddAccessRule($rule)
Set-Acl -Path $path -AclObject $permissions
# Verify permissions
$permissions = Get-Acl -Path $path
$permissions.Access
Deshabilitar el programador de sincronización
Set-ADSyncScheduler -SyncCycleEnabled $false
Importación del módulo ADSync
Si usa powerShell versión 7, use el siguiente comando para importar el módulo ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync" -UseWindowsPowerShell
Si usa versiones anteriores de PowerShell o PowerShell ISE, use el siguiente comando para importar el módulo ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync"
Actualización del certificado de aplicación mediante el comando de rotación de certificados
Invoke-ADSyncApplicationCredentialRotation -CertificateSHA256Hash $certHash
Utilice la vista del asistente para la configuración de autenticación actual para confirmar que Microsoft Entra Connect está utilizando su nuevo certificado.
Habilitación del programador de sincronización
Set-ADSyncScheduler -SyncCycleEnabled $true
Quite la cuenta de sincronización de directorios (DSA) de Microsoft Entra ID (recomendado).
Creación de la aplicación mediante PowerShell
Conéctese a su inquilino
Connect-MgGraph -scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
Creación e inicialización de la aplicación BYOA
$BYOApp = New-MgApplication -DisplayName "My BYOA For Connect Sync serverName"
Crear e inicializar el nombre de la entidad de servicio principal BYOA
$BYOA_ServicePrincipal = New-MgServicePrincipal -AppId $BYOApp.AppId
Inicializar las variables ConnectSyncAppId y ConnectSyncSPId:
$ConnectSyncAppId = $BYOApp.AppId
$ConnectSyncSPId = $BYOA_ServicePrincipal.Id
Inicialice SynchronizationServiceAppId la variable que representa el identificador de aplicación (cliente) del servicio de sincronización de Microsoft Entra AD. El valor es 6bf85cfa-ac8a-4be5-b5de-425a0d0dc016 para todas las nubes:
$SynchronizationServiceAppId = "6bf85cfa-ac8a-4be5-b5de-425a0d0dc016"
Inicializar SynchronizationServiceSPId variable:
$SynchronizationServiceSPId = (Get-MgServicePrincipal -Filter "appId eq '$SynchronizationServiceAppId'").Id
Inicializar SynchronizationServiceAppRoleId variable:
$SynchronizationServiceAppRoleId = (Get-MgServicePrincipal -Filter "appId eq '$SynchronizationServiceAppId'").AppRoles | Where-Object {$_.Value -eq "ADSynchronization.ReadWrite.All"} | Select-Object -ExpandProperty Id
Nota:
Si usa la característica escritura diferida de contraseñas , continúe con los pasos siguientes; de lo contrario, puede ir al paso 11.
Inicializar PasswordResetServiceAppId variable:
Para todas las nubes excepto Arlington.
$PasswordResetServiceAppId = "93625bc8-bfe2-437a-97e0-3d0060024faa"
Para el uso de la nube en Arlington:
$PasswordResetServiceAppId = "2e5ecfc8-ea79-48bd-8140-c19324acb278"
Inicializar PasswordResetServiceSPId variable:
$PasswordResetServiceSPId = (Get-MgServicePrincipal -Filter "appId eq '$PasswordResetServiceAppId'").Id
Inicializar las variables AppRoles de restablecimiento de contraseña:
$PasswordResetServiceServiceOffboardClientAppRoleId = (Get-MgServicePrincipal -Filter "appId eq '$PasswordResetServiceAppId'").AppRoles | Where-Object {$_.Value -eq "PasswordWriteback.OffboardClient.All"} | Select-Object -ExpandProperty Id
$PasswordResetServiceServiceRegisterClientAppRoleId = (Get-MgServicePrincipal -Filter "appId eq '$PasswordResetServiceAppId'").AppRoles | Where-Object {$_.Value -eq "PasswordWriteback.RegisterClientVersion.All"} | Select-Object -ExpandProperty Id
$PasswordResetServiceServiceRefreshClientAppRoleId = (Get-MgServicePrincipal -Filter "appId eq '$PasswordResetServiceAppId'").AppRoles | Where-Object {$_.Value -eq "PasswordWriteback.RefreshClient.All"} | Select-Object -ExpandProperty Id
Inicialice RequiredResourceAccess la variable para configurar los permisos necesarios para el servicio de sincronización de Microsoft Entra AD y el servicio de restablecimiento de contraseña de Microsoft:
Si no usa la escritura diferida de contraseñas, use:
$RequiredResourceAccess = @(
@{
ResourceAppId = $SynchronizationServiceAppId
ResourceAccess = @(
@{
Id = $SynchronizationServiceAppRoleId
Type = "Role"
}
)
}
)
Si usa la escritura de contraseñas en reversa, use:
$RequiredResourceAccess = @(
@{
ResourceAppId = $SynchronizationServiceAppId
ResourceAccess = @(
@{
Id = $SynchronizationServiceAppRoleId
Type = "Role"
}
)
},
@{
ResourceAppId = $PasswordResetServiceAppId
ResourceAccess = @(
@{
Id = $PasswordResetServiceServiceOffboardClientAppRoleId
Type = "Role"
},
@{
Id = $PasswordResetServiceServiceRegisterClientAppRoleId
Type = "Role"
},
@{
Id = $PasswordResetServiceServiceRefreshClientAppRoleId
Type = "Role"
}
)
}
)
Actualice la aplicación con los permisos necesarios:
Update-MgApplication -ApplicationId $BYOApp.Id -RequiredResourceAccess $RequiredResourceAccess
Cree una asignación de roles de aplicación para Synchronization Service:
$SyncAppRoleAssignment = New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $BYOA_ServicePrincipal.Id -PrincipalId $BYOA_ServicePrincipal.Id -ResourceId $SynchronizationServiceSPId -AppRoleId $SynchronizationServiceAppRoleId
Nota:
Si usa la característica restablecimiento de contraseñas, continúe con los pasos siguientes, de lo contrario, puede ir al paso #15.
Creación de una asignación de roles de aplicación para la función de retroescritura de contraseñas:
$OffboardAppRoleAssignment = New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $BYOA_ServicePrincipal.Id -PrincipalId $BYOA_ServicePrincipal.Id -ResourceId $PasswordResetServiceSPId -AppRoleId $PasswordResetServiceServiceOffboardClientAppRoleId
$RegisterAppRoleAssignment = New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $BYOA_ServicePrincipal.Id -PrincipalId $BYOA_ServicePrincipal.Id -ResourceId $PasswordResetServiceSPId -AppRoleId $PasswordResetServiceServiceRegisterClientAppRoleId
$RefreshAppRoleAssignment = New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $BYOA_ServicePrincipal.Id -PrincipalId $BYOA_ServicePrincipal.Id -ResourceId $PasswordResetServiceSPId -AppRoleId $PasswordResetServiceServiceRefreshClientAppRoleId
Exporte el archivo de certificado (.cer) para cargarlo en el registro de aplicaciones de Microsoft Entra mediante una de las siguientes opciones:
Opción 1: Usar la consola mmc para exportar un certificado desde los almacenes de certificados de Windows:
Ejecute el comando siguiente para abrir la consola de administración de certificados para el equipo local. Algunos métodos para ejecutar este comando se encuentran en el menú Inicio, el símbolo del sistema de Windows Ejecutar, el símbolo del sistema de PowerShell o el símbolo del sistema.
certlm.msc
En el árbol de consola, vaya al certificado que desea exportar.
Haga clic con el botón derecho en el certificado, seleccione Todas las tareas y, a continuación, seleccione Exportar.
En la pantalla Bienvenido al asistente para exportación de certificados, seleccione Siguiente.
Si se le pide que exporte la clave privada, seleccione No, no exporte la clave privada y, a continuación, seleccione Siguiente.
Para el formato de archivo, seleccione DER binario codificado X.509 (. CER) y, a continuación, seleccione Siguiente.
Escriba la ruta de acceso del archivo o navegue hasta ella, y luego seleccione Siguiente.
Revise el resumen y, a continuación, seleccione Finalizar.
Opción 2: Usar PowerShell para exportar el certificado:
$cerFile = "C:\Temp\MyBYOC.cer"
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
Export-Certificate -Cert $cert -FilePath $cerFile
En el Centro de administración de Microsoft Entra, navegue a Entra ID, >, y seleccione la aplicación que se creó en el paso 2. En Certificado y secretos, seleccione Cargar certificado y cargue el archivo .cer exportado y seleccione Agregar:
Obtenga el hash de certificado mediante los siguientes comandos de PowerShell:
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
# Get raw data from X509Certificate cert
$certRawDataString = $cert.GetRawCertData()
# Compute SHA256Hash of certificate
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hashBytes = $sha256.ComputeHash($certRawDataString)
Si usa PowerShell versión 7, use el siguiente comando:
$certHash = [System.Convert]::ToHexString($hashBytes)
Si usa versiones anteriores de PowerShell o PowerShell ISE, use el siguiente comando:
$certHash = ($hashBytes|ForEach-Object ToString X2) -join ''
Conceda permisos de cuenta de servicio de Connect Sync (ADSync) para recuperar la clave privada del certificado:
$rsaCert = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
Si el certificado lo emitió una entidad de certificación (CA), use la siguiente $path variable:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\RSA\MachineKeys\$($rsaCert.key.UniqueName)"
Si usa un certificado autofirmado , use la siguiente $path variable:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\Keys\$($rsaCert.key.UniqueName)"
Ejecute los siguientes comandos para conceder el permiso:
$permissions = Get-Acl -Path $path
$serviceAccount = (Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ADSync -Name ObjectName).ObjectName
$rule = New-Object Security.Accesscontrol.FileSystemAccessRule "$serviceAccount", "read", allow
$permissions.AddAccessRule($rule)
Set-Acl -Path $path -AclObject $permissions
# Verify permissions
$permissions = Get-Acl -Path $path
$permissions.Access
Deshabilitar el programador de sincronización
Set-ADSyncScheduler -SyncCycleEnabled $false
Importación del módulo ADSync:
Si usa powerShell versión 7, use el siguiente comando para importar el módulo ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync" -UseWindowsPowerShell
Cambie al uso de la nueva aplicación para la autenticación.
Add-ADSyncApplicationRegistration -CertificateSHA256Hash $certHash –ApplicationAppId $ConnectSyncAppId
Use la vista del Asistente para la configuración de autenticación actual para confirmar que Microsoft Entra Connect usa la identidad de la aplicación o use el comando de PowerShell para comprobar el método de autenticación actual.
Get-ADSyncEntraConnectorCredential
Habilitación del programador de sincronización
Set-ADSyncScheduler -SyncCycleEnabled $true
Quite la cuenta de sincronización de directorios (DSA) de Microsoft Entra ID (recomendado).
Eliminación de una cuenta de servicio heredada
Después de realizar la transición a la autenticación basada en aplicaciones y Microsoft Entra Connect Sync funciona según lo previsto, se recomienda encarecidamente quitar la cuenta de servicio de nombre de usuario y contraseña de DSA heredada mediante PowerShell. Si usa una cuenta personalizada que no se puede quitar, révoque sus privilegios y elimine el rol DSA de ella.
Siga estos pasos para quitar la cuenta de servicio heredada.
Agregue el nombre de usuario y la contraseña de la cuenta de servicio.
$HACredential = Get-Credential
Se le pedirá que escriba el valor de administrador UserPrincipalName de Microsoft Entra y la contraseña. Escriba el nombre de usuario y la contraseña.
A continuación, quite la cuenta de servicio.
Remove-ADSyncAADServiceAccount -AADCredential $HACredential -Name <$serviceAccountName>
El valor ServiceAccountName es la primera parte del valor UserPrincipalName de la cuenta de servicio usada en Microsoft Entra ID. Puede encontrar este usuario en la lista de usuarios del Centro de administración de Microsoft Entra. Si el UPN es [email protected], use Sync_Server_id como valor ServiceAccountName .
Reversión a una cuenta de servicio heredada mediante PowerShell
Si desea volver a la cuenta de servicio heredada, puede usar PowerShell para volver a usar la cuenta de servicio para mitigar rápidamente el problema. Siga estos pasos para revertir a la cuenta de servicio.
Como parte del retroceso, estamos volviendo a crear la cuenta DSA. Esta nueva cuenta puede tardar hasta 15 minutos en surtir efecto, por lo que puede obtener un error de "Acceso denegado" al volver a habilitar el ciclo de sincronización.
Deshabilite el programador para asegurarse de que no se ejecute ningún ciclo de sincronización hasta que se complete este cambio.
Set-ADSyncScheduler -SyncCycleEnabled $false
Agregue la cuenta de servicio. Se le pedirá que escriba el valor de administrador UserPrincipalName de Microsoft Entra y la contraseña. Introducir las credenciales.
Add-ADSyncAADServiceAccount
Obtenga el mecanismo de autenticación actual y confirme que el ConnectorIdentityType valor vuelve a ServiceAccount.
Get-ADSyncEntraConnectorCredential
Vuelva a habilitar el programador para iniciar el servicio de sincronización.
Set-ADSyncScheduler -SyncCycleEnabled $true
Rotación de certificados
Microsoft Entra Connect advierte si el certificado ha consumido 70% o más de su duración. Para un certificado de 90 días, esto significa que las advertencias comienzan alrededor del día 63. Emite un error si el certificado ya ha expirado. Puede encontrar estas advertencias (id. de evento 1011) y errores (id. de evento 1012) en el registro de eventos de la aplicación.
Este mensaje se emite con la frecuencia del programador si el programador no está suspendido. Ejecute Get-ADSyncScheduler para ver si el programador está suspendido.
Automático
Si Microsoft Entra Connect administra el certificado, no se requiere ninguna acción por su parte, a menos que se suspenda el programador de tareas; en ese caso, Microsoft Entra Connect Sync agrega la nueva credencial de certificado a la aplicación e intenta eliminar la credencial de certificado anterior.
Si no se puede quitar la credencial del certificado anterior, aparece un evento de error en los registros de la aplicación en el Visor de eventos.
Si ve este error, ejecute el siguiente cmdlet en PowerShell para limpiar la credencial de certificado antigua de Microsoft Entra ID. El cmdlet toma el valor CertificateId del certificado que debe ser eliminado, que se puede obtener bien del registro o del Centro de administración de Microsoft Entra.
Remove-EntraApplicationKey -CertificateId <certificateId>
Manual de instrucciones
Si su configuración no es compatible con la rotación automática del certificado, puede rotar el certificado en cualquier momento, aunque todavía no corresponda rotar el certificado actual o aunque este haya expirado.
- Iniciar el asistente de configuración de Microsoft Entra Connect
- Vaya a Tareas adicionales>Rotar certificado de aplicación y, a continuación, siga las indicaciones.
Al obtener una advertencia de Microsoft Entra Connect Sync, se recomienda generar una nueva clave y un certificado y rotar el certificado que usa Microsoft Entra Connect Sync.
Exporte el archivo de certificado (.cer) para cargarlo en el registro de aplicaciones de Microsoft Entra mediante una de las siguientes opciones:
Opción 1: Usar la consola mmc para exportar un certificado desde los almacenes de certificados de Windows:
Ejecute el comando siguiente para abrir la consola de administración de certificados para el equipo local. Algunos métodos para ejecutar este comando se encuentran en el menú Inicio, el símbolo del sistema de Windows Ejecutar, el símbolo del sistema de PowerShell o el símbolo del sistema.
certlm.msc
En el árbol de consola, vaya al certificado que desea exportar.
Haga clic con el botón derecho en el certificado, seleccione Todas las tareas y, a continuación, seleccione Exportar.
En la pantalla Bienvenido al Asistente para exportación de certificados, seleccione Siguiente.
Si se le pide que exporte la clave privada, seleccione No, no exporte la clave privada y, a continuación, seleccione Siguiente.
Para el formato de archivo, seleccione DER binario codificado X.509 (. CER) y, a continuación, seleccione Siguiente.
Escriba la ruta de acceso del archivo o navegue hasta ella, y luego seleccione Siguiente.
Revise el resumen y, a continuación, seleccione Finalizar.
Opción 2: Usar PowerShell para exportar el certificado:
$cerFile = "C:\Temp\MyBYOC.cer"
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
Export-Certificate -Cert $cert -FilePath $cerFile
En el Centro de administración de Microsoft Entra , vaya a Registro de aplicaciones y seleccione la aplicación que se creó durante la instalación, la configuración o la actualización de Connect Sync. Para confirmar qué aplicación usa Connect Sync, puede ejecutar el Get-ADSyncEntraConnectorCredential comando para recuperar el identificador de la aplicación (cliente). El formato de nombre de usuario es {AppID}@tenantName.onmicrosoft.com. En Certificado y secretos, seleccione Cargar certificado y cargue el archivo .cer exportado y seleccione Agregar:
Obtención del hash de certificado mediante los siguientes comandos de PowerShell
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
# Get raw data from X509Certificate cert
$certRawDataString = $cert.GetRawCertData()
# Compute SHA256Hash of certificate
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hashBytes = $sha256.ComputeHash($certRawDataString)
Si usa PowerShell versión 7, use el siguiente comando:
$certHash = [System.Convert]::ToHexString($hashBytes)
Si usa versiones anteriores de PowerShell o PowerShell ISE, use el siguiente comando:
$certHash = ($hashBytes|ForEach-Object ToString X2) -join ''
Conceda permisos de cuenta de servicio de Connect Sync (ADSync) para recuperar la clave privada del certificado:
$rsaCert = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
Si el certificado lo emitió una entidad de certificación (CA), use la siguiente $path variable:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\RSA\MachineKeys\$($rsaCert.key.UniqueName)"
Si usa un certificado autofirmado , use la siguiente $path variable:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\Keys\$($rsaCert.key.UniqueName)"
Ejecute los siguientes comandos para conceder el permiso:
$permissions = Get-Acl -Path $path
$serviceAccount = (Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ADSync -Name ObjectName).ObjectName
$rule = New-Object Security.Accesscontrol.FileSystemAccessRule "$serviceAccount", "read", allow
$permissions.AddAccessRule($rule)
Set-Acl -Path $path -AclObject $permissions
# Verify permissions
$permissions = Get-Acl -Path $path
$permissions.Access
Deshabilitar el programador de sincronización
Set-ADSyncScheduler -SyncCycleEnabled $false
Importación del módulo ADSync:
Si usa PowerShell versión 7, use el siguiente comando para importar el módulo ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync" -UseWindowsPowerShell
Si usa versiones anteriores de PowerShell o PowerShell ISE, use el siguiente comando para importar el módulo ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync"
Actualización del certificado de aplicación mediante el comando de rotación de certificados
Invoke-ADSyncApplicationCredentialRotation -CertificateSHA256Hash $certHash
Utilice la vista del asistente para la configuración de autenticación actual para confirmar que Microsoft Entra Connect está utilizando su nuevo certificado.
Habilitación del programador de sincronización
Set-ADSyncScheduler -SyncCycleEnabled $true
Retire el certificado antiguo del almacén de LOCAL_MACHINE.
Al obtener una advertencia de Microsoft Entra Connect Sync, se recomienda generar una nueva clave y un certificado y rotar el certificado que usa Microsoft Entra Connect Sync.
Exporte el archivo de certificado (.cer) para cargarlo en el registro de aplicaciones de Microsoft Entra mediante una de las siguientes opciones:
Opción 1: Usar la consola mmc para exportar un certificado desde los almacenes de certificados de Windows:
Ejecute el comando siguiente para abrir la consola de administración de certificados para el equipo local. Algunos métodos para ejecutar este comando se encuentran en el menú Inicio, el símbolo del sistema de Windows Ejecutar, el símbolo del sistema de PowerShell o el símbolo del sistema.
certlm.msc
En el árbol de consola, vaya al certificado que desea exportar.
Haga clic con el botón derecho en el certificado, seleccione Todas las tareas y, a continuación, seleccione Exportar.
En la pantalla Bienvenido al Asistente para exportación de certificados, seleccione Siguiente.
Si se le pide que exporte la clave privada, seleccione No, no exporte la clave privada y, a continuación, seleccione Siguiente.
Para el formato de archivo, seleccione DER binario codificado X.509 (. CER) y, a continuación, seleccione Siguiente.
Escriba la ruta de acceso del archivo o navegue hasta ella, y luego seleccione Siguiente.
Revise el resumen y, a continuación, seleccione Finalizar.
Opción 2: Usar PowerShell para exportar el certificado:
$cerFile = "C:\Temp\MyBYOC.cer"
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
Export-Certificate -Cert $cert -FilePath $cerFile
En el Centro de administración de Microsoft Entra, vaya a Registro de aplicaciones y seleccione la aplicación que se creó durante la instalación, la configuración o la actualización de Connect Sync. Para confirmar qué aplicación usa Connect Sync, puede ejecutar el Get-ADSyncEntraConnectorCredential comando para recuperar el identificador de la aplicación (cliente). El formato de nombre de usuario es {AppID}@tenantName.onmicrosoft.com. En Certificado y secretos, seleccione Cargar certificado y cargue el archivo .cer exportado y seleccione Agregar:
Obtención del hash de certificado mediante los siguientes comandos de PowerShell
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -eq 'CN=YOUR_CERTIFICATE_SUBJECT'}
# Get raw data from X509Certificate cert
$certRawDataString = $cert.GetRawCertData()
# Compute SHA256Hash of certificate
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hashBytes = $sha256.ComputeHash($certRawDataString)
Si usa PowerShell versión 7, use el siguiente comando:
$certHash = [System.Convert]::ToHexString($hashBytes)
Si usa versiones anteriores de PowerShell o PowerShell ISE, use el siguiente comando:
$certHash = ($hashBytes|ForEach-Object ToString X2) -join ''
Conceda permisos de cuenta de servicio de Connect Sync (ADSync) para recuperar la clave privada del certificado:
$rsaCert = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
Si el certificado lo emitió una entidad de certificación (CA), use la siguiente $path variable:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\RSA\MachineKeys\$($rsaCert.key.UniqueName)"
Si usa un certificado autofirmado , use la siguiente $path variable:
$path = "$env:ALLUSERSPROFILE\Microsoft\Crypto\Keys\$($rsaCert.key.UniqueName)"
Ejecute los siguientes comandos para conceder el permiso:
$permissions = Get-Acl -Path $path
$serviceAccount = (Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\ADSync -Name ObjectName).ObjectName
$rule = New-Object Security.Accesscontrol.FileSystemAccessRule "$serviceAccount", "read", allow
$permissions.AddAccessRule($rule)
Set-Acl -Path $path -AclObject $permissions
# Verify permissions
$permissions = Get-Acl -Path $path
$permissions.Access
Deshabilitar el programador de sincronización
Set-ADSyncScheduler -SyncCycleEnabled $false
Importación del módulo ADSync:
Si usa powerShell versión 7, use el siguiente comando para importar el módulo ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync" -UseWindowsPowerShell
Si usa versiones anteriores de PowerShell o PowerShell ISE, use el siguiente comando para importar el módulo ADSync:
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync"
Actualización del certificado de aplicación mediante el comando de rotación de certificados
Invoke-ADSyncApplicationCredentialRotation -CertificateSHA256Hash $certHash
Utilice la vista del asistente para la configuración de autenticación actual para confirmar que Microsoft Entra Connect está utilizando su nuevo certificado.
Habilitación del programador de sincronización
Set-ADSyncScheduler -SyncCycleEnabled $true
Retire el certificado antiguo del almacén de LOCAL_MACHINE.
Proceso de revocación de certificados
Para los certificados auto-firmados, ya sea en Microsoft Entra Managed o BYOC, un administrador debe realizar la revocación manual quitando el valor keyCredential de Microsoft Entra ID. Una rotación a petición del certificado también es una opción.
En el caso de los certificados BYOC emitidos por una entidad de certificación registrada con el identificador de Entra de Microsoft, el administrador puede seguir el proceso de revocación de certificados.
Contenido relacionado