Preparación de Active Directory Lightweight Directory Services para el aprovisionamiento desde Microsoft Entra ID
En la siguiente documentación se proporciona un tutorial para preparar una instalación de Active Directory Lightweight Directory Services (AD LDS). Se puede usar como directorio LDAP de ejemplo para solucionar problemas o para mostrar cómo se aprovisionan usuarios de Microsoft Entra ID en un directorio LDAP.
Preparación del directorio LDAP
Si aún no tiene un servidor de directorios, se proporciona la siguiente información, que le ayuda a crear un entorno de prueba de AD LDS. Esta configuración usa PowerShell y ADAMInstall.exe con un archivo de respuestas. En este documento no se ofrece información detallada sobre AD LDS. Para obtener mas información, consulte Active Directory Lightweight Directory Services.
Si ya tiene AD LDS u otro servidor de directorios, puede omitir este contenido y continuar con el tutorial Conector LDAP genérico del host del conector ECMA para instalar y configurar el host del conector ECMA.
Cree un certificado SSL, un directorio de prueba e instale AD LDS.
Use el script de PowerShell del Apéndice A. Este script realiza las siguientes acciones:
- Crea un certificado autofirmado que se usará en el conector LDAP.
- Crea un directorio para el registro de instalación de características.
- Exporta el certificado del almacén personal al directorio.
- Importa el certificado a la raíz de confianza de la máquina local.
- Instala el rol AD LDS en nuestra máquina virtual.
En la máquina virtual de Windows Server que usa para probar el conector LDAP, edite el script para que coincida con el nombre del equipo y, después, ejecute el script mediante Windows PowerShell con privilegios administrativos.
Creación de una instancia de AD LDS
Ahora que el rol se ha instalado, debe crear una instancia de AD LDS. Para crear una instancia, puede usar el archivo de respuesta que se proporciona a continuación. Este archivo instalará la instancia de forma silenciosa sin usar la interfaz de usuario.
Copie el contenido del Apéndice B en el Bloc de notas y guárdelo como answer.txt en "C:\Windows\ADAM" .
Ahora abra un símbolo del sistema con privilegios administrativos y ejecute el siguiente archivo:
C:\Windows\ADAM> ADAMInstall.exe /answer:answer.txt
Cree contenedores y una cuenta de servicio para AD LDS.
Use el script de PowerShell del Apéndice C. El script realiza las siguientes acciones:
- Crea un contenedor para la cuenta de servicio que se usará con el conector LDAP.
- Crea un contenedor para los usuarios de la nube, donde se aprovisionarán los usuarios.
- Crea la cuenta de servicio en AD LDS.
- Habilita la cuenta de servicio.
- Agrega la cuenta de servicio al rol de administradores de AD LDS.
En la máquina virtual de Windows Server, se usa para probar que el conector LDAP ejecute el script mediante Windows PowerShell con privilegios administrativos.
Concesión de permisos de lectura NETWORK SERVICE al certificado SSL
Para permitir que SSL funcione, debe conceder permisos de lectura de SERVICIO DE RED a nuestro certificado recién creado. Para conceder los permisos, siga estos pasos.
- Vaya a C:\Program Data\Microsoft\Crypto\Keys.
- Haga clic con el botón derecho en el archivo del sistema que se encuentra aquí. Será un GUID. Este contenedor almacena nuestro certificado.
- Selección de propiedades.
- Seleccione la pestaña Seguridad en la parte superior.
- Seleccione Editar.
- Haga clic en Agregar.
- En el cuadro, escriba Servicio de red y seleccione Comprobar nombres.
- Seleccione SERVICIO DE RED en la lista y haga clic en Aceptar.
- Haga clic en Aceptar.
- Asegúrese de que la cuenta de servicio de red tiene permisos de lectura y ejecución y haga clic en Aplicar y, posteriormente, en Aceptar.
Comprobación de la conectividad SSL con AD LDS
Ahora que hemos configurado el certificado y hemos concedido permisos a la cuenta de servicio de red, pruebe la conectividad para comprobar que funciona.
- Abra el Administrador del servidor y seleccione AD LDS a la izquierda
- Haga clic con el botón derecho en la instancia de AD LDS y seleccione ldp.exe en el elemento emergente.
- En la parte superior de ldp.exe, seleccione Conexión y Conectar.
- Escriba la siguiente información y haga clic en Aceptar.
- Debería ver una respuesta similar a la captura de pantalla siguiente.
- En la parte superior, en Conexión seleccione Enlazar.
- Deje el valor predeterminado y haga clic en Aceptar.
- Ahora debería enlazarse correctamente a la instancia.
Deshabilitación de la directiva de contraseña local
Actualmente, el conector LDAP aprovisiona a los usuarios con una contraseña en blanco. Este aprovisionamiento no cumplirá la directiva de contraseñas local en nuestro servidor, por lo que vamos a deshabilitarla para realizar las pruebas. Para deshabilitar la complejidad de las contraseñas, en un servidor que no está unido a un dominio, siga estos pasos.
Importante
Dado que la sincronización de contraseñas en ejecución no es una característica del aprovisionamiento LDAP local, Microsoft recomienda que AD LDS se utilice específicamente con aplicaciones federadas, cuando se usa junto con AD DS o al actualizar los usuarios existentes en una instancia de AD LDS.
- En el servidor, haga clic en Inicio, Ejecutar y, posteriormente, en gpedit.msc
- En el Editor de directivas de grupo local, vaya a Configuración del equipo > Configuración de Windows > Configuración de seguridad > Directivas de cuenta > Directiva de contraseñas
- A la derecha, haga doble clic en La contraseña debe cumplir los requisitos de complejidad y seleccione Deshabilitado.
- Haga clic en Aplicar y en Aceptar
- Cierre el editor de directivas de grupo locales
Continúe con las instrucciones para aprovisionar usuarios de Microsoft Entra ID en un directorio LDAP para descargar y configurar el agente de aprovisionamiento.
Apéndice A: Instalación del script de PowerShell de AD LDS
El siguiente script de PowerShell se puede usar para automatizar la instalación de Active Directory Lightweight Directory Services. Tendrá que editar el script para que coincida con su entorno. En concreto, cambie APP3
al nombre de host del equipo.
# Filename: 1_SetupADLDS.ps1
# Description: Creates a certificate that will be used for SSL and installs Active Directory Lighetweight Directory Services.
#
# DISCLAIMER:
# Copyright (c) Microsoft Corporation. All rights reserved. This
# script is made available to you without any express, implied or
# statutory warranty, not even the implied warranty of
# merchantability or fitness for a particular purpose, or the
# warranty of title or non-infringement. The entire risk of the
# use or the results from the use of this script remains with you.
#
#
#
#
#Declare variables
$DNSName = 'APP3'
$CertLocation = 'cert:\LocalMachine\MY'
$logpath = "c:\"
$dirname = "test"
$dirtype = "directory"
$featureLogPath = "c:\test\featurelog.txt"
#Create a new self-signed certificate
New-SelfSignedCertificate -DnsName $DNSName -CertStoreLocation $CertLocation
#Create directory
New-Item -Path $logpath -Name $dirname -ItemType $dirtype
#Export the certificate from the local machine personal store
Get-ChildItem -Path cert:\LocalMachine\my | Export-Certificate -FilePath c:\test\allcerts.sst -Type SST
#Import the certificate in to the trusted root
Import-Certificate -FilePath "C:\test\allcerts.sst" -CertStoreLocation cert:\LocalMachine\Root
#Install AD LDS
start-job -Name addFeature -ScriptBlock {
Add-WindowsFeature -Name "ADLDS" -IncludeAllSubFeature -IncludeManagementTools
}
Wait-Job -Name addFeature
Get-WindowsFeature | Where installed >>$featureLogPath
Apéndice B: Archivo de respuesta
Este archivo se usa para automatizar y crear una instancia de AD LDS. Editará este archivo para que coincida con su entorno; en concreto, debe cambiar APP3
al nombre de host del servidor.
Importante
Este script usa el administrador local para la cuenta de servicio de AD LDS. Durante la instalación se le pedirá la contraseña.
Si va a instalar AD LDS en un controlador de dominio, no en un miembro o un servidor independiente, deberá cambiar LocalLDAPPortToListenOn y LocalSSLPortToListonOn a otros puertos que no sean los puertos conocidos para LDAP y LDAP a través de SSL. Por ejemplo, LocalLDAPPortToListenOn=51300 y LocalSSLPortToListenOn=51301.
[ADAMInstall]
InstallType=Unique
InstanceName=AD-APP-LDAP
LocalLDAPPortToListenOn=389
LocalSSLPortToListenOn=636
NewApplicationPartitionToCreate=CN=App,DC=contoso,DC=lab
DataFilesPath=C:\Program Files\Microsoft ADAM\AD-APP-LDAP\data
LogFilesPath=C:\Program Files\Microsoft ADAM\AD-APP-LDAP\data
ServiceAccount=APP3\Administrator
ServicePassword=\*
AddPermissionsToServiceAccount=Yes
Administrator=APP3\Administrator
ImportLDIFFiles="MS-User.LDF"
SourceUserName=APP3\Administrator
SourcePassword=Pa$$Word1
Apéndice C: Relleno del script de PowerShell de AD LDS
Script de PowerShell para rellenar AD LDS con contenedores y una cuenta de servicio.
# Filename: 2_PopulateADLDS.ps1
# Description: Populates our AD LDS environment with 2 containers and a service account
# DISCLAIMER:
# Copyright (c) Microsoft Corporation. All rights reserved. This
# script is made available to you without any express, implied or
# statutory warranty, not even the implied warranty of
# merchantability or fitness for a particular purpose, or the
# warranty of title or non-infringement. The entire risk of the
# use or the results from the use of this script remains with you.
#
#
#
#
# Create service accounts container
New-ADObject -Name "ServiceAccounts" -Type "container" -Path "CN=App,DC=contoso,DC=lab" -Server "APP3:389"
Write-Output "Creating ServiceAccounts container"
# Create cloud users container
New-ADObject -Name "CloudUsers" -Type "container" -Path "CN=App,DC=contoso,DC=lab" -Server "APP3:389"
Write-Output "Creating CloudUsers container"
# Create a new service account
New-ADUser -name "svcAccountLDAP" -accountpassword (ConvertTo-SecureString -AsPlainText 'Pa$$1Word' -Force) -Displayname "LDAP Service Account" -server 'APP3:389' -path "CN=ServiceAccounts,CN=App,DC=contoso,DC=lab"
Write-Output "Creating service account"
# Enable the new service account
Enable-ADAccount -Identity "CN=svcAccountLDAP,CN=ServiceAccounts,CN=App,DC=contoso,DC=lab" -Server "APP3:389"
Write-Output "Enabling service account"
# Add the service account to the Administrators role
Get-ADGroup -Server "APP3:389" -SearchBase "CN=Administrators,CN=Roles,CN=App,DC=contoso,DC=lab" -Filter "name -like 'Administrators'" | Add-ADGroupMember -Members "CN=svcAccountLDAP,CN=ServiceAccounts,CN=App,DC=contoso,DC=lab"
Write-Output "Adding service accounnt to Administrators role"