Configurar a sincronização no escopo do Microsoft Azure Active Directory para seu domínio gerenciadoConfigure scoped synchronization from Azure AD to your managed domain

Este artigo mostra como configurar apenas contas de usuários específicos para serem sincronizadas entre seu diretório do Azure AD e o domínio gerenciado do Azure AD Domain Services.This article shows you how to configure only specific user accounts to be synchronized from your Azure AD directory to your Azure AD Domain Services managed domain.

Sincronização no escopo baseado em grupoGroup-based scoped synchronization

Por padrão, todos os usuários e grupos no diretório do Microsoft Azure Active Directory são sincronizados com seu domínio gerenciado.By default, all users and groups within your Azure AD directory are synchronized to your managed domain. Se apenas alguns usuários usam o domínio gerenciado, você pode sincronizar apenas essas contas de usuário.If only a few users use the managed domain, you may synchronize only those user accounts. A sincronização no escopo baseada em grupo permite que você faça isso.Group-based scoped synchronization enables you to do so. Quando configurada, apenas contas de usuário que pertencem aos grupos que você especificou são sincronizadas com o domínio gerenciado.When configured, only user accounts belonging to the groups you've specified are synchronized to the managed domain.

A tabela a seguir ajuda a determinar como usar a sincronização no escopo:The following table helps you determine how to use scoped synchronization:

Estado atualCurrent state Estado desejadoDesired state Configuração necessáriaRequired configuration
O domínio gerenciado existente é configurado para sincronizar todas as contas de usuário e grupos.Your existing managed domain is configured to synchronize all user accounts and groups. Você deseja sincronizar somente as contas de usuário que pertencem a grupos específicos para seu domínio gerenciado.You want to synchronize only user accounts belonging to specific groups to your managed domain. Exclua o domínio gerenciado existente.Delete the existing managed domain. Depois, siga as instruções neste artigo para recriá-lo com a sincronização no escopo configurada.Then, follow instructions in this article to re-create it with scoped synchronization configured.
Você não tem um domínio gerenciado existente.You don't have an existing managed domain. Você deseja criar um novo domínio gerenciado e sincronizar apenas as contas de usuário que pertencem a grupos específicos.You want to create a new managed domain and synchronize only user accounts belonging to specific groups. Siga as instruções neste artigo para criar um novo domínio gerenciado com a sincronização no escopo configurada.Follow instructions in this article to create a new managed domain with scoped synchronization configured.
Seu domínio gerenciado existente é configurado para sincronizar apenas as contas que pertencem a grupos específicos.Your existing managed domain is configured to synchronize only accounts belonging to specific groups. Você deseja modificar a lista de grupos cujos usuários deverão ser sincronizados para o domínio gerenciado.You want to modify the list of groups whose users should be synchronized to the manage domain. Siga as instruções neste artigo para modificar o escopo de sincronização.Follow the instructions in this article to modify scoped synchronization.

Aviso

A alteração do escopo de sincronização faz com que o seu domínio gerenciado percorra a ressincronização.Changing the scope of synchronization causes your managed domain to go through resynchronization.

  • Quando você altera o escopo de sincronização para um domínio gerenciado, ocorre uma ressincronização completa.When you change the synchronization scope for a managed domain, a full resynchronization occurs.
  • Os objetos que não forem mais necessários no domínio gerenciado serão excluídos.Objects which are no longer required in the managed domain are deleted. Novos objetos são criados no domínio gerenciado.New objects are created in the managed domain.
  • A ressincronização pode levar muito tempo para ser concluída, dependendo do número de objetos (usuários, grupos e associações de grupo) no domínio gerenciado e no diretório do Microsoft Azure Active Directory.Resynchronization may take a long time to complete, depending on the number of objects (users, groups, and group memberships) in your managed domain and your Azure AD directory. Para diretórios grandes com várias centenas de milhares de objetos, a ressincronização pode levar alguns dias.For large directories with many hundreds of thousands of objects, resynchronization may take a few days.

Criar um novo domínio gerenciado e habilitar a sincronização com escopo baseada em grupo usando o portal do AzureCreate a new managed domain and enable group-based scoped synchronization using Azure portal

  1. Siga a Guia Primeiros passos para criar um domínio gerenciado.Follow the Getting Started guide to create a managed domain.
  2. Escolha com escopo durante a seleção do estilo de sincronização no assistente de criação dos Serviços de Domínio do Azure AD.Choose scoped during the synchronization style selection in the Azure AD Domain Services creation wizard.

Criar um novo domínio gerenciado e habilitar a sincronização com escopo baseada em grupo usando o PowerShellCreate a new managed domain and enable group-based scoped synchronization using PowerShell

Use o PowerShell para concluir esse conjunto de etapas.Use PowerShell to complete this set of steps. Confira as instruções para Habilitar o Azure Active Directory Domain Services usando o PowerShell.Refer to the instructions to enable Azure Active Directory Domain Services using PowerShell. Algumas das etapas neste artigo foram ligeiramente modificadas para configurar a sincronização no escopo.A couple of steps in this article are modified slightly to configure scoped synchronization.

Conclua as seguintes etapas para configurar a sincronização de escopo com base em grupo para seu domínio gerenciado:Complete the following steps to configure group-based scoped synchronization to your managed domain:

  1. Conclua as seguintes tarefas:Complete the following tasks:

  2. Selecione os grupos que você deseja sincronizar e forneça o nome de exibição dos grupos que deseja que sejam sincronizados com o domínio gerenciado.Select the groups you want to sync and provide the display name of the groups you want synchronized to your managed domain.

  3. Salve o script na seção a seguir em um arquivo chamado Select-GroupsToSync.ps1.Save the script in the following section to a file called Select-GroupsToSync.ps1. Execute o script como indicado abaixo:Execute the script like below:

    .\Select-GroupsToSync.ps1 -groupsToAdd @("AAD DC Administrators", "GroupName1", "GroupName2")
    

    Aviso

    Não se esqueça de incluir o grupo 'Administradores do AAD DC'.Do not forget to include the 'AAD DC Administrators' group.

    Você deve incluir o grupo 'Administradores do AAD DC' na lista de grupos configurados para sincronização no escopo.You must include the 'AAD DC Administrators' group in the list of groups configured for scoped synchronization. Se você não incluir esse grupo, o domínio gerenciado não poderá ser usado.If you do not include this group, the managed domain will be unusable.

  4. Agora, crie o domínio gerenciado e habilite a sincronização no escopo com base no grupo para o domínio gerenciado.Now, create the managed domain and enable group-based scoped synchronization for the managed domain. Inclua a propriedade "filteredSync" = "Enabled" no parâmetro Properties.Include the property "filteredSync" = "Enabled" in the Properties parameter. Por exemplo, veja o seguinte fragmento de script, copiado da Tarefa 7: Provisionar o domínio gerenciado do Azure AD Domain Services.For instance, see the following script fragment, copied from Task 7: Provision the Azure AD Domain Services managed domain.

    $AzureSubscriptionId = "YOUR_AZURE_SUBSCRIPTION_ID"
    $ManagedDomainName = "contoso100.com"
    $ResourceGroupName = "ContosoAaddsRg"
    $VnetName = "DomainServicesVNet_WUS"
    $AzureLocation = "westus"
    
    # Enable Azure AD Domain Services for the directory.
    New-AzResource -ResourceId "/subscriptions/$AzureSubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.AAD/DomainServices/$ManagedDomainName" `
    -Location $AzureLocation `
    -Properties @{"DomainName"=$ManagedDomainName; "filteredSync" = "Enabled"; `
     "SubnetId"="/subscriptions/$AzureSubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Network/virtualNetworks/$VnetName/subnets/DomainServices"} `
    -ApiVersion 2017-06-01 -Force -Verbose
    

    Dica

    Não se esqueça de incluir "filteredSync" = "Enabled" no parâmetro -Properties, para que a sincronização no escopo seja habilitada para o domínio gerenciado.Do not forget to include "filteredSync" = "Enabled" in the -Properties parameter, so scoped synchronization is enabled for the managed domain.

Script para selecionar grupos para sincronizar o domínio gerenciado (selecione GroupsToSync.ps1)Script to select groups to synchronize to the managed domain (Select-GroupsToSync.ps1)

Salve o script a seguir em um arquivo (Select-GroupsToSync.ps1).Save the following script to a file (Select-GroupsToSync.ps1). Esse script configura o Azure AD Domain Services para sincronizar os grupos selecionados para o domínio gerenciado.This script configures Azure AD Domain Services to synchronize selected groups to the managed domain. Todas as contas de usuário que pertencerem a grupos especificados serão sincronizadas para o domínio gerenciado.All user accounts belonging to the specified groups will be synchronized to the managed domain.

param (
    [Parameter(Position = 0)]
    [String[]]$groupsToAdd
)

Connect-AzureAD
$sp = Get-AzureADServicePrincipal -Filter "AppId eq '2565bd9d-da50-47d4-8b85-4c97f669dc36'"
$role = $sp.AppRoles | where-object -FilterScript {$_.DisplayName -eq "User"}

Write-Output "`n****************************************************************************"

Write-Output "Total group-assignments need to be added: $($groupsToAdd.Count)"
$newGroupIds = New-Object 'System.Collections.Generic.HashSet[string]'
foreach ($groupName in $groupsToAdd)
{
    try
    {
        $group = Get-AzureADGroup -Filter "DisplayName eq '$groupName'"
        $newGroupIds.Add($group.ObjectId)

        Write-Output "Group-Name: $groupName, Id: $($group.ObjectId)"
    }
    catch
    {
        Write-Error "Failed to find group: $groupName. Exception: $($_.Exception)."
    }
}

Write-Output "****************************************************************************`n"
Write-Output "`n****************************************************************************"

$currentAssignments = Get-AzureADServiceAppRoleAssignment -ObjectId $sp.ObjectId
Write-Output "Total current group-assignments: $($currentAssignments.Count), SP-ObjectId: $($sp.ObjectId)"

$currAssignedObjectIds = New-Object 'System.Collections.Generic.HashSet[string]'
foreach ($assignment in $currentAssignments)
{
    Write-Output "Assignment-ObjectId: $($assignment.PrincipalId)"

    if ($newGroupIds.Contains($assignment.PrincipalId) -eq $false)
    {
        Write-Output "This assignment is not needed anymore. Removing it! Assignment-ObjectId: $($assignment.PrincipalId)"
        Remove-AzureADServiceAppRoleAssignment -ObjectId $sp.ObjectId -AppRoleAssignmentId $assignment.ObjectId
    }
    else
    {
        $currAssignedObjectIds.Add($assignment.PrincipalId)
    }
}

Write-Output "****************************************************************************`n"
Write-Output "`n****************************************************************************"

foreach ($id in $newGroupIds)
{
    try
    {
        if ($currAssignedObjectIds.Contains($id) -eq $false)
        {
            Write-Output "Adding new group-assignment. Role-Id: $($role.Id), Group-Object-Id: $id, ResourceId: $($sp.ObjectId)"
            New-AzureADGroupAppRoleAssignment -Id $role.Id -ObjectId $id -PrincipalId $id -ResourceId $sp.ObjectId
        }
        else
        {
            Write-Output "Group-ObjectId: $id is already assigned."
        }
    }
    catch
    {
        Write-Error "Exception occurred assigning Object-ID: $id. Exception: $($_.Exception)."
    }
}

Write-Output "****************************************************************************`n"

Modificar sincronização no escopo baseada em grupoModify group-based scoped synchronization

Para modificar a lista de grupos cujos usuários devem ser sincronizados para o domínio gerenciado, execute novamente o script do PowerShell e especifique a nova lista de grupos.To modify the list of groups whose users should be synchronized to your managed domain, re-run the PowerShell script and specify the new list of groups. Lembre-se sempre de especificar o grupo 'Administradores do AAD DC' nessa lista.Remember to always specify the 'AAD DC Administrators' group in this list.

Aviso

Não se esqueça de incluir o grupo 'Administradores do AAD DC'.Do not forget to include the 'AAD DC Administrators' group.

Você deve incluir o grupo 'Administradores do AAD DC' na lista de grupos configurados para sincronização no escopo.You must include the 'AAD DC Administrators' group in the list of groups configured for scoped synchronization. Se você não incluir esse grupo, o domínio gerenciado não poderá ser usado.If you do not include this group, the managed domain will be unusable.

Desabilitar sincronização no escopo baseada em grupoDisable group-based scoped synchronization

Use o seguinte script do PowerShell para desabilitar a sincronização no escopo baseada em grupo para o domínio gerenciado:Use the following PowerShell script to disable group-based scoped synchronization for your managed domain:

// Login to your Azure AD tenant
Login-AzAccount

// Retrieve the Azure AD Domain Services resource.
$DomainServicesResource = Get-AzResource -ResourceType "Microsoft.AAD/DomainServices"

// Disable group-based scoped synchronization.
$disableScopedSync = @{"filteredSync" = "Disabled"}

Set-AzResource -Id $DomainServicesResource.ResourceId -Properties $disableScopedSync

Próximas etapasNext steps