Microsoft Entra ID의 프로비전을 위한 Active Directory Lightweight Directory Services 준비
다음 설명서에서는 AD LDS(Active Directory Lightweight Directory Services) 설치를 준비하는 방법을 보여 주는 자습서 정보를 제공합니다. 이 디렉터리를 문제 해결을 위한 예제 LDAP 디렉터리로 사용하거나 Microsoft Entra ID의 사용자를 LDAP 디렉터리로 프로비전하는 방법을 보여 주는 데 사용할 수 있습니다.
LDAP 디렉터리 준비
아직 디렉터리 서버가 없는 경우 테스트 AD LDS 환경을 만드는 데 도움이 되는 다음 정보가 제공됩니다. 이 설치에서는 응답 파일과 함께 PowerShell 및 ADAMInstall.exe를 사용합니다. 이 문서에서는 AD LDS에 대한 자세한 내용은 다루지 않습니다. 자세한 내용은 Active Directory Lightweight Directory Services를 참조하세요.
AD LDS 또는 다른 디렉터리 서버가 이미 있는 경우 이 콘텐츠를 건너뛰고 자습서: ECMA 커넥터 호스트 일반 LDAP 커넥터를 계속 진행하여 ECMA 커넥터 호스트를 설치하고 구성할 수 있습니다.
SSL 인증서, 테스트 디렉터리 만들기 및 AD LDS 설치
부록 A의 PowerShell 스크립트를 사용합니다. 이 스크립트에서 수행하는 작업은 다음과 같습니다.
- LDAP 커넥터에서 사용할 자체 서명된 인증서를 만듭니다.
- 기능 설치 로그에 대한 디렉터리를 만듭니다.
- 개인 저장소의 인증서를 디렉터리로 내보냅니다.
- 인증서를 로컬 컴퓨터의 신뢰할 수 있는 루트로 가져옵니다.
- 가상 머신에 AD LDS 역할을 설치합니다.
LDAP 커넥터를 테스트하는 데 사용하는 Windows Server 가상 머신에서 컴퓨터 이름과 일치하도록 스크립트를 편집한 다음, 관리 권한으로 Windows PowerShell을 사용하여 해당 스크립트를 실행합니다.
AD LDS의 인스턴스 만들기
이제 역할이 설치되었으므로 AD LDS의 인스턴스를 만들어야 합니다. 인스턴스를 만들려면 아래에 제공된 응답 파일을 사용할 수 있습니다. 이 파일은 UI를 사용하지 않고 인스턴스를 자동으로 설치합니다.
부록 B의 내용을 메모장에 복사하고, 이를 answer.txt로 "C:\Windows\ADAM"에 저장합니다.
이제 관리자 권한으로 cmd 프롬프트를 열고, 다음 실행 파일을 실행합니다.
C:\Windows\ADAM> ADAMInstall.exe /answer:answer.txt
AD LDS에 대한 컨테이너 및 서비스 계정 만들기
부록 C의 PowerShell 스크립트를 사용합니다. 이 스크립트에서 수행하는 작업은 다음과 같습니다.
- LDAP 커넥터에서 사용할 서비스 계정에 대한 컨테이너를 만듭니다.
- 사용자가 프로비전될 클라우드 사용자용 컨테이너 만들기
- AD LDS에서 서비스 계정을 만듭니다.
- 서비스 계정을 사용하도록 설정합니다.
- 서비스 계정을 AD LDS 관리자 역할에 추가합니다.
Windows Server 가상 머신에서 LDAP 커넥터를 테스트하려면 관리자 권한으로 Windows PowerShell을 사용하여 해당 스크립트를 실행하세요.
네트워크 서비스에 SSL 인증서에 대한 읽기 권한 부여
SSL이 작동하도록 하려면 새로 만든 인증서에 대한 읽기 권한을 네트워크 서비스에 부여해야 합니다. 권한을 부여하려면 다음 단계를 사용합니다.
- C:\Program Data\Microsoft\Crypto\Keys로 이동합니다.
- 마우스 오른쪽 단추로 여기에 있는 시스템 파일을 클릭합니다. guid가 됩니다. 이 컨테이너는 인증서를 저장하고 있습니다.
- 속성 선택
- 위쪽에서 보안 탭을 선택합니다.
- 편집을 선택합니다.
- 추가를 클릭합니다.
- 상자에서 네트워크 서비스를 입력하고, 이름 확인을 선택합니다.
- 목록에서 네트워크 서비스를 선택하고, 확인을 클릭합니다.
- Ok를 클릭합니다.
- 네트워크 서비스 계정에 읽기 및 읽기/실행 권한이 있는지 확인하고, 적용 및 확인을 클릭합니다.
AD LDS를 사용하여 SSL 연결 확인
이제 인증서를 구성하고 네트워크 서비스 계정 권한을 부여했으므로 연결을 테스트하여 작동하는지 확인합니다.
- 서버 관리자를 열고, 왼쪽에서 AD LDS를 선택합니다.
- 마우스 오른쪽 단추로 AD LDS 인스턴스를 클릭하고, 팝업에서 ldp.exe를 선택합니다.
- ldp.exe의 위쪽에서 연결 및 연결을 차례로 선택합니다.
- 다음 정보를 입력하고, 확인을 클릭합니다.
- 아래 스크린샷과 비슷한 응답이 표시됩니다.
- 위쪽의 연결 아래에서 바인딩을 선택합니다.
- 기본값을 그대로 두고, 확인을 클릭합니다.
- 이제 인스턴스에 성공적으로 바인딩됩니다.
로컬 암호 정책 사용 안 함
현재 LDAP 커넥터는 사용자에게 빈 암호를 프로비전합니다. 이 프로비전은 서버의 로컬 암호 정책을 충족하지 않으므로 테스트 목적으로 사용하지 않도록 설정합니다. 암호 복잡성을 사용하지 않도록 설정하려면 도메인에 조인하지 않은 서버에서 다음 단계를 사용합니다.
Important
진행 중인 암호 동기화는 온-프레미스 LDAP 프로비전의 기능이 아니므로 Microsoft는 AD DS와 함께 사용하거나 AD LDS 인스턴스에서 기존 사용자를 업데이트할 때 특히 페더레이션된 애플리케이션에서 AD LDS를 사용하도록 권장합니다.
- 서버에서 시작, 실행, gpedit.msc를 차례로 클릭합니다.
- 로컬 그룹 정책 편집기에서 컴퓨터 구성 > Windows 설정 > 보안 설정 > 계정 정책 > 암호 정책으로 차례로 이동합니다.
- 오른쪽에서 암호는 복잡성 요구 사항을 충족해야 함을 두 번 클릭하고, 사용 안 함을 선택합니다.
- 적용 및 확인을 클릭합니다.
- 로컬 그룹 정책 편집기를 닫습니다.
다음으로, Microsoft Entra ID 사용자를 LDAP 디렉터리로 프로비전하여 프로비전 에이전트를 다운로드하고 구성하기 위한 지침을 계속 진행합니다.
부록 A - AD LDS PowerShell 스크립트 설치
다음 PowerShell 스크립트를 사용하여 Active Directory Lightweight Directory Services 설치를 자동화할 수 있습니다. 사용자 환경에 맞게 스크립트를 편집해야 합니다. 특히 APP3
를 컴퓨터의 호스트 이름으로 변경합니다.
# 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
부록 B - 응답 파일
이 파일은 AD LDS의 인스턴스를 자동화하고 만드는 데 사용됩니다. 이 파일을 사용자 환경에 맞게 편집하고, 특히 APP3
을 서버의 호스트 이름으로 변경합니다.
Important
이 스크립트는 AD LDS 서비스 계정에 로컬 관리자를 사용합니다. 설치하는 동안 암호를 입력하라는 메시지가 표시됩니다.
멤버 또는 독립 실행형 서버가 아닌 도메인 컨트롤러에 AD LDS를 설치하는 경우에는 LDAP 및 SSL을 통한 LDAP에 대해 잘 알려진 포트가 아닌 다른 것으로 LocalLDAPPortToListenOn 및 LocalSSLPortToListonOn을 변경해야 합니다. 예를 들면 LocalLDAPPortToListenOn=51300 및 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
부록 C - AD LDS PowerShell 스크립트 채우기
AD LDS를 컨테이너 및 서비스 계정으로 채우는 PowerShell 스크립트입니다.
# 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"