Az Azure Active Directory Domain Services engedélyezése a PowerShell használatával

Azure Active Directory Domain Services (Azure AD DS) olyan felügyelt tartományi szolgáltatásokat biztosít, mint például a tartományhoz való csatlakozás, a csoportházirend, az LDAP, a Kerberos/NTLM-hitelesítés, amely teljes mértékben kompatibilis a Windows Server Active Directory. Ezeket a tartományi szolgáltatásokat a tartományvezérlők üzembe helyezése, kezelése és javítása nélkül tudja igénybe verőlni. Azure AD DS integrálható a meglévő Azure AD-bérlővel. Ez az integráció lehetővé teszi, hogy a felhasználók a vállalati hitelesítő adataik használatával jelentkezzenek be, és a meglévő csoportokkal és felhasználói fiókokkal biztonságossá teszi az erőforrásokhoz való hozzáférést.

Ez a cikk bemutatja, hogyan engedélyezheti a Azure AD DS a PowerShell használatával.

Megjegyzés

Ez a cikk az Azure Az PowerShell-modult használja, amely az Azure-ral való kommunikációhoz ajánlott PowerShell-modul. Az Az PowerShell-modul használatának megkezdéséhez lásd az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Előfeltételek

A cikk befejezéséhez a következő erőforrásokra lesz szüksége:

  • Az Azure PowerShell telepítése és konfigurálása.

  • Az Azure AD PowerShell telepítése és konfigurálása.

  • Az Azure AD-bérlőben globális rendszergazdai jogosultságokkal kell Azure AD DS.

  • A szükséges erőforrások létrehozásához közreműködői jogosultságokkal kell Azure AD DS Azure-előfizetésében.

    Fontos

    Bár az Az.ADDomainServices PowerShell-modul előzetes verzióban érhető el, külön kell telepítenie a Install-Module parancsmag használatával.

    Install-Module -Name Az.ADDomainServices
    

A szükséges Azure AD-erőforrások létrehozása

Azure AD DS szolgáltatásnévre van szükség a hitelesítéshez és a kommunikációhoz, valamint egy Azure AD-csoportra annak meghatározásához, hogy mely felhasználók rendelkezik rendszergazdai engedélyekkel a felügyelt tartományban.

Először hozzon létre egy Azure AD-szolgáltatásnevet egy tartományvezérlő-szolgáltatások nevű alkalmazásazonosítóval. A nyilvános Azure-ban az azonosító értéke 2565bd9d-da50-47d4-8b85-4c97f669dc36. Más felhőkben az érték 6ba9a5d4-8456-4118-b521-9c5ca10cdf84. Ne módosítsa ezt az alkalmazásazonosítót.

Hozzon létre egy Azure AD-szolgáltatásnévt a New-AzureADServicePrincipal parancsmag használatával:

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

Most hozzon létre egy AAD DC-rendszergazdák nevű Azure AD-csoportot. Az ehhez a csoporthoz hozzáadott felhasználók ezután engedélyt kapnak a felügyeleti feladatok végrehajtásához a felügyelt tartományon.

Először szerezze be az AAD DC-rendszergazdák csoportobjektum-azonosítóját a Get-AzureADGroup parancsmag használatával. Ha a csoport nem létezik, hozza létre az AAD DC-rendszergazdák csoporttal a New-AzureADGroup parancsmag használatával:

# 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."
}

Az AAD tartományvezérlő-rendszergazdák csoport létrehozása után a Get-AzureADUser parancsmaggal szerezze be a kívánt felhasználó objektumazonosítóját, majd adja hozzá a felhasználót a csoporthoz az Add-AzureADGroupMember parancsmag használatával.

A következő példában a felhasználói objektum azonosítója lesz a fiók upN-jával. admin@contoso.onmicrosoft.com Cserélje le ezt a felhasználói fiókot annak a felhasználónak az UPN-jére, aki az AAD DC-rendszergazdák csoporthoz kíván hozzáadni:

# 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

Hálózati erőforrások létrehozása

Először regisztrálja a Azure AD Domain Services a Register-AzResourceProvider parancsmag használatával:

Register-AzResourceProvider -ProviderNamespace Microsoft.AAD

Ezután hozzon létre egy erőforráscsoportot a New-AzResourceGroup parancsmag használatával. A következő példában az erőforráscsoport neve myResourceGroup, és a westus régióban jön létre. Használja a saját nevét és a kívánt régiót:

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

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

Hozza létre a virtuális hálózatot és az alhálózatokat a Azure AD Domain Services. Két alhálózat jön létre – egy a DomainServices szolgáltatáshoz, egy pedig a számítási feladatokhoz. Azure AD DS a rendszer a dedikált DomainServices alhálózaton telepíti. Ne telepítsen más alkalmazásokat vagy számítási feladatokat ebben az alhálózatban. A többi virtuális géphez használja a különálló számítási feladatokat vagy más alhálózatokat.

Hozza létre az alhálózatokat a New-AzVirtualNetworkSubnetConfig parancsmaggal, majd hozza létre a virtuális hálózatot a New-AzVirtualNetwork parancsmaggal.

$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

Hálózati biztonsági csoport létrehozása

Azure AD DS szükség van egy hálózati biztonsági csoportra a felügyelt tartományhoz szükséges portok biztonságossá teéhez és az összes többi bejövő forgalom blokkolásához. A hálózati biztonsági csoportok (NSG-k) olyan szabályok listáját tartalmaznak, amelyek engedélyezik vagy megtagadják az Azure-beli virtuális hálózatok forgalmára vonatkozó hálózati forgalmat. A Azure AD DS a hálózati biztonsági csoport kiegészítő védelmi rétegként működik a felügyelt tartományhoz való hozzáférés zárolásához. A szükséges portok megtekintéséhez lásd: Hálózati biztonsági csoportok és szükséges portok.

A következő PowerShell-parancsmagok a New-AzNetworkSecurityRuleConfig parancsmagot használják a szabályok létrehozásához, majd a New-AzNetworkSecurityGroup parancsmagot a hálózati biztonsági csoport létrehozásához. A hálózati biztonsági csoport és a szabályok ezután a Set-AzVirtualNetworkSubnetConfig parancsmaggal vannak társítva a virtuális hálózat alhálózatához.

$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

Felügyelt tartomány létrehozása

Most hozzunk létre egy felügyelt tartományt. Állítsa be az Azure-előfizetés azonosítóját, majd adja meg a felügyelt tartomány nevét( például aaddscontoso.com. Az előfizetés-azonosítót a Get-AzSubscription parancsmag használatával kaphatja meg.

Ha olyan régiót választ, amely támogatja a Availability Zones, a Azure AD DS erőforrások el vannak osztva a zónák között a további redundancia érdekében.

A rendelkezésreállási zónák fizikailag elkülönített helyek egy Azure-régión belül. Minden rendelkezésreállási zóna egy vagy több, független áramforrással, hűtéssel és hálózatkezelési megoldással ellátott adatközpontból áll. A rugalmasság biztosítása érdekében minden engedélyezett régióban legalább három elkülönített zóna található.

Semmit nem kell konfigurálnia a Azure AD DS zónák közötti elosztásához. Az Azure platform automatikusan kezeli az erőforrások zónaelosztását. További információkért és a régiók rendelkezésre állásának további információkért lásd: Mi az Availability Zones az Azure-ban?.

$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

Az erőforrás létrehozása és a PowerShell-parancssorba való visszatérése eltarthat néhány percig. A felügyelt tartomány továbbra is a háttérben van kiépítve, és az üzembe helyezés akár egy órát is igénybe vehet. A Azure Portal a felügyelt tartomány Áttekintés lapján az üzembe helyezési fázis aktuális állapota látható.

Ha a Azure Portal azt mutatja, hogy a felügyelt tartomány kiépítése befejeződött, a következő feladatokat kell elvégezni:

  • Frissítse a virtuális hálózat DNS-beállításait, hogy a virtuális gépek megtalálják a felügyelt tartományt a tartományhoz való csatlakozáshoz vagy a hitelesítéshez.
    • A DNS konfiguráláshoz válassza ki a felügyelt tartományt a portálon. Az Áttekintés ablakban a rendszer felszólítja, hogy konfigurálja ezeket a DNS-beállításokat.
  • Engedélyezze a jelszó-szinkronizálást Azure AD DS, hogy a végfelhasználók a vállalati hitelesítő adataik használatával bejelentkez tudjanak a felügyelt tartományba.

Teljes PowerShell-szkript

A következő teljes PowerShell-szkript a cikkben bemutatott összes feladatot kombinálja. Másolja ki a szkriptet, és mentse egy kiterjesztésű .ps1 fájlba. Futtassa a szkriptet egy helyi PowerShell-konzolon vagy a Azure Cloud Shell.

Megjegyzés

A Azure AD DS Azure AD-bérlő globális rendszergazdájának kell lennie. Emellett legalább Közreműködői jogosultsággal is rendelkezik az Azure-előfizetésben.

# 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

Az erőforrás létrehozása és a PowerShell-parancssorba való visszatérése eltarthat néhány percig. A felügyelt tartomány továbbra is a háttérben van kiépítve, és az üzembe helyezés akár egy órát is igénybe vehet. A Azure Portal a felügyelt tartomány Áttekintés lapján az üzembe helyezési fázis aktuális állapota látható.

Ha a Azure Portal azt mutatja, hogy a felügyelt tartomány kiépítése befejeződött, a következő feladatokat kell elvégezni:

  • Frissítse a virtuális hálózat DNS-beállításait, hogy a virtuális gépek megtalálják a felügyelt tartományt a tartományhoz való csatlakozáshoz vagy a hitelesítéshez.
    • A DNS konfiguráláshoz válassza ki a felügyelt tartományt a portálon. Az Áttekintés ablakban a rendszer felszólítja, hogy konfigurálja ezeket a DNS-beállításokat.
  • Engedélyezze a jelszó-szinkronizálást Azure AD DS, hogy a végfelhasználók a vállalati hitelesítő adataik használatával bejelentkez tudjanak a felügyelt tartományba.

Következő lépések

A felügyelt tartományt úgy láthatja, ha tartományhoz csatlakozik egy Windows rendszerű virtuális géphez, konfigurálja a biztonságos LDAP-t,és konfigurálja ajelszó kivonatszinkronizálását.