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 para ayudar 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 trata 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:

  1. Crea un certificado autofirmado que se usará en el conector LDAP.
  2. Crea un directorio para el registro de instalación de características.
  3. Exporta el certificado del almacén personal al directorio.
  4. Importa el certificado a la raíz de confianza de la máquina local.
  5. 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, a continuación, 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:

  1. Crea un contenedor para la cuenta de servicio que se usará con el conector LDAP.
  2. Crea un contenedor para los usuarios de la nube, donde se aprovisionarán los usuarios.
  3. Crea la cuenta de servicio en AD LDS.
  4. Habilita la cuenta de servicio.
  5. 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.

  1. Vaya a C:\Program Data\Microsoft\Crypto\Keys.
  2. Haga clic con el botón derecho en el archivo del sistema que se encuentra aquí. Será un GUID. Este contenedor almacena nuestro certificado.
    1. Selección de propiedades.
    2. Seleccione la pestaña Seguridad en la parte superior.
    3. Seleccione Editar.
    4. Haga clic en Agregar.
    5. En el cuadro, escriba Servicio de red y seleccione Comprobar nombres.
    6. Seleccione SERVICIO DE RED en la lista y haga clic en Aceptar.
    7. Haga clic en Aceptar.
    8. 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 concedidos permisos a la cuenta de servicio de red, pruebe la conectividad para comprobar que funciona.

  1. Abra el Administrador del servidor y seleccione AD LDS a la izquierda
  2. Haga clic con el botón derecho en la instancia de AD LDS y seleccione ldp.exe en el elemento emergente. Screenshot that shows the Ldp tool location.
  3. En la parte superior de ldp.exe, seleccione Conexión y Conectar.
  4. Escriba la siguiente información y haga clic en Aceptar.
    • Servidor: APP3
    • Puerto: 636
    • Coloque una marca de verificación en la casilla de SSL Screenshot that shows the Ldp tool connection configuration.
  5. Debería ver una respuesta similar a la captura de pantalla siguiente. Screenshot that shows the Ldp tool connection configuration success.
  6. En la parte superior, en Conexión seleccione Enlazar.
  7. Deje el valor predeterminado y haga clic en Aceptar. Screenshot that shows the Ldp tool bind operation.
  8. Ahora debería enlazarse correctamente a la instancia. Screenshot that shows the Ldp tool bind success.

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 con fines de prueba. 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.

  1. En el servidor, haga clic en Inicio, Ejecutar y, posteriormente, en gpedit.msc
  2. 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
  3. A la derecha, haga doble clic en La contraseña debe cumplir los requisitos de complejidad y seleccione Deshabilitado. Screenshot of the complexity requirements setting.
  4. Haga clic en Aplicar y en Aceptar
  5. 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. Edite el script para que coincida con su entorno. En concreto, cambie APP3 al nombre de host del servidor.

Importante

Este script usa el administrador local para la cuenta de servicio de AD LDS y tiene su contraseña codificada de forma segura en las respuestas. Esta acción es solo para pruebas y nunca debe usarse en un entorno de producción.

Si va a instalar AD LDS en un controlador de dominio y no en un miembro o 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=Pa$$Word1
 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"


Pasos siguientes