Azure 로컬 버전 23H2에 대한 사용자 지정 Active Directory 구성
적용 대상: Azure Local, 버전 23H2
이 문서에서는 Azure Local 버전 23H2 배포에 필요한 권한 및 DNS 레코드에 대해 설명합니다. 또한 이 문서에서는 수동으로 권한을 할당하고 Active Directory 환경에 대한 DNS 레코드를 만드는 방법에 대한 자세한 단계가 포함된 예제를 사용합니다.
Azure 로컬 솔루션은 권한을 할당하기 위해 설정된 프로세스 및 도구를 사용하여 대규모 Active Directories에 배포됩니다. Microsoft는 Azure 로컬 배포에 선택적으로 사용할 수 있는 Active Directory 준비 스크립트 를 제공합니다. Active Directory에 필요한 권한, 조직 구성 단위 만들기 및 GPO 상속 차단을 모두 수동으로 구성할 수도 있습니다.
사용할 DNS 서버도 선택할 수 있습니다. 예를 들어 Active Directory와의 통합을 지원하는 Microsoft DNS 서버를 사용하여 보안 동적 업데이트를 활용할 수 있습니다. Microsoft DNS 서버를 사용하지 않는 경우 Azure 로컬 솔루션의 배포 및 업데이트에 대한 DNS 레코드 집합을 만들어야 합니다.
Active Directory 요구 사항 정보
다음은 Azure 로컬 배포에 대한 Active Directory 요구 사항 중 일부입니다.
개체 검색에 대한 쿼리 시간을 최적화하려면 OU(전용 조직 구성 단위)가 필요합니다. 이 최적화는 여러 사이트에 걸쳐 있는 대규모 Active Directory에 매우 중요합니다. 이 전용 OU는 컴퓨터 개체 및 Windows 장애 조치(failover) 클러스터 CNO에만 필요합니다.
사용자(배포 사용자라고도 함)에는 전용 OU에 필요한 권한이 필요합니다. 사용자는 디렉터리의 아무 곳에나 상주할 수 있습니다.
그룹 정책 개체에서 오는 설정 충돌을 방지하려면 그룹 정책 상속을 차단해야 합니다. Azure Local 버전 23H2와 함께 도입된 새 엔진은 드리프트 보호를 비롯한 보안 기본값을 관리합니다. 자세한 내용은 Azure Local 버전 23H2에 대한 보안 기능을 참조하세요.
컴퓨터 계정 개체 및 클러스터 CNO는 배포 자체를 만드는 대신 배포 사용자를 사용하여 미리 만들 수 있습니다.
필요한 사용 권한
배포 사용자로 참조되는 사용자 개체에 필요한 권한은 전용 OU에만 적용되도록 범위가 지정됩니다. 권한은 BitLocker 복구 정보를 검색하는 기능을 사용하여 컴퓨터 개체를 읽고 만들고 삭제하는 것으로 요약할 수 있습니다.
다음은 배포 사용자에 필요한 권한과 OU 및 모든 하위 개체에 대한 클러스터 CNO를 포함하는 테이블입니다.
역할 | 할당된 권한에 대한 설명 |
---|---|
OU 및 모든 하위 개체를 통해 배포 사용자 | 콘텐츠를 나열합니다. 모든 속성을 읽습니다. 읽기 권한. 컴퓨터 개체를 만듭니다. 컴퓨터 개체를 삭제합니다. |
OU를 통해 배포 사용자이지만 하위 msFVE-Recoveryinformation 개체에만 적용됨 | 전체 컨트롤. 콘텐츠를 나열합니다. 모든 속성을 읽습니다. 모든 속성을 작성합니다. 삭제. 읽기 권한. 사용 권한을 수정합니다. 소유자를 수정합니다. 유효성이 검사된 모든 쓰기입니다. |
이 개체 및 모든 하위 개체에 적용된 OU를 통해 클러스터 CNO | 모든 속성을 읽습니다. 컴퓨터 개체를 만듭니다. |
PowerShell을 사용하여 권한 할당
PowerShell cmdlet을 사용하여 OU를 통해 배포 사용자에게 적절한 권한을 할당할 수 있습니다. 다음 예제에서는 Active Directory 도메인 contoso.com 상주하는 OU HCI001을 통해 배포자에 필요한 권한을 할당하는 방법을 보여 줍니다.
참고 항목
스크립트를 사용하려면 Active Directory에서 사용자 개체 New-ADUser 및 OU 를 미리 작성해야 합니다. 그룹 정책 상속을 차단하는 방법에 대한 자세한 내용은 Set-GPInheritance를 참조 하세요.
다음 PowerShell cmdlet을 실행하여 Active Directory 모듈을 가져오고 필요한 권한을 할당합니다.
#Import required module
import-module ActiveDirectory
#Input parameters
$ouPath ="OU=HCI001,DC=contoso,DC=com"
$DeploymentUser="deploymentuser"
#Assign required permissions
$userSecurityIdentifier = Get-ADuser -Identity $Deploymentuser
$userSID = [System.Security.Principal.SecurityIdentifier] $userSecurityIdentifier.SID
$acl = Get-Acl -Path $ouPath
$userIdentityReference = [System.Security.Principal.IdentityReference] $userSID
$adRight = [System.DirectoryServices.ActiveDirectoryRights]::CreateChild -bor [System.DirectoryServices.ActiveDirectoryRights]::DeleteChild
$genericAllRight = [System.DirectoryServices.ActiveDirectoryRights]::GenericAll
$readPropertyRight = [System.DirectoryServices.ActiveDirectoryRights]::ReadProperty
$type = [System.Security.AccessControl.AccessControlType]::Allow
$inheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance]::All
$allObjectType = [System.Guid]::Empty
#Set computers object GUID, this is a well-known ID
$computersObjectType = [System.Guid]::New('bf967a86-0de6-11d0-a285-00aa003049e2')
#Set msFVE-RecoveryInformation GUID,this is a well-known ID
$msfveRecoveryGuid = [System.Guid]::New('ea715d30-8f53-40d0-bd1e-6109186d782c')
$rule1 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($userIdentityReference, $adRight, $type, $computersObjectType, $inheritanceType)
$rule2 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($userIdentityReference, $readPropertyRight, $type, $allObjectType , $inheritanceType)
$rule3 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($userIdentityReference, $genericAllRight, $type, $inheritanceType, $msfveRecoveryGuid)
$acl.AddAccessRule($rule1)
$acl.AddAccessRule($rule2)
$acl.AddAccessRule($rule3)
Set-Acl -Path $ouPath -AclObject $acl
필요한 DNS 레코드
DNS 서버가 보안 동적 업데이트를 지원하지 않는 경우 Azure 로컬 시스템을 배포하기 전에 필요한 DNS 레코드를 만들어야 합니다.
다음 표에는 필요한 DNS 레코드 및 형식이 포함되어 있습니다.
Object | Type |
---|---|
머신 이름 | 호스트 A |
클러스터 CNO | 호스트 A |
클러스터 VCO | 호스트 A |
참고 항목
Azure 로컬 시스템의 일부가 되는 모든 컴퓨터에는 DNS 레코드가 필요합니다.
예제 - DNS 레코드가 있는지 확인
DNS 레코드가 있는지 확인하려면 다음 명령을 실행합니다.
nslookup "machine name"
연결 해제 네임스페이스
연결되지 않은 네임스페이스는 하나 이상의 도메인 구성원 컴퓨터의 기본 DNS 접미사가 해당 Active Directory 도메인의 DNS 이름과 일치하지 않을 때 발생합니다. 예를 들어 컴퓨터의 DNS 이름이 corp.contoso.com 있지만 na.corp.contoso.com 이라는 Active Directory 도메인의 일부인 경우 연결되지 않은 네임스페이스를 사용합니다.
Azure Local 버전 23H2를 배포하기 전에 다음을 수행해야 합니다.
- 모든 노드의 관리 어댑터에 DNS 접미사를 추가합니다.
- 호스트 이름을 Active Directory의 FQDN으로 확인할 수 있는지 확인합니다.
예제 - DNS 접미사 추가
DNS 접미사를 추가하려면 다음 명령을 실행합니다.
Set-DnsClient -InterfaceIndex 12 -ConnectionSpecificSuffix "na.corp.contoso.com"
예제 - 호스트 이름을 FQDN으로 확인
호스트 이름을 FQDN으로 확인하려면 다음 명령을 실행합니다.
nslookup node1.na.corp.contoso.com
참고 항목
그룹 정책을 사용하여 Azure Local 버전 23H2로 DNS 접미사 목록을 구성할 수 없습니다.
CAU(클러스터 인식 업데이트)
클러스터 인식 업데이트는 DNS 레코드가 필요한 클라이언트 액세스 지점(가상 컴퓨터 개체)을 적용합니다.
동적 보안 업데이트가 불가능한 환경에서는 VCO(가상 컴퓨터 개체)를 수동으로 만들어야 합니다. VCO를 만드는 방법에 대한 자세한 내용은 Active Directory 도메인 Services에서 클러스터 컴퓨터 개체 사전 준비를 참조하세요.
참고 항목
Windows DNS 클라이언트에서 동적 DNS 업데이트를 사용하지 않도록 설정해야 합니다. 이 설정은 드리프트 컨트롤에 의해 보호되며 네트워크 ATC에 기본 제공됩니다. 드리프트 롤백을 방지하기 위해 동적 업데이트를 사용하지 않도록 설정한 직후 VCO를 만듭니다. 이 보호된 설정을 변경하는 방법에 대한 자세한 내용은 보안 기본값 수정을 참조 하세요.
예제 – 동적 업데이트 사용 안 함
동적 업데이트를 사용하지 않도록 설정하려면 다음 명령을 실행합니다.
Get-NetAdapter "vManagement*"|Set-DnsClient -RegisterThisConnectionsAddress $false
다음 단계
다음을 진행합니다.