Azure Resource Manager şablonu kullanarak Microsoft Entra Domain Services yönetilen etki alanı oluşturma

Microsoft Entra Domain Services, Windows Server Active Directory ile tam uyumlu etki alanına katılma, grup ilkesi, LDAP, Kerberos/NTLM kimlik doğrulaması gibi yönetilen etki alanı hizmetleri sağlar. Etki alanı denetleyicilerini kendiniz dağıtmadan, yönetmeden ve düzeltme eki uygulamadan bu etki alanı hizmetlerini kullanırsınız. Domain Services, mevcut Microsoft Entra kiracınızla tümleştirilir. 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 Resource Manager şablonu kullanarak yönetilen etki alanı oluşturma adımları gösterilmektedir. Destekleyici kaynaklar Azure PowerShell kullanılarak oluşturulur.

Önkoşullar

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

DNS adlandırma gereksinimleri

Etki Alanı Hizmetleri tarafından yönetilen bir etki alanı oluşturduğunuzda, bir DNS adı belirtirsiniz. Bu DNS adını seçtiğinizde dikkat edilmesi gereken bazı noktalar vardır:

  • Yerleşik etki alanı adı: Varsayılan olarak, dizinin yerleşik etki alanı adı kullanılır ( .onmicrosoft.com soneki). İnternet üzerinden yönetilen etki alanına güvenli LDAP erişimini etkinleştirmek istiyorsanız, bu varsayılan etki alanıyla bağlantının güvenliğini sağlamak için dijital sertifika oluşturamazsınız. .onmicrosoft.com etki alanının sahibi Microsoft olduğundan, Sertifika Yetkilisi (CA) sertifika vermez.
  • Özel etki alanı adları: En yaygın yaklaşım, genellikle sahip olduğunuz ve yönlendirilebilir bir özel etki alanı adı belirtmektir. Yönlendirilebilir, özel bir etki alanı kullandığınızda, uygulamalarınızı desteklemek için gereken trafik doğru şekilde akabilir.
  • Yönlendirilemeyen etki alanı sonekleri: Genellikle contoso.local gibi yönlendirilemez bir etki alanı adı sonekini önlemenizi öneririz. .local soneki yönlendirilebilir değildir ve DNS çözümlemesiyle ilgili sorunlara neden olabilir.

İpucu

Özel bir etki alanı adı oluşturursanız mevcut DNS ad alanlarıyla ilgilenin. Mevcut Azure veya şirket içi DNS ad alanından ayrı bir etki alanı adı kullanmanız önerilir.

Örneğin, contoso.com dns ad alanınız varsa, aaddscontoso.com özel etki alanı adıyla yönetilen bir etki alanı oluşturun. Güvenli LDAP kullanmanız gerekiyorsa, gerekli sertifikaları oluşturmak için bu özel etki alanı adına kaydolmanız ve sahip olmanız gerekir.

Ortamınızdaki diğer hizmetler için bazı ek DNS kayıtları veya ortamınızdaki mevcut DNS ad alanları arasında koşullu DNS ileticileri oluşturmanız gerekebilir. Örneğin, kök DNS adını kullanarak bir siteyi barındıran bir web sunucusu çalıştırırsanız, ek DNS girişleri gerektiren adlandırma çakışmaları olabilir.

Bu örnek ve nasıl yapılır makalelerinde, kısa bir örnek olarak aaddscontoso.com özel etki alanı kullanılır. Tüm komutlarda kendi etki alanı adınızı belirtin.

Aşağıdaki DNS adı kısıtlamaları da geçerlidir:

  • Etki alanı ön eki kısıtlamaları: Ön eki 15 karakterden uzun olan yönetilen bir etki alanı oluşturamazsınız. Belirtilen etki alanı adınızın ön eki (aaddscontoso.com etki alanı adında aaddscontoso gibi) 15 veya daha az karakter içermelidir.
  • Ağ adı çakışmaları: Yönetilen etki alanınızın DNS etki alanı adı sanal ağda zaten bulunmamalıdır. Özellikle, ad çakışmasına yol açabilecek aşağıdaki senaryoları denetleyin.
    • Azure sanal ağında aynı DNS etki alanı adına sahip bir Active Directory etki alanınız zaten varsa.
    • Yönetilen etki alanını etkinleştirmeyi planladığınız sanal ağın şirket içi ağınızla vpn bağlantısı varsa. Bu senaryoda, şirket içi ağınızda aynı DNS etki alanı adına sahip bir etki alanınızın olmadığından emin olun.
    • Azure sanal ağında bu ada sahip mevcut bir Azure bulut hizmetiniz varsa.

Gerekli Microsoft Entra kaynaklarını oluşturma

Etki Alanı Hizmetleri için bir hizmet sorumlusu ve bir Microsoft Entra grubu gerekir. Bu kaynaklar yönetilen etki alanının verileri eşitlemesine olanak sağlar ve yönetilen etki alanında hangi kullanıcıların yönetici izinlerine sahip olduğunu tanımlar.

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

Register-AzResourceProvider -ProviderNamespace Microsoft.AAD

Etki Alanı Hizmetleri'nin iletişim kurması ve kimliğini doğrulaması için New-MgServicePrincipal cmdlet'ini kullanarak bir Microsoft Entra hizmet sorumlusu oluşturun. Azure Global için 2565bd9d-da50-47d4-8b85-4c97f669dc36 kimlikli Etki Alanı Denetleyicisi Hizmetleri adlı belirli bir uygulama kimliği kullanılır. Diğer Azure bulutları için 6ba9a5d4-8456-4118-b521-9c5ca10cdf84 AppId değerini arayın.

New-MgServicePrincipal

Şimdi New-MgGroup cmdlet'ini kullanarak AAD DC Yönetici istrators adlı bir Microsoft Entra 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.

New-MgGroup -DisplayName "AAD DC Administrators" `
  -Description "Delegated group to administer Microsoft Entra Domain Services" `
  -SecurityEnabled:$true -MailEnabled:$false `
  -MailNickName "AADDCAdministrators"

AAD DC Yönetici istrators grubu oluşturulduğunda, New-MgGroupMember cmdlet'ini kullanarak gruba bir kullanıcı ekleyin. Önce Get-MgGroup cmdlet'ini kullanarak AAD DC Yönetici istrators grup nesnesi kimliğini, ardından Get-MgUser cmdlet'ini kullanarak istediğiniz kullanıcının nesne kimliğini alırsınız.

Aşağıdaki örnekte, UPN'si admin@contoso.onmicrosoft.comolan hesabın kullanıcı nesne kimliği. Bu kullanıcı hesabını AAD DC Yönetici istrators grubuna eklemek istediğiniz kullanıcının UPN'siyle değiştirin:

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

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

# Add the user to the 'AAD DC Administrators' group.
New-MgGroupMember -GroupId $GroupObjectId.Id -DirectoryObjectId $UserObjectId.Id

Son olarak, 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:

New-AzResourceGroup `
  -Name "myResourceGroup" `
  -Location "WestUS"

Kullanılabilirlik Alanları destekleyen bir bölge seçerseniz, Etki Alanı Hizmetleri kaynakları daha fazla 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.

Etki Alanı Hizmetleri'nin bölgeler arasında dağıtılması için yapılandırabileceğiniz 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?.

Etki Alanı Hizmetleri için kaynak tanımı

Resource Manager kaynak tanımının bir parçası olarak aşağıdaki yapılandırma parametreleri gereklidir:

Parametre Value
Etkialanıadı Ön ekleri ve çakışmaları adlandırmayla ilgili önceki noktaları dikkate alarak yönetilen etki alanınızın DNS etki alanı adı.
filteredSync Etki Alanı Hizmetleri, Microsoft Entra Id'de kullanılabilen tüm kullanıcıları ve grupları veya yalnızca belirli grupların kapsamlı eşitlemesini eşitlemenize olanak tanır.

Kapsamlı eşitleme hakkında daha fazla bilgi için bkz . Microsoft Entra Domain Services kapsamlı eşitleme.
bildirim Ayarlar Yönetilen etki alanında oluşturulan uyarılar varsa, e-posta bildirimleri gönderilebilir.

Azure kiracısının genel yöneticileri ve AAD DC Yönetici istrators grubunun üyeleri bu bildirimler için etkinleştirilebilir.

İsterseniz, dikkat gerektiren uyarılar olduğunda bildirimler için başka alıcılar ekleyebilirsiniz.
domainConfigurationType Varsayılan olarak, yönetilen bir etki alanı Kullanıcı ormanı olarak oluşturulur. Bu orman türü, şirket içi AD DS ortamında oluşturulan tüm kullanıcı hesapları da dahil olmak üzere Microsoft Entra Id'deki tüm nesneleri eşitler. Kullanıcı ormanı oluşturmak için domainConfiguration değeri belirtmeniz gerekmez.

Kaynak ormanı yalnızca doğrudan Microsoft Entra Id'de oluşturulan kullanıcıları ve grupları eşitler. Kaynak ormanı oluşturmak için değerini ResourceTrusting olarak ayarlayın.

Kaynak ormanları hakkında neden kullanabileceğiniz ve şirket içi AD DS etki alanlarıyla orman güvenleri oluşturma dahil olmak üzere daha fazla bilgi için bkz. Etki Alanı Hizmetleri kaynak ormanlarına genel bakış.

Aşağıdaki daraltılmış parametreler tanımı, bu değerlerin nasıl bildirilmiş olduğunu gösterir. Aaddscontoso.com adlı bir kullanıcı ormanı, Microsoft Entra Id'den yönetilen etki alanına eşitlenmiş tüm kullanıcılarla oluşturulur:

"parameters": {
    "domainName": {
        "value": "aaddscontoso.com"
    },
    "filteredSync": {
        "value": "Disabled"
    },
    "notificationSettings": {
        "value": {
            "notifyGlobalAdmins": "Enabled",
            "notifyDcAdmins": "Enabled",
            "additionalRecipients": []
        }
    },
    [...]
}

Daha sonra yönetilen etki alanını tanımlamak ve oluşturmak için aşağıdaki daraltılmış Resource Manager şablonu kaynak türü kullanılır. Bir Azure sanal ağı ve alt ağın zaten mevcut olması veya Resource Manager şablonunun bir parçası olarak oluşturulması gerekir. Yönetilen etki alanı bu alt ağa bağlıdır.

"resources": [
    {
        "apiVersion": "2017-06-01",
        "type": "Microsoft.AAD/DomainServices",
        "name": "[parameters('domainName')]",
        "location": "[parameters('location')]",
        "dependsOn": [
            "[concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'))]"
        ],
        "properties": {
            "domainName": "[parameters('domainName')]",
            "subnetId": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', parameters('vnetName'), '/subnets/', parameters('subnetName'))]",
            "filteredSync": "[parameters('filteredSync')]",
            "notificationSettings": "[parameters('notificationSettings')]"
        }
    },
    [...]
]

Bu parametreler ve kaynak türü, aşağıdaki bölümde gösterildiği gibi yönetilen bir etki alanı dağıtmak için daha geniş bir Resource Manager şablonunun parçası olarak kullanılabilir.

Örnek şablon kullanarak yönetilen etki alanı oluşturma

Aşağıdaki eksiksiz Resource Manager örnek şablonu, yönetilen bir etki alanı ve destekleyici sanal ağ, alt ağ ve ağ güvenlik grubu kuralları oluşturur. Ağ güvenlik grubu kuralları, yönetilen etki alanının güvenliğini sağlamak ve trafiğin doğru şekilde akabildiğinden emin olmak için gereklidir. Aaddscontoso.com DNS adına sahip bir kullanıcı ormanı oluşturulur ve tüm kullanıcılar Microsoft Entra Kimliği'nden eşitlenir:

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "apiVersion": {
            "value": "2017-06-01"
        },
        "domainConfigurationType": {
            "value": "FullySynced"
        },
        "domainName": {
            "value": "aaddscontoso.com"
        },
        "filteredSync": {
            "value": "Disabled"
        },
        "location": {
            "value": "westus"
        },
        "notificationSettings": {
            "value": {
                "notifyGlobalAdmins": "Enabled",
                "notifyDcAdmins": "Enabled",
                "additionalRecipients": []
            }
        },
        "subnetName": {
            "value": "aadds-subnet"
        },
        "vnetName": {
            "value": "aadds-vnet"
        },
        "vnetAddressPrefixes": {
            "value": [
                "10.1.0.0/24"
            ]
        },
        "subnetAddressPrefix": {
            "value": "10.1.0.0/24"
        },
        "nsgName": {
            "value": "aadds-nsg"
        }
    },
    "resources": [
        {
            "apiVersion": "2017-06-01",
            "type": "Microsoft.AAD/DomainServices",
            "name": "[parameters('domainName')]",
            "location": "[parameters('location')]",
            "dependsOn": [
                "[concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'))]"
            ],
            "properties": {
                "domainName": "[parameters('domainName')]",
                "subnetId": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', parameters('vnetName'), '/subnets/', parameters('subnetName'))]",
                "filteredSync": "[parameters('filteredSync')]",
                "domainConfigurationType": "[parameters('domainConfigurationType')]",
                "notificationSettings": "[parameters('notificationSettings')]"
            }
        },
        {
            "type": "Microsoft.Network/NetworkSecurityGroups",
            "name": "[parameters('nsgName')]",
            "location": "[parameters('location')]",
            "properties": {
                "securityRules": [
                    {
                        "name": "AllowSyncWithAzureAD",
                        "properties": {
                            "access": "Allow",
                            "priority": 101,
                            "direction": "Inbound",
                            "protocol": "Tcp",
                            "sourceAddressPrefix": "AzureActiveDirectoryDomainServices",
                            "sourcePortRange": "*",
                            "destinationAddressPrefix": "*",
                            "destinationPortRange": "443"
                        }
                    },
                    {
                        "name": "AllowPSRemoting",
                        "properties": {
                            "access": "Allow",
                            "priority": 301,
                            "direction": "Inbound",
                            "protocol": "Tcp",
                            "sourceAddressPrefix": "AzureActiveDirectoryDomainServices",
                            "sourcePortRange": "*",
                            "destinationAddressPrefix": "*",
                            "destinationPortRange": "5986"
                        }
                    },
                    {
                        "name": "AllowRD",
                        "properties": {
                            "access": "Allow",
                            "priority": 201,
                            "direction": "Inbound",
                            "protocol": "Tcp",
                            "sourceAddressPrefix": "CorpNetSaw",
                            "sourcePortRange": "*",
                            "destinationAddressPrefix": "*",
                            "destinationPortRange": "3389"
                        }
                    }
                ]
            },
            "apiVersion": "2018-04-01"
        },
        {
            "type": "Microsoft.Network/virtualNetworks",
            "name": "[parameters('vnetName')]",
            "location": "[parameters('location')]",
            "apiVersion": "2018-04-01",
            "dependsOn": [
                "[concat('Microsoft.Network/NetworkSecurityGroups/', parameters('nsgName'))]"
            ],
            "properties": {
                "addressSpace": {
                    "addressPrefixes": "[parameters('vnetAddressPrefixes')]"
                },
                "subnets": [
                    {
                        "name": "[parameters('subnetName')]",
                        "properties": {
                            "addressPrefix": "[parameters('subnetAddressPrefix')]",
                            "networkSecurityGroup": {
                                "id": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/NetworkSecurityGroups/', parameters('nsgName'))]"
                            }
                        }
                    }
                ]
            }
        }
    ],
    "outputs": {}
}

Bu şablon Microsoft Entra yönetim merkezi, Azure PowerShell veya CI/CD işlem hattı gibi tercih ettiğiniz dağıtım yöntemi kullanılarak dağıtılabilir. Aşağıdaki örnek New-AzResourceGroupDeployment cmdlet'ini kullanır. Kendi kaynak grubu adınızı ve şablon dosya adınızı belirtin:

New-AzResourceGroupDeployment -ResourceGroupName "myResourceGroup" -TemplateFile <path-to-template>

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 saate kadar sürebilir. Microsoft Entra yönetim merkezinde, yönetilen etki alanınızın Genel Bakış sayfası bu dağıtım aşaması boyunca geçerli durumu gösterir.

Microsoft Entra yönetim merkezi yönetilen etki alanının sağlamayı tamamlandığını gösterdiğinde, aşağıdaki görevlerin tamamlanması gerekir:

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'yi yapılandırabilir ve parola karması eşitlemesini yapılandırabilirsiniz.