Tworzenie domeny zarządzanej usług Microsoft Entra Domain Services przy użyciu szablonu usługi Azure Resource Manager

Microsoft Entra Domain Services udostępnia zarządzane usługi domenowe, takie jak przyłączenie do domeny, zasady grupy, LDAP, uwierzytelnianie Kerberos/NTLM, które jest w pełni zgodne z usługą Active Directory systemu Windows Server. Te usługi domenowe są używane bez samodzielnego wdrażania kontrolerów domeny, zarządzania nimi i stosowania poprawek. Usługi Domain Services integrują się z istniejącą dzierżawą firmy Microsoft Entra. Ta integracja umożliwia użytkownikom logowanie się przy użyciu poświadczeń firmowych, a także zabezpieczanie dostępu do zasobów przy użyciu istniejących grup i kont użytkowników.

W tym artykule pokazano, jak utworzyć domenę zarządzaną przy użyciu szablonu usługi Azure Resource Manager. Zasoby pomocnicze są tworzone przy użyciu programu Azure PowerShell.

Wymagania wstępne

Do ukończenia tego artykułu potrzebne są następujące zasoby:

Wymagania dotyczące nazewnictwa DNS

Podczas tworzenia domeny zarządzanej usług domenowych należy określić nazwę DNS. Podczas wybierania tej nazwy DNS należy wziąć pod uwagę pewne zagadnienia:

  • Wbudowana nazwa domeny: domyślnie jest używana wbudowana nazwa domeny katalogu (sufiks .onmicrosoft.com ). Jeśli chcesz włączyć bezpieczny dostęp LDAP do domeny zarządzanej przez Internet, nie możesz utworzyć certyfikatu cyfrowego w celu zabezpieczenia połączenia z tą domeną domyślną. Firma Microsoft jest właścicielem domeny .onmicrosoft.com , więc urząd certyfikacji nie wystawia certyfikatu.
  • Niestandardowe nazwy domen: najpopularniejszym podejściem jest określenie niestandardowej nazwy domeny, zazwyczaj takiej, której już jesteś właścicielem, i jest routingiem. Jeśli używasz routingu, domena niestandardowa, ruch może prawidłowo przepływać zgodnie z potrzebami w celu obsługi aplikacji.
  • Sufiksy domeny niezwiązane z routingiem: zwykle zaleca się unikanie nieroutable sufiksu nazwy domeny, takiego jak contoso.local. Sufiks lokalny nie jest routingiem i może powodować problemy z rozpoznawaniem nazw DNS.

Napiwek

Jeśli tworzysz niestandardową nazwę domeny, zadbaj o istniejące przestrzenie nazw DNS. Zaleca się użycie nazwy domeny niezależnie od istniejącej przestrzeni nazw DNS platformy Azure lub lokalnej.

Jeśli na przykład masz istniejącą przestrzeń nazw DNS contoso.com, utwórz domenę zarządzaną z niestandardową nazwą domeny aaddscontoso.com. Jeśli musisz użyć protokołu Secure LDAP, musisz zarejestrować i posiadać tę niestandardową nazwę domeny, aby wygenerować wymagane certyfikaty.

Może być konieczne utworzenie dodatkowych rekordów DNS dla innych usług w środowisku lub warunkowych usług przesyłania dalej DNS między istniejącymi przestrzeniami nazw DNS w środowisku. Jeśli na przykład uruchamiasz serwer internetowy hostujący witrynę przy użyciu głównej nazwy DNS, mogą występować konflikty nazewnictwa, które wymagają dodatkowych wpisów DNS.

W tym przykładzie i artykułach z instrukcjami domena niestandardowa aaddscontoso.com jest używana jako krótki przykład. We wszystkich poleceniach określ własną nazwę domeny.

Obowiązują również następujące ograniczenia nazw DNS:

  • Ograniczenia prefiksu domeny: nie można utworzyć domeny zarządzanej z prefiksem dłuższym niż 15 znaków. Prefiks określonej nazwy domeny (na przykład aaddscontoso w nazwie domeny aaddscontoso.com ) musi zawierać 15 lub mniej znaków.
  • Konflikty nazw sieci: nazwa domeny DNS dla domeny zarządzanej nie powinna jeszcze istnieć w sieci wirtualnej. W szczególności sprawdź następujące scenariusze, które mogłyby prowadzić do konfliktu nazw.
    • Jeśli masz już domenę usługi Active Directory o tej samej nazwie domeny DNS w sieci wirtualnej platformy Azure.
    • Jeśli sieć wirtualna, w której planujesz włączyć domenę zarządzaną, ma połączenie sieci VPN z siecią lokalną. W tym scenariuszu upewnij się, że nie masz domeny o tej samej nazwie domeny DNS w sieci lokalnej.
    • Jeśli masz istniejącą usługę w chmurze platformy Azure o tej nazwie w sieci wirtualnej platformy Azure.

Tworzenie wymaganych zasobów firmy Microsoft Entra

Usługi Domain Services wymagają jednostki usługi i grupy Microsoft Entra. Te zasoby umożliwiają domenie zarządzanej synchronizowanie danych i definiowanie użytkowników z uprawnieniami administracyjnymi w domenie zarządzanej.

Najpierw zarejestruj dostawcę zasobów microsoft Entra Domain Services przy użyciu polecenia cmdlet Register-AzResourceProvider :

Register-AzResourceProvider -ProviderNamespace Microsoft.AAD

Utwórz jednostkę usługi Microsoft Entra przy użyciu polecenia cmdlet New-MgServicePrincipal dla usług domenowych w celu komunikowania się i uwierzytelniania. Określony identyfikator aplikacji jest używany o nazwie Usługi kontrolera domeny o identyfikatorze 2565bd9d-da50-47d4-8b85-4c97f669dc36 dla globalnej platformy Azure. W przypadku innych chmur platformy Azure wyszukaj wartość AppId 6ba9a5d4-8456-4118-b521-9c5ca10cdf84.

New-MgServicePrincipal

Teraz utwórz grupę Entra firmy Microsoft o nazwie AAD DC Administracja istrators przy użyciu polecenia cmdlet New-MgGroup. Użytkownicy dodani do tej grupy otrzymują uprawnienia do wykonywania zadań administracyjnych w domenie zarządzanej.

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

Po utworzeniu grupy Administracja istrators kontrolera domeny usługi AAD dodaj użytkownika do grupy przy użyciu polecenia cmdlet New-MgGroupMember. Najpierw pobierz identyfikator obiektu grupy kontrolera domeny usługi AAD Administracja istrators przy użyciu polecenia cmdlet Get-MgGroup, a następnie identyfikator obiektu żądanego użytkownika przy użyciu polecenia cmdlet Get-MgUser.

W poniższym przykładzie identyfikator obiektu użytkownika dla konta z nazwą UPN .admin@contoso.onmicrosoft.com Zastąp to konto użytkownika nazwą UPN użytkownika, który chcesz dodać do grupy kontrolerów domeny usługi AAD Administracja istrators:

# 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

Na koniec utwórz grupę zasobów przy użyciu polecenia cmdlet New-AzResourceGroup . W poniższym przykładzie grupa zasobów nosi nazwę myResourceGroup i jest tworzona w regionie westus . Użyj własnej nazwy i żądanego regionu:

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

Jeśli wybierzesz region obsługujący Strefy dostępności, zasoby usług domenowych są dystrybuowane między strefami w celu uzyskania większej nadmiarowości. Strefy dostępności to unikatowe fizyczne lokalizacje w regionie świadczenia usługi Azure. Każda strefa składa się z co najmniej jednego centrum danych wyposażonego w niezależne zasilanie, chłodzenie i sieć. W celu zapewnienia odporności istnieją co najmniej trzy osobne strefy we wszystkich włączonych regionach.

Nie ma nic do skonfigurowania, aby usługi Domain Services były dystrybuowane między strefami. Platforma Azure automatycznie obsługuje dystrybucję stref zasobów. Aby uzyskać więcej informacji i wyświetlić dostępność regionów, zobacz Co to są Strefy dostępności na platformie Azure?.

Definicja zasobu dla usług Domain Services

W ramach definicji zasobu usługi Resource Manager wymagane są następujące parametry konfiguracji:

Parametr Wartość
Nazwa_domeny Nazwa domeny DNS dla domeny zarządzanej, biorąc pod uwagę poprzednie punkty nazewnictwa prefiksów i konfliktów.
filteredSync Usługi Domain Services umożliwiają synchronizowanie wszystkich użytkowników i grup dostępnych w usłudze Microsoft Entra ID lub synchronizacji w zakresie tylko określonych grup.

Aby uzyskać więcej informacji na temat synchronizacji w zakresie, zobacz Synchronizacja w zakresie usług Microsoft Entra Domain Services.
powiadomienie Ustawienia Jeśli w domenie zarządzanej są generowane alerty, powiadomienia e-mail mogą być wysyłane.

Administratorzy globalni dzierżawy platformy Azure i członków grupy Administracja istratorów kontrolera domeny usługi AAD mogą być włączone dla tych powiadomień.

W razie potrzeby możesz dodać innych adresatów do powiadomień, gdy istnieją alerty wymagające uwagi.
domainConfigurationType Domyślnie domena zarządzana jest tworzona jako las użytkownika . Ten typ lasu synchronizuje wszystkie obiekty z identyfikatora Entra firmy Microsoft, w tym wszystkie konta użytkowników utworzone w lokalnym środowisku usług AD DS. Nie musisz określać wartości domainConfiguration w celu utworzenia lasu użytkownika.

Las zasobów synchronizuje tylko użytkowników i grupy utworzone bezpośrednio w usłudze Microsoft Entra ID. Ustaw wartość ResourceTrusting , aby utworzyć las zasobów.

Aby uzyskać więcej informacji na temat lasów zasobów , w tym dlaczego można ich używać i jak tworzyć relacje zaufania lasu z lokalnymi domenami usług AD DS, zobacz Omówienie lasów zasobów usług Domenowych.

Poniższa definicja parametrów skondensowanych pokazuje, jak te wartości są deklarowane. Las użytkownika o nazwie aaddscontoso.com jest tworzony z wszystkimi użytkownikami z identyfikatora Entra firmy Microsoft zsynchronizowanym z domeną zarządzaną:

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

Następujący skrócony typ zasobu szablonu usługi Resource Manager jest następnie używany do definiowania i tworzenia domeny zarządzanej. Sieć wirtualna i podsieć platformy Azure muszą już istnieć lub zostać utworzone w ramach szablonu usługi Resource Manager. Domena zarządzana jest połączona z tą podsiecią.

"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')]"
        }
    },
    [...]
]

Te parametry i typ zasobu mogą służyć jako część szerszego szablonu usługi Resource Manager do wdrożenia domeny zarządzanej, jak pokazano w poniższej sekcji.

Tworzenie domeny zarządzanej przy użyciu przykładowego szablonu

Poniższy kompletny przykładowy szablon usługi Resource Manager tworzy domenę zarządzaną oraz pomocnicze reguły sieci wirtualnej, podsieci i sieciowej grupy zabezpieczeń. Reguły sieciowej grupy zabezpieczeń są wymagane do zabezpieczenia domeny zarządzanej i upewnij się, że ruch może przepływać poprawnie. Zostanie utworzony las użytkownika o nazwie DNS aaddscontoso.com ze wszystkimi użytkownikami zsynchronizowanymi z identyfikatorem Entra firmy Microsoft:

{
    "$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": {}
}

Ten szablon można wdrożyć przy użyciu preferowanej metody wdrażania, takiej jak centrum administracyjne firmy Microsoft Entra, program Azure PowerShell lub potok ciągłej integracji/ciągłego wdrażania. W poniższym przykładzie użyto polecenia cmdlet New-AzResourceGroupDeployment . Określ własną nazwę grupy zasobów i nazwę pliku szablonu:

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

Utworzenie zasobu i zwrócenie kontroli do wiersza polecenia programu PowerShell może potrwać kilka minut. Domena zarządzana nadal jest aprowizowana w tle i może upłynąć do godziny, aby ukończyć wdrożenie. W centrum administracyjnym firmy Microsoft Entra na stronie Przegląd domeny zarządzanej jest wyświetlany bieżący stan na tym etapie wdrażania.

Gdy centrum administracyjne firmy Microsoft Entra pokazuje, że domena zarządzana zakończy aprowizację, należy wykonać następujące zadania:

  • Zaktualizuj ustawienia DNS dla sieci wirtualnej, aby maszyny wirtualne mogły znaleźć domenę zarządzaną na potrzeby przyłączania do domeny lub uwierzytelniania.
    • Aby skonfigurować usługę DNS, wybierz domenę zarządzaną w portalu. W oknie Przegląd zostanie wyświetlony monit o automatyczne skonfigurowanie tych ustawień DNS.
  • Włącz synchronizację haseł w usługach Domain Services , aby użytkownicy końcowi mogli logować się do domeny zarządzanej przy użyciu poświadczeń firmowych.

Następne kroki

Aby wyświetlić domenę zarządzaną w akcji, możesz dołączyć do domeny maszynę wirtualną z systemem Windows, skonfigurować bezpieczny protokół LDAP i skonfigurować synchronizację skrótów haseł.