Skapa en hanterad Domän för Microsoft Entra Domain Services med hjälp av en Azure Resource Manager-mall

Microsoft Entra Domain Services tillhandahåller hanterade domäntjänster som domänanslutning, grupprincip, LDAP, Kerberos/NTLM-autentisering som är helt kompatibel med Windows Server Active Directory. Du använder dessa domäntjänster utan att distribuera, hantera och korrigera domänkontrollanter själv. Domain Services integreras med din befintliga Microsoft Entra-klientorganisation. Med den här integreringen kan användarna logga in med sina företagsautentiseringsuppgifter och du kan använda befintliga grupper och användarkonton för att skydda åtkomsten till resurser.

Den här artikeln visar hur du skapar en hanterad domän med hjälp av en Azure Resource Manager-mall. Stödresurser skapas med Hjälp av Azure PowerShell.

Förutsättningar

För att slutföra den här artikeln behöver du följande resurser:

DNS-namngivningskrav

När du skapar en domän som hanteras av Domain Services anger du ett DNS-namn. Det finns några saker att tänka på när du väljer det här DNS-namnet:

  • Inbyggt domännamn: Som standard används det inbyggda domännamnet för katalogen (ett .onmicrosoft.com-suffix ). Om du vill aktivera säker LDAP-åtkomst till den hanterade domänen via Internet kan du inte skapa ett digitalt certifikat för att skydda anslutningen till den här standarddomänen. Microsoft äger domänen .onmicrosoft.com , så en certifikatutfärdare (CA) utfärdar inget certifikat.
  • Anpassade domännamn: Den vanligaste metoden är att ange ett anpassat domännamn, vanligtvis ett som du redan äger och är dirigerbart. När du använder en dirigerbar, anpassad domän kan trafiken flöda korrekt efter behov för att stödja dina program.
  • Icke-dirigerbara domänsuffix: Vi rekommenderar vanligtvis att du undviker ett icke-dirigerbart domännamnssuffix, till exempel contoso.local. . local-suffixet kan inte dirigeras och kan orsaka problem med DNS-matchning.

Dricks

Om du skapar ett anpassat domännamn bör du vara försiktig med befintliga DNS-namnområden. Vi rekommenderar att du använder ett domännamn separat från ett befintligt Azure- eller lokalt DNS-namnutrymme.

Om du till exempel har ett befintligt DNS-namnutrymme på contoso.com skapar du en hanterad domän med det anpassade domännamnet aaddscontoso.com. Om du behöver använda säker LDAP måste du registrera och äga det här anpassade domännamnet för att generera de certifikat som krävs.

Du kan behöva skapa ytterligare DNS-poster för andra tjänster i din miljö eller villkorsstyrda DNS-vidarebefordrare mellan befintliga DNS-namnutrymmen i din miljö. Om du till exempel kör en webbserver som är värd för en webbplats med rot-DNS-namnet kan det finnas namngivningskonflikter som kräver ytterligare DNS-poster.

I det här exemplet och instruktioner används den anpassade domänen för aaddscontoso.com som ett kort exempel. I alla kommandon anger du ditt eget domännamn.

Följande DNS-namnbegränsningar gäller också:

  • Begränsningar för domänprefix: Du kan inte skapa en hanterad domän med ett prefix som är längre än 15 tecken. Prefixet för ditt angivna domännamn (till exempel aaddscontoso i aaddscontoso.com domännamn) måste innehålla 15 eller färre tecken.
  • Nätverksnamnkonflikter: DNS-domännamnet för din hanterade domän bör inte redan finnas i det virtuella nätverket. Mer specifikt kontrollerar du följande scenarier som skulle leda till en namnkonflikt.
    • Om du redan har en Active Directory-domän med samma DNS-domännamn i det virtuella Azure-nätverket.
    • Om det virtuella nätverk där du planerar att aktivera den hanterade domänen har en VPN-anslutning till ditt lokala nätverk. I det här scenariot kontrollerar du att du inte har en domän med samma DNS-domännamn i ditt lokala nätverk.
    • Om du har en befintlig Azure-molntjänst med det namnet i det virtuella Azure-nätverket.

Skapa nödvändiga Microsoft Entra-resurser

Domäntjänster kräver tjänstens huvudnamn och en Microsoft Entra-grupp. Med dessa resurser kan den hanterade domänen synkronisera data och definiera vilka användare som har administratörsbehörighet i den hanterade domänen.

Registrera först Microsoft Entra Domain Services-resursprovidern med hjälp av cmdleten Register-AzResourceProvider :

Register-AzResourceProvider -ProviderNamespace Microsoft.AAD

Skapa ett Microsoft Entra-tjänsthuvudnamn med cmdleten New-MgServicePrincipal för Domain Services för att kommunicera och autentisera sig själv. Ett specifikt program-ID används med namnet Domain Controller Services med ett ID på 2565bd9d-da50-47d4-8b85-4c97f669dc36 för Azure Global. För andra Azure-moln söker du efter AppId-värdet 6ba9a5d4-8456-4118-b521-9c5ca10cdf84.

New-MgServicePrincipal

Skapa nu en Microsoft Entra-grupp med namnet AAD DC-administratörer med hjälp av cmdleten New-MgGroup . Användare som läggs till i den här gruppen beviljas sedan behörighet att utföra administrationsuppgifter på den hanterade domänen.

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

När gruppen AAD DC-administratörer har skapats lägger du till en användare i gruppen med cmdleten New-MgGroupMember. Först får du gruppobjekt-ID: t för AAD DC-administratörer med cmdleten Get-MgGroup och sedan den önskade användarens objekt-ID med cmdleten Get-MgUser .

I följande exempel använder du objekt-ID:t för kontot med ett UPN på admin@contoso.onmicrosoft.com. Ersätt det här användarkontot med UPN för den användare som du vill lägga till i gruppen AAD DC-administratörer :

# 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

Skapa slutligen en resursgrupp med cmdleten New-AzResourceGroup . I följande exempel heter resursgruppen myResourceGroup och skapas i regionen westus . Använd ditt eget namn och önskad region:

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

Om du väljer en region som stöder Tillgänglighetszoner distribueras Domain Services-resurserna mellan zoner för mer redundans. Tillgänglighetszoner är unika fysiska platser inom en Azure-region. Varje zon utgörs av ett eller flera datacenter som är utrustade med oberoende kraft, kylning och nätverk. För att säkerställa återhämtning finns det minst tre separata zoner i alla aktiverade regioner.

Det finns inget som du kan konfigurera för att Domain Services ska distribueras mellan zoner. Azure-plattformen hanterar automatiskt zonfördelningen av resurser. Mer information och om du vill se regiontillgänglighet finns i Vad är Tillgänglighetszoner i Azure?.

Resursdefinition för Domain Services

Som en del av Resource Manager-resursdefinitionen krävs följande konfigurationsparametrar:

Parameter Värde
Domännamn DNS-domännamnet för din hanterade domän, med hänsyn till de föregående punkterna om namngivningsprefix och konflikter.
filteredSync Med Domain Services kan du synkronisera alla användare och grupper som är tillgängliga i Microsoft Entra-ID eller en begränsad synkronisering av endast specifika grupper.

Mer information om omfångssynkronisering finns i Microsoft Entra Domain Services omfångssynkronisering.
meddelande Inställningar Om det finns några aviseringar som genereras i den hanterade domänen kan e-postaviseringar skickas ut.

Globala administratörer för Azure-klientorganisationen och medlemmar i gruppen AAD DC-administratörer kan aktiveras för dessa meddelanden.

Om du vill kan du lägga till andra mottagare för meddelanden när det finns aviseringar som kräver uppmärksamhet.
domainConfigurationType Som standard skapas en hanterad domän som en användarskog . Den här typen av skog synkroniserar alla objekt från Microsoft Entra-ID, inklusive användarkonton som skapats i en lokal AD DS-miljö. Du behöver inte ange ett domänkonfigurationsvärde för att skapa en användarskog.

En resursskog synkroniserar endast användare och grupper som skapats direkt i Microsoft Entra-ID. Ange värdet till ResourceTrusting för att skapa en resursskog.

Mer information om resursskogar , inklusive varför du kan använda en och hur du skapar skogsförtroenden med lokala AD DS-domäner, finns i Översikt över domäntjänsters resursskogar.

Följande definition av komprimerade parametrar visar hur dessa värden deklareras. En användarskog med namnet aaddscontoso.com skapas med alla användare från Microsoft Entra ID synkroniserat till den hanterade domänen:

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

Följande komprimerade Resource Manager-mallresurstyp används sedan för att definiera och skapa den hanterade domänen. Ett virtuellt Azure-nätverk och undernät måste redan finnas eller skapas som en del av Resource Manager-mallen. Den hanterade domänen är ansluten till det här undernätet.

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

Dessa parametrar och resurstyper kan användas som en del av en bredare Resource Manager-mall för att distribuera en hanterad domän, som du ser i följande avsnitt.

Skapa en hanterad domän med hjälp av exempelmallen

Följande fullständiga Resource Manager-exempelmall skapar en hanterad domän och regler för stöd för virtuella nätverk, undernät och nätverkssäkerhetsgrupper. Reglerna för nätverkssäkerhetsgruppen krävs för att skydda den hanterade domänen och se till att trafiken kan flöda korrekt. En användarskog med DNS-namnet aaddscontoso.com skapas med alla användare synkroniserade från 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": {}
}

Den här mallen kan distribueras med den distributionsmetod som du föredrar, till exempel administrationscentret för Microsoft Entra, Azure PowerShell eller en CI/CD-pipeline. I följande exempel används cmdleten New-AzResourceGroupDeployment . Ange ditt eget resursgruppsnamn och mallfilnamn:

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

Det tar några minuter att skapa resursen och returnera kontrollen till PowerShell-prompten. Den hanterade domänen fortsätter att etableras i bakgrunden och kan ta upp till en timme att slutföra distributionen. I administrationscentret för Microsoft Entra visar sidan Översikt för din hanterade domän den aktuella statusen i hela distributionsfasen.

När administrationscentret för Microsoft Entra visar att den hanterade domänen har slutfört etableringen måste följande uppgifter utföras:

  • Uppdatera DNS-inställningarna för det virtuella nätverket så att virtuella datorer kan hitta den hanterade domänen för domänanslutning eller autentisering.
    • Om du vill konfigurera DNS väljer du din hanterade domän i portalen. I fönstret Översikt uppmanas du att automatiskt konfigurera dessa DNS-inställningar.
  • Aktivera lösenordssynkronisering till Domain Services så att slutanvändarna kan logga in på den hanterade domänen med sina företagsautentiseringsuppgifter.

Nästa steg

Om du vill se den hanterade domänen i praktiken kan du domänansluta en virtuell Windows-dator, konfigurera säker LDAP och konfigurera synkronisering av lösenordshash.