Atribuir funções do Microsoft Entra em escopos diferentes

No Microsoft Entra ID, você normalmente atribui Microsoft Entra funções para que elas se apliquem a todo o locatário. No entanto, você também pode atribuir funções do Microsoft Entra para diferentes recursos, como unidades administrativas ou registros de aplicativo. Por exemplo, você pode atribuir a função de administrador de assistência técnica para que ela se aplique apenas a uma determinada unidade administrativa e não a todo o locatário. Os recursos aos quais uma atribuição de função se aplica também são chamados de escopo. Este artigo descreve como atribuir funções do Microsoft Entra no locatário, na unidade administrativa e nos escopos de registro de aplicativo. Para obter mais informações sobre o escopo, confira Visão geral do RBAC (controle de acesso baseado em função) no Microsoft Entra ID.

Pré-requisitos

  • Administrador de funções com privilégios ou Administrador global.
  • SDK do PowerShell do Microsoft Graph instalado ao usar o PowerShell.
  • Consentimento do administrador ao usar o Explorador do Graph para a API do Microsoft Graph.

Para obter mais informações, confira Pré-requisitos para usar o PowerShell ou o Explorador do Graph.

Atribuir funções com escopo ao locatário

Esta seção descreve como atribuir funções no escopo do locatário.

Centro de administração do Microsoft Entra

Dica

As etapas neste artigo podem variar ligeiramente com base no portal do qual você começa.

  1. Entre no Centro de administração do Microsoft Entra como, no mínimo, um Administrador de funções com privilégios.

  2. Navegue até Identidade>Funções e administradores>Funções e administradores.

    Roles and administrators page in Microsoft Entra ID.

  3. Selecione uma função para ver suas atribuições. Para ajudar você a encontrar a função necessária, use Adicionar filtros para filtrar as funções.

  4. Selecione Adicionar atribuições e, em seguida, selecione os usuários que você deseja atribuir a essa função.

    Add assignments pane for selected role.

  5. Selecione Adicionar para atribuir a função.

PowerShell

Siga estas etapas para atribuir funções do Microsoft Entra usando o PowerShell.

  1. Abra uma janela do PowerShell. Se necessário, use Install-Module para instalar o PowerShell do Microsoft Graph. Para obter mais informações, confira Pré-requisitos para usar o PowerShell ou o Explorador do Graph.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. Em uma janela do PowerShell, use Connect-MgGraph para entrar no seu locatário.

    Connect-MgGraph -Scopes "RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Use Get-MgUser para obter o usuário.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Use Get-MgRoleManagementDirectoryRoleDefinition para obter a função que você quer atribuir.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "displayName eq 'Billing Administrator'"
    
  5. Defina o locatário como escopo da atribuição de função.

    $directoryScope = '/'
    
  6. Use New-MgRoleManagementDirectoryRoleAssignment para atribuir a função.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id
    

API do Microsoft Graph

Siga estas instruções para atribuir uma função usando a API do Microsoft Graph no Explorador do Graph.

  1. Entre no Explorador do Graph.

  2. Use a API Listar usuários para obter o usuário.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. Use a API Listar roleDefinitions para obter a função que deseja atribuir.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'Billing Administrator'
    
  4. Use a API Criar unifiedRoleAssignment para atribuir a função.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/"
    }
    

Atribuir funções com escopo a uma unidade administrativa

Esta seção descreve como atribuir funções em um escopo de unidade administrativa.

Centro de administração do Microsoft Entra

  1. Entre no Centro de administração do Microsoft Entra como, no mínimo, um Administrador de funções com privilégios.

  2. Navegue até Identidade>Funções e administradores>Unidades administrativas.

  3. Selecione uma unidade administrativa.

    Administrative Units in Microsoft Entra ID.

  4. Selecione Funções e administradores no menu de navegação à esquerda para ver a lista de todas as funções disponíveis a serem atribuídas em uma unidade administrativa.

    Roles and administrators menu under administrative Units in Microsoft Entra ID.

  5. Selecione uma função desejada.

  6. Selecione Adicionar atribuições e, em seguida, selecione os usuários aos quais você deseja atribuir essa função.

  7. Selecione Adicionar para atribuir a função com escopo na unidade administrativa.

Observação

Você não verá a lista completa de funções internas ou personalizadas do Microsoft Entra aqui. Isso é esperado. Mostramos as funções que têm permissões relacionadas aos objetos que têm suporte na unidade administrativa. Para ver a lista de objetos com suporte em uma unidade administrativa, confira Unidades administrativas no Microsoft Entra ID.

PowerShell

Siga estas etapas para atribuir funções do Microsoft Entra no escopo da unidade administrativa usando o PowerShell.

  1. Abra uma janela do PowerShell. Se necessário, use Install-Module para instalar o PowerShell do Microsoft Graph. Para obter mais informações, confira Pré-requisitos para usar o PowerShell ou o Explorador do Graph.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. Em uma janela do PowerShell, use Connect-MgGraph para entrar no seu locatário.

    Connect-MgGraph -Scopes "Directory.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Use Get-MgUser para obter o usuário.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Use Get-MgRoleManagementDirectoryRoleDefinition para obter a função que você quer atribuir.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition `
       -Filter "displayName eq 'User Administrator'"
    
  5. Use Get-MgDirectoryAdministrativeUnit para obter a unidade administrativa à qual você deseja definir o escopo da atribuição de função.

    $adminUnit = Get-MgDirectoryAdministrativeUnit -Filter "displayName eq 'Seattle Admin Unit'"
    $directoryScope = '/administrativeUnits/' + $adminUnit.Id
    
  6. Use New-MgRoleManagementDirectoryRoleAssignment para atribuir a função.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id
    

API do Microsoft Graph

Siga estas instruções para atribuir uma função no escopo da unidade administrativa usando a API do Microsoft Graph no Explorador do Graph.

  1. Entre no Explorador do Graph.

  2. Use a API Listar usuários para obter o usuário.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. Use a API Listar roleDefinitions para obter a função que deseja atribuir.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'User Administrator'
    
  4. Use a API List administrativeUnits para obter a unidade administrativa à qual você deseja definir o escopo da atribuição de função.

    GET https://graph.microsoft.com/v1.0/directory/administrativeUnits?$filter=displayName eq 'Seattle Admin Unit'
    
  5. Use a API Criar unifiedRoleAssignment para atribuir a função.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/administrativeUnits/<provide objectId of the admin unit obtained above>"
    }
    

Observação

Aqui, directoryScopeId é especificado como /administrativeUnits/foo, em vez de /foo. Isso é proposital. O escopo /administrativeUnits/foo significa que a entidade de segurança pode gerenciar os membros da unidade administrativa (com base na função atribuída), não a própria unidade administrativa. O escopo de /foo significa que a entidade de entidade pode gerenciar esse objeto do Microsoft Entra em si. Na seção subsequente, você verá que o escopo é /foo porque uma função com escopo em um registro de aplicativo concede o privilégio para gerenciar o objeto em si.

Atribuir funções com escopo para um registro de aplicativo

Esta seção descreve como atribuir funções em um escopo de registro de aplicativo.

Centro de administração do Microsoft Entra

  1. Entre no Centro de administração do Microsoft Entra como, no mínimo, um Administrador de funções com privilégios.

  2. Navegue até Identidade>Aplicativos>Registros de aplicativo.

  3. Selecione um aplicativo. Você pode usar a caixa de pesquisa para localizar o aplicativo desejado.

    App registrations in Microsoft Entra ID.

  4. Selecione Funções e administradores no menu de navegação à esquerda para ver a lista de todas as funções disponíveis a serem atribuídas em um registro de aplicativo.

    Roles for an app registrations in Microsoft Entra ID.

  5. Selecione uma função desejada.

  6. Selecione Adicionar atribuições e, em seguida, selecione os usuários aos quais você deseja atribuir essa função.

    Add role assignment scoped to an app registrations in Microsoft Entra ID.

  7. Selecione Adicionar para atribuir a função com escopo no registro de aplicativo.

    Successfully added role assignment scoped to an app registrations in Microsoft Entra ID.

    Role assigned to the user scoped to an app registrations in Microsoft Entra ID.

Observação

Você não verá a lista completa de funções internas ou personalizadas do Microsoft Entra aqui. Isso é esperado. Mostramos as funções que têm permissões relacionadas somente ao gerenciamento de registros de aplicativo.

PowerShell

Siga estas etapas para atribuir funções do Microsoft Entra no escopo do aplicativo usando o PowerShell.

  1. Abra uma janela do PowerShell. Se necessário, use Install-Module para instalar o PowerShell do Microsoft Graph. Para obter mais informações, confira Pré-requisitos para usar o PowerShell ou o Explorador do Graph.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. Em uma janela do PowerShell, use Connect-MgGraph para entrar no seu locatário.

    Connect-MgGraph -Scopes "Application.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Use Get-MgUser para obter o usuário.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Use Get-MgRoleManagementDirectoryRoleDefinition para obter a função que você quer atribuir.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition `
       -Filter "displayName eq 'Application Administrator'"
    
  5. Use Get-MgApplication para obter o registro de aplicativo que você deseja definir como escopo da atribuição de função.

    $appRegistration = Get-MgApplication -Filter "displayName eq 'f/128 Filter Photos'"
    $directoryScope = '/' + $appRegistration.Id
    
  6. Use New-MgRoleManagementDirectoryRoleAssignment para atribuir a função.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id 
    

API do Microsoft Graph

Siga estas instruções para atribuir uma função no escopo do aplicativo usando a API do Microsoft Graph no Explorador do Graph.

  1. Entre no Explorador do Graph.

  2. Use a API Listar usuários para obter o usuário.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. Use a API Listar roleDefinitions para obter a função que deseja atribuir.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'Application Administrator'
    
  4. Use a API Listar aplicativos para obter a unidade administrativa à qual você deseja definir o escopo da atribuição de função.

    GET https://graph.microsoft.com/v1.0/applications?$filter=displayName eq 'f/128 Filter Photos'
    
  5. Use a API Criar unifiedRoleAssignment para atribuir a função.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/<provide objectId of the app registration obtained above>"
    }
    

Observação

Aqui directoryScopeId é especificado como /foo, ao contrário da seção acima. Isso é proposital. O escopo de /foo significa que a entidade de entidade pode gerenciar esse objeto do Microsoft Entra. O escopo /administrativeUnits/foo significa que a entidade de segurança pode gerenciar os membros da unidade administrativa (com base na função atribuída), não a própria unidade administrativa.

Próximas etapas