Atribuir funções do Microsoft Entra em escopos diferentes

No Microsoft Entra ID, você normalmente atribui funções do Microsoft Entra 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 aplicativos. Por exemplo, você pode atribuir a função de Administrador do Helpdesk para que ela se aplique apenas a uma unidade administrativa específica e não ao locatário inteiro. 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 em escopos de registro de locatário, unidade administrativa e aplicativo. Para obter mais informações sobre escopo, consulte Visão geral do controle de acesso baseado em função (RBAC) no Microsoft Entra ID.

Pré-requisitos

  • Administrador de função privilegiada.
  • SDK do Microsoft Graph PowerShell instalado ao usar o PowerShell.
  • Consentimento do administrador ao usar o Graph Explorer para API do Microsoft Graph.

Para obter mais informações, consulte Pré-requisitos para usar o PowerShell ou o Graph Explorer.

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

Gorjeta

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

  1. Entre no centro de administração do Microsoft Entra como pelo menos um Administrador de Função Privilegiada.

  2. Navegue até Identity>Roles & admins>Roles & admins.

    Página Funções e administradores no Microsoft Entra ID.

  3. Selecione uma função para ver suas atribuições. Para ajudá-lo a encontrar a função de que precisa, use Adicionar filtros para filtrar as funções.

  4. Selecione Adicionar atribuições e, em seguida, selecione os utilizadores que pretende atribuir a esta função.

    Adicionar painel de atribuições para a função selecionada.

  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 o Install-Module para instalar o Microsoft Graph PowerShell. Para obter mais informações, consulte Pré-requisitos para usar o PowerShell ou o Graph Explorer.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. Em uma janela do PowerShell, use o 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ê deseja 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
    

Microsoft Graph API

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

  1. Inicie sessão no Graph Explorer.

  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 List unifiedRoleDefinitions para obter a função que você deseja atribuir.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'Billing Administrator'
    
  4. Use a API Create 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 no escopo de uma unidade administrativa.

Centro de administração do Microsoft Entra

  1. Entre no centro de administração do Microsoft Entra como pelo menos um Administrador de Função Privilegiada.

  2. Navegue até Funções de identidade>e unidades de administração de>administradores.

  3. Selecione uma unidade administrativa.

    Unidades administrativas no Microsoft Entra ID.

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

    Menu Funções e administradores em Unidades administrativas no Microsoft Entra ID.

  5. Selecione a função desejada.

  6. Selecione Adicionar atribuições e, em seguida, selecione os utilizadores ou grupo aos quais pretende atribuir esta função.

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

Nota

Você não verá a lista completa de funções internas ou personalizadas do Microsoft Entra aqui. Isto é esperado. Mostramos as funções que têm permissões relacionadas aos objetos suportados dentro da unidade administrativa. Para ver a lista de objetos suportados em uma unidade administrativa, consulte 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 o Install-Module para instalar o Microsoft Graph PowerShell. Para obter mais informações, consulte Pré-requisitos para usar o PowerShell ou o Graph Explorer.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. Em uma janela do PowerShell, use o 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ê deseja atribuir.

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

    $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
    

Microsoft Graph API

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

  1. Inicie sessão no Graph Explorer.

  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 List unifiedRoleDefinitions para obter a função que você 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 para a qual você deseja que a atribuição de função tenha escopo.

    GET https://graph.microsoft.com/v1.0/directory/administrativeUnits?$filter=displayName eq 'Seattle Admin Unit'
    
  5. Use a API Create 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>"
    }
    

Nota

Aqui directoryScopeId é especificado como /administrativeUnits/foo, em vez de /foo. É por design. O âmbito /administrativeUnits/foo significa que o responsável principal pode gerir os membros da unidade administrativa (com base na função que lhe é atribuída), e não a unidade administrativa em si. O escopo de /foo significa que a entidade de segurança pode gerenciar o próprio objeto do Microsoft Entra. Na seção subsequente, você verá que o escopo é /foo porque uma função com escopo sobre um registro de aplicativo concede o privilégio de gerenciar o próprio objeto.

Atribuir funções com escopo a 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 pelo menos um Administrador de Função Privilegiada.

  2. Navegue até Registros do aplicativo Identity>Applications>.

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

    Registos de aplicações no Microsoft Entra ID.

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

    Funções para registros de um aplicativo na ID do Microsoft Entra.

  5. Selecione a função desejada.

  6. Selecione Adicionar atribuições e, em seguida, selecione os utilizadores ou grupo aos quais pretende atribuir esta função.

    Adicione a atribuição de função com escopo a um registro de aplicativo na ID do Microsoft Entra.

  7. Selecione Adicionar para atribuir a função com escopo sobre o registro do aplicativo.

    Atribuição de função adicionada com êxito ao escopo de um registro de aplicativo no Microsoft Entra ID.

    Função atribuída ao usuário com escopo para um registro de aplicativo no Microsoft Entra ID.

Nota

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

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 o Install-Module para instalar o Microsoft Graph PowerShell. Para obter mais informações, consulte Pré-requisitos para usar o PowerShell ou o Graph Explorer.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. Em uma janela do PowerShell, use o 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ê deseja atribuir.

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

    $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 
    

Microsoft Graph API

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

  1. Inicie sessão no Graph Explorer.

  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 List unifiedRoleDefinitions para obter a função que você 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 para a qual você deseja que a atribuição de função tenha escopo.

    GET https://graph.microsoft.com/v1.0/applications?$filter=displayName eq 'f/128 Filter Photos'
    
  5. Use a API Create 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>"
    }
    

Nota

Aqui directoryScopeId é especificado como /foo, ao contrário da seção acima. É por design. O escopo de /foo significa que a entidade de segurança pode gerenciar esse objeto do Microsoft Entra. O âmbito /administrativeUnits/foo significa que o responsável principal pode gerir os membros da unidade administrativa (com base na função que lhe é atribuída), e não a unidade administrativa em si.

Próximos passos