Udostępnij za pośrednictwem


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 Twoją istniejącą dzierżawą 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: najczęstszym podejściem jest określenie niestandardowej nazwy domeny, zazwyczaj takiej, której już jesteś właścicielem i którą można kierować. Gdy używasz kierunkowalnej domeny niestandardowej, ruch może prawidłowo przepływać zgodnie z potrzebami, aby wspierać Twoje aplikacje.
  • Nieroutowalne sufiksy domen: Zalecamy zazwyczaj unikanie nieroutowalnego sufiksu domeny, takiego jak contoso.local. Sufiks .local nie jest routowalny i może powodować problemy z rozwiązywaniem 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ą 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 przekierowań 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 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.

Utwórz wymagane zasoby Microsoft Entra

Usługi domenowe 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 o nazwie Usługi kontrolera domeny jest używany z identyfikatorem 2565bd9d-da50-47d4-8b85-4c97f669dc36 dla usługi Azure Global. W przypadku innych chmur platformy Azure wyszukaj wartość AppId 6ba9a5d4-8456-4118-b521-9c5ca10cdf84.

New-MgServicePrincipal

Teraz utwórz grupę Microsoft Entra o nazwie AAD DC Administratorzy przy użyciu polecenia New-MgGroup cmdlet. 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 Administratorzy AAD DC, dodaj użytkownika do grupy za pomocą polecenia cmdlet New-MgGroupMemberByRef. Najpierw pobierz identyfikator obiektu grupy Administratorzy AAD DC za pomocą polecenia cmdlet Get-MgGroup, a następnie identyfikator obiektu wymaganego użytkownika za pomocą polecenia cmdlet Get-MgUser.

W poniższym przykładzie identyfikator obiektu użytkownika dla konta z UPNadmin@contoso.onmicrosoft.com. Zastąp te konto użytkownika nazwą UPN użytkownika, którego chcesz dodać do grupy AAD DC Administrators.

# 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 domenowych

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, uwzględniając wcześniejsze uwagi dotyczące prefiksów nazewnictwa i konfliktów.
synchronizacja filtrowana 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 zakresowej, zobacz Synchronizacja zakresowa usług Microsoft Entra Domain Services.
ustawienia powiadomień Jeśli w domenie zarządzanej są generowane alerty, powiadomienia e-mail mogą być wysyłane.

Administratorzy z wysokimi uprawnieniami w kliencie Entra ID firmy Microsoft oraz członkowie grupy administratorzy kontrolera domeny AAD mogą być włączeni dla tych powiadomień.

W razie potrzeby możesz dodać innych adresatów do powiadomień, gdy istnieją alerty wymagające uwagi.
typKonfiguracjiDomeny 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 podawać wartości domainConfiguration, aby utworzyć las użytkownika.

Las zasobów synchronizuje tylko użytkowników i grupy utworzone bezpośrednio w 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 warto z nich korzystać i jak tworzyć relacje zaufania lasu z lokalnymi domenami usług katalogowych 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żytkowników o nazwie aaddscontoso.com zawiera wszystkich użytkowników z Microsoft Entra ID zsynchronizowanych 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 grupy zabezpieczeń sieciowych są wymagane do zabezpieczenia zarządzanej domeny, aby upewnić się, że ruch może przepływać poprawnie. Jest utworzony las użytkowników o nazwie DNS aaddscontoso.com, z wszystkimi użytkownikami zsynchronizowanymi z Microsoft Entra ID.

{
    "$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 Microsoft Entra, Azure PowerShell lub pipeline ciągłej integracji/ciągłego wdrażania. Poniższy przykład używa 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 jest nadal konfigurowana w tle i ukończenie wdrożenia może potrwać do godziny. 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ł.