PowerShell kullanarak Azure Active Directory Domain Services etkinleştirme

Azure Active Directory Domain Services (Azure AD DS), Windows Server Active Directory ile tamamen uyumlu olan etki alanına katılma, grup ilkesi, LDAP, Kerberos/NTLM kimlik doğrulaması gibi yönetilen etki alanı hizmetleri sağlar. Bu etki alanı hizmetlerini, etki alanı denetleyicilerini kendiniz dağıtmadan, yönetmeden ve düzeltme eki uygulamadan kullanırsınız. Azure AD DS, mevcut Azure AD kiracınızla tümleşir. Bu tümleştirme kullanıcıların kurumsal kimlik bilgilerini kullanarak oturum açmasına olanak tanır ve kaynaklara erişimin güvenliğini sağlamak için mevcut grupları ve kullanıcı hesaplarını kullanabilirsiniz.

Bu makalede, Azure AD DS'yi PowerShell kullanarak nasıl etkinleştirileceği gösterilmektedir.

Not

Azure ile etkileşime geçmek için Azure Az PowerShell modülü önerilir. Başlamak için bkz. Azure PowerShell yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Önkoşullar

Bu makaleyi tamamlamak için aşağıdaki kaynaklara ihtiyacınız vardır:

  • Azure PowerShell'i yükleyip yapılandırın.

  • Azure AD PowerShell'i yükleyin ve yapılandırın.

  • Azure AD DS'yi etkinleştirmek için Azure AD kiracınızda genel yönetici ayrıcalıklarına sahip olmanız gerekir.

  • Gerekli Azure AD DS kaynaklarını oluşturmak için Azure aboneliğinizde Katkıda Bulunan ayrıcalıklarına sahip olmanız gerekir.

    Önemli

    Az.ADDomainServices PowerShell modülü önizleme aşamasındayken, cmdlet'ini Install-Module kullanarak bunu ayrı olarak yüklemeniz gerekir.

    Install-Module -Name Az.ADDomainServices
    

Gerekli Azure AD kaynakları oluşturma

Azure AD DS için kimlik doğrulaması ve iletişim kurmak için bir hizmet sorumlusu ve yönetilen etki alanında hangi kullanıcıların yönetici izinlerine sahip olduğunu tanımlamak için bir Azure AD grubu gerekir.

İlk olarak, Etki Alanı Denetleyicisi Hizmetleri adlı belirli bir uygulama kimliğini kullanarak bir Azure AD hizmet sorumlusu oluşturun. Kimlik değeri, genel Azure için 2565bd9d-da50-47d4-8b85-4c97f669dc36 ve diğer Azure bulutları için 6ba9a5d4-8456-4118-b521-9c5ca10cdf84'dür . Bu uygulama kimliğini değiştirmeyin.

New-AzureADServicePrincipal cmdlet'ini kullanarak Azure AD hizmet sorumlusu oluşturun:

New-AzureADServicePrincipal -AppId "2565bd9d-da50-47d4-8b85-4c97f669dc36"

Şimdi AAD DC Administrators adlı bir Azure AD grubu oluşturun. Daha sonra bu gruba eklenen kullanıcılara yönetilen etki alanında yönetim görevlerini gerçekleştirme izinleri verilir.

İlk olarak Get-AzureADGroup cmdlet'ini kullanarak AAD DC Administrators grup nesne kimliğini alın. Grup yoksa New-AzureADGroup cmdlet'ini kullanarak AAD DC Administrators grubuyla oluşturun:

# First, retrieve the object ID of the 'AAD DC Administrators' group.
$GroupObjectId = Get-AzureADGroup `
  -Filter "DisplayName eq 'AAD DC Administrators'" | `
  Select-Object ObjectId

# If the group doesn't exist, create it
if (!$GroupObjectId) {
  $GroupObjectId = New-AzureADGroup -DisplayName "AAD DC Administrators" `
    -Description "Delegated group to administer Azure AD Domain Services" `
    -SecurityEnabled $true `
    -MailEnabled $false `
    -MailNickName "AADDCAdministrators"
  }
else {
  Write-Output "Admin group already exists."
}

AAD DC Administrators grubu oluşturulduktan sonra Get-AzureADUser cmdlet'ini kullanarak istenen kullanıcının nesne kimliğini alın, ardından Add-AzureADGroupMember cmdlet'ini kullanarak kullanıcıyı gruba ekleyin.

Aşağıdaki örnekte, upn admin@contoso.onmicrosoft.comdeğeri olan hesabın kullanıcı nesne kimliği. Bu kullanıcı hesabını AAD DC Administrators grubuna eklemek istediğiniz kullanıcının UPN'siyle değiştirin:

# Retrieve the object ID of the user you'd like to add to the group.
$UserObjectId = Get-AzureADUser `
  -Filter "UserPrincipalName eq 'admin@contoso.onmicrosoft.com'" | `
  Select-Object ObjectId

# Add the user to the 'AAD DC Administrators' group.
Add-AzureADGroupMember -ObjectId $GroupObjectId.ObjectId -RefObjectId $UserObjectId.ObjectId

Ağ kaynakları oluşturma

İlk olarak, Register-AzResourceProvider cmdlet'ini kullanarak Azure AD Domain Services kaynak sağlayıcısını kaydedin:

Register-AzResourceProvider -ProviderNamespace Microsoft.AAD

Ardından New-AzResourceGroup cmdlet'ini kullanarak bir kaynak grubu oluşturun. Aşağıdaki örnekte, kaynak grubu myResourceGroup olarak adlandırılır ve westus bölgesinde oluşturulur. Kendi adınızı ve istediğiniz bölgeyi kullanın:

$ResourceGroupName = "myResourceGroup"
$AzureLocation = "westus"

# Create the resource group.
New-AzResourceGroup `
  -Name $ResourceGroupName `
  -Location $AzureLocation

Azure AD Etki Alanı Hizmetleri için sanal ağı ve alt ağları oluşturun. Biri DomainServices ve diğeri İş Yükleri için olan iki alt ağ oluşturulur. Azure AD DS ayrılmış DomainServices alt aya dağıtılır. Bu alt ağa başka uygulamalar veya iş yükleri dağıtmayın. Vm'lerinizin geri kalanı için ayrı İş Yüklerini veya diğer alt ağları kullanın.

New-AzVirtualNetworkSubnetConfig cmdlet'ini kullanarak alt ağları oluşturun ve ardından New-AzVirtualNetwork cmdlet'ini kullanarak sanal ağı oluşturun.

$VnetName = "myVnet"

# Create the dedicated subnet for Azure AD Domain Services.
$SubnetName = "DomainServices"
$AaddsSubnet = New-AzVirtualNetworkSubnetConfig `
  -Name $SubnetName `
  -AddressPrefix 10.0.0.0/24

# Create an additional subnet for your own VM workloads
$WorkloadSubnet = New-AzVirtualNetworkSubnetConfig `
  -Name Workloads `
  -AddressPrefix 10.0.1.0/24

# Create the virtual network in which you will enable Azure AD Domain Services.
$Vnet= New-AzVirtualNetwork `
  -ResourceGroupName $ResourceGroupName `
  -Location westus `
  -Name $VnetName `
  -AddressPrefix 10.0.0.0/16 `
  -Subnet $AaddsSubnet,$WorkloadSubnet

Ağ güvenlik grubu oluşturma

Azure AD DS,yönetilen etki alanı için gereken bağlantı noktalarının güvenliğini sağlamak ve diğer tüm gelen trafiği engellemek için bir ağ güvenlik grubuna ihtiyaç duyar. Ağ güvenlik grubu (NSG), Azure sanal ağındaki trafiğe yönelik ağ trafiğine izin veren veya trafiği reddeden kuralların listesini içerir. Azure AD DS'de ağ güvenlik grubu, yönetilen etki alanına erişimi kilitlemek için ek bir koruma katmanı görevi görür. Gerekli bağlantı noktalarını görüntülemek için bkz . Ağ güvenlik grupları ve gerekli bağlantı noktaları.

Aşağıdaki PowerShell cmdlet'leri kuralları oluşturmak için New-AzNetworkSecurityRuleConfig , ağ güvenlik grubunu oluşturmak için New-AzNetworkSecurityGroup kullanır. Ağ güvenlik grubu ve kuralları daha sonra Set-AzVirtualNetworkSubnetConfig cmdlet'i kullanılarak sanal ağ alt ağıyla ilişkilendirilir.

$NSGName = "aaddsNSG"

# Create a rule to allow inbound TCP port 3389 traffic from Microsoft secure access workstations for troubleshooting
$nsg201 = New-AzNetworkSecurityRuleConfig -Name AllowRD `
    -Access Allow `
    -Protocol Tcp `
    -Direction Inbound `
    -Priority 201 `
    -SourceAddressPrefix CorpNetSaw `
    -SourcePortRange * `
    -DestinationAddressPrefix * `
    -DestinationPortRange 3389

# Create a rule to allow TCP port 5986 traffic for PowerShell remote management
$nsg301 = New-AzNetworkSecurityRuleConfig -Name AllowPSRemoting `
    -Access Allow `
    -Protocol Tcp `
    -Direction Inbound `
    -Priority 301 `
    -SourceAddressPrefix AzureActiveDirectoryDomainServices `
    -SourcePortRange * `
    -DestinationAddressPrefix * `
    -DestinationPortRange 5986

# Create the network security group and rules
$nsg = New-AzNetworkSecurityGroup -Name $NSGName `
    -ResourceGroupName $ResourceGroupName `
    -Location $AzureLocation `
    -SecurityRules $nsg201,$nsg301

# Get the existing virtual network resource objects and information
$vnet = Get-AzVirtualNetwork -Name $VnetName -ResourceGroupName $ResourceGroupName
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name $SubnetName
$addressPrefix = $subnet.AddressPrefix

# Associate the network security group with the virtual network subnet
Set-AzVirtualNetworkSubnetConfig -Name $SubnetName `
    -VirtualNetwork $vnet `
    -AddressPrefix $addressPrefix `
    -NetworkSecurityGroup $nsg
$vnet | Set-AzVirtualNetwork

Yönetilen etki alanı oluşturma

Şimdi yönetilen bir etki alanı oluşturalım. Azure abonelik kimliğinizi ayarlayın ve yönetilen etki alanı için aaddscontoso.com gibi bir ad sağlayın. Get-AzSubscription cmdlet'ini kullanarak abonelik kimliğinizi alabilirsiniz.

Kullanılabilirlik Alanları destekleyen bir bölge seçerseniz, Azure AD DS kaynakları yedeklilik için bölgeler arasında dağıtılır.

Kullanılabilirlik Alanları, Azure bölgesi içinde fiziksel olarak benzersiz konumlardır. Her alan bağımsız güç, soğutma ve ağ bağlantısı ile donatılmış bir veya daha fazla veri merkezinden oluşur. Dayanıklılığı güvence altına almak için etkinleştirilmiş tüm bölgelerde en az üç ayrı alan vardır.

Azure AD DS'nin bölgeler arasında dağıtılması için yapılandırabileceğiniz hiçbir şey yoktur. Azure platformu kaynakların bölge dağıtımını otomatik olarak işler. Daha fazla bilgi edinmek ve bölge kullanılabilirliğini görmek için bkz. Azure'da Kullanılabilirlik Alanları nedir?.

$AzureSubscriptionId = "YOUR_AZURE_SUBSCRIPTION_ID"
$ManagedDomainName = "aaddscontoso.com"

# Enable Azure AD Domain Services for the directory.
$replicaSetParams = @{
  Location = $AzureLocation
  SubnetId = "/subscriptions/$AzureSubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Network/virtualNetworks/$VnetName/subnets/DomainServices"
}
$replicaSet = New-AzADDomainServiceReplicaSet @replicaSetParams

$domainServiceParams = @{
  Name = $ManagedDomainName
  ResourceGroupName = $ResourceGroupName
  DomainName = $ManagedDomainName
  ReplicaSet = $replicaSet
}
New-AzADDomainService @domainServiceParams

Kaynağın oluşturulması ve denetimin PowerShell istemine döndürülmesi birkaç dakika sürer. Yönetilen etki alanının arka planda sağlanması devam eder ve dağıtımın tamamlanması bir saat kadar sürebilir. Azure portal, yönetilen etki alanınızın Genel Bakış sayfasında bu dağıtım aşaması boyunca geçerli durum gösterilir.

Azure portal yönetilen etki alanının sağlama işleminin tamamlandığını gösterdiğinde, aşağıdaki görevlerin tamamlanması gerekir:

  • Sanal makinelerin etki alanına katılma veya kimlik doğrulaması için yönetilen etki alanını bulabilmesi için sanal ağın DNS ayarlarını güncelleştirin.
    • DNS'yi yapılandırmak için portalda yönetilen etki alanınızı seçin. Genel Bakış penceresinde, bu DNS ayarlarını otomatik olarak yapılandırmanız istenir.
  • Son kullanıcıların şirket kimlik bilgilerini kullanarak yönetilen etki alanında oturum açabilmesi için DS'yi Azure AD için parola eşitlemeyi etkinleştirin.

Tam PowerShell betiği

Aşağıdaki tam PowerShell betiği, bu makalede gösterilen tüm görevleri birleştirir. Betiği kopyalayın ve uzantılı bir .ps1 dosyaya kaydedin. Azure Global için 2565bd9d-da50-47d4-8b85-4c97f669dc36 AppId değerini kullanın. Diğer Azure bulutları için 6ba9a5d4-8456-4118-b521-9c5ca10cdf84 AppId değerini kullanın. Betiği yerel bir PowerShell konsolunda veya Azure Cloud Shell çalıştırın.

Not

Azure AD DS'yi etkinleştirmek için Azure AD kiracısının genel yöneticisi olmanız gerekir. Ayrıca Azure aboneliğinde en az Katkıda Bulunan ayrıcalıklarına da ihtiyacınız vardır.

# Change the following values to match your deployment.
$AaddsAdminUserUpn = "admin@contoso.onmicrosoft.com"
$ResourceGroupName = "myResourceGroup"
$VnetName = "myVnet"
$AzureLocation = "westus"
$AzureSubscriptionId = "YOUR_AZURE_SUBSCRIPTION_ID"
$ManagedDomainName = "aaddscontoso.com"

# Connect to your Azure AD directory.
Connect-AzureAD

# Login to your Azure subscription.
Connect-AzAccount

# Create the service principal for Azure AD Domain Services.
New-AzureADServicePrincipal -AppId "2565bd9d-da50-47d4-8b85-4c97f669dc36"

# First, retrieve the object ID of the 'AAD DC Administrators' group.
$GroupObjectId = Get-AzureADGroup `
  -Filter "DisplayName eq 'AAD DC Administrators'" | `
  Select-Object ObjectId

# Create the delegated administration group for Azure AD Domain Services if it doesn't already exist.
if (!$GroupObjectId) {
  $GroupObjectId = New-AzureADGroup -DisplayName "AAD DC Administrators" `
    -Description "Delegated group to administer Azure AD Domain Services" `
    -SecurityEnabled $true `
    -MailEnabled $false `
    -MailNickName "AADDCAdministrators"
  }
else {
  Write-Output "Admin group already exists."
}

# Now, retrieve the object ID of the user you'd like to add to the group.
$UserObjectId = Get-AzureADUser `
  -Filter "UserPrincipalName eq '$AaddsAdminUserUpn'" | `
  Select-Object ObjectId

# Add the user to the 'AAD DC Administrators' group.
Add-AzureADGroupMember -ObjectId $GroupObjectId.ObjectId -RefObjectId $UserObjectId.ObjectId

# Register the resource provider for Azure AD Domain Services with Resource Manager.
Register-AzResourceProvider -ProviderNamespace Microsoft.AAD

# Create the resource group.
New-AzResourceGroup `
  -Name $ResourceGroupName `
  -Location $AzureLocation

# Create the dedicated subnet for AAD Domain Services.
$SubnetName = "DomainServices"
$AaddsSubnet = New-AzVirtualNetworkSubnetConfig `
  -Name DomainServices `
  -AddressPrefix 10.0.0.0/24

$WorkloadSubnet = New-AzVirtualNetworkSubnetConfig `
  -Name Workloads `
  -AddressPrefix 10.0.1.0/24

# Create the virtual network in which you will enable Azure AD Domain Services.
$Vnet=New-AzVirtualNetwork `
  -ResourceGroupName $ResourceGroupName `
  -Location $AzureLocation `
  -Name $VnetName `
  -AddressPrefix 10.0.0.0/16 `
  -Subnet $AaddsSubnet,$WorkloadSubnet

$NSGName = "aaddsNSG"

# Create a rule to allow inbound TCP port 3389 traffic from Microsoft secure access workstations for troubleshooting
$nsg201 = New-AzNetworkSecurityRuleConfig -Name AllowRD `
    -Access Allow `
    -Protocol Tcp `
    -Direction Inbound `
    -Priority 201 `
    -SourceAddressPrefix CorpNetSaw `
    -SourcePortRange * `
    -DestinationAddressPrefix * `
    -DestinationPortRange 3389

# Create a rule to allow TCP port 5986 traffic for PowerShell remote management
$nsg301 = New-AzNetworkSecurityRuleConfig -Name AllowPSRemoting `
    -Access Allow `
    -Protocol Tcp `
    -Direction Inbound `
    -Priority 301 `
    -SourceAddressPrefix AzureActiveDirectoryDomainServices `
    -SourcePortRange * `
    -DestinationAddressPrefix * `
    -DestinationPortRange 5986

# Create the network security group and rules
$nsg = New-AzNetworkSecurityGroup -Name $NSGName `
    -ResourceGroupName $ResourceGroupName `
    -Location $AzureLocation `
    -SecurityRules $nsg201,$nsg301

# Get the existing virtual network resource objects and information
$vnet = Get-AzVirtualNetwork -Name $VnetName -ResourceGroupName $ResourceGroupName
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name $SubnetName
$addressPrefix = $subnet.AddressPrefix

# Associate the network security group with the virtual network subnet
Set-AzVirtualNetworkSubnetConfig -Name $SubnetName `
    -VirtualNetwork $vnet `
    -AddressPrefix $addressPrefix `
    -NetworkSecurityGroup $nsg
$vnet | Set-AzVirtualNetwork

# Enable Azure AD Domain Services for the directory.
$replicaSetParams = @{
  Location = $AzureLocation
  SubnetId = "/subscriptions/$AzureSubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Network/virtualNetworks/$VnetName/subnets/DomainServices"
}
$replicaSet = New-AzADDomainServiceReplicaSet @replicaSetParams

$domainServiceParams = @{
  Name = $ManagedDomainName
  ResourceGroupName = $ResourceGroupName
  DomainName = $ManagedDomainName
  ReplicaSet = $replicaSet
}
New-AzADDomainService @domainServiceParams

Kaynağın oluşturulması ve denetimin PowerShell istemine döndürülmesi birkaç dakika sürer. Yönetilen etki alanının arka planda sağlanması devam eder ve dağıtımın tamamlanması bir saat kadar sürebilir. Azure portal, yönetilen etki alanınızın Genel Bakış sayfasında bu dağıtım aşaması boyunca geçerli durum gösterilir.

Azure portal yönetilen etki alanının sağlama işleminin tamamlandığını gösterdiğinde, aşağıdaki görevlerin tamamlanması gerekir:

  • Sanal makinelerin etki alanına katılma veya kimlik doğrulaması için yönetilen etki alanını bulabilmesi için sanal ağın DNS ayarlarını güncelleştirin.
    • DNS'yi yapılandırmak için portalda yönetilen etki alanınızı seçin. Genel Bakış penceresinde, bu DNS ayarlarını otomatik olarak yapılandırmanız istenir.
  • Son kullanıcıların şirket kimlik bilgilerini kullanarak yönetilen etki alanında oturum açabilmesi için DS'yi Azure AD için parola eşitlemeyi etkinleştirin.

Sonraki adımlar

Yönetilen etki alanını uygulamada görmek için bir Windows VM'sine etki alanına katılabilir, güvenli LDAP yapılandırabilir ve parola karması eşitlemesini yapılandırabilirsiniz.