Atribuir funções do Microsoft Entra em escopos diferentes
No Microsoft Entra ID, as funções são normalmente atribuídas para se aplicarem 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.
Entre no centro de administração do Microsoft Entra como pelo menos um Administrador de Função Privilegiada.
Navegue até Identity>Roles & admins>Roles & admins.
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.
Selecione Adicionar atribuições e, em seguida, selecione os utilizadores que pretende atribuir a esta função.
Selecione Adicionar para atribuir a função.
PowerShell
Siga estas etapas para atribuir funções do Microsoft Entra usando o PowerShell.
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
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"
Use Get-MgUser para obter o usuário.
$user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
Use Get-MgRoleManagementDirectoryRoleDefinition para obter a função que você deseja atribuir.
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "displayName eq 'Billing Administrator'"
Defina o locatário como escopo da atribuição de função.
$directoryScope = '/'
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.
Inicie sessão no Graph Explorer.
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'
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'
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
Entre no centro de administração do Microsoft Entra como pelo menos um Administrador de Função Privilegiada.
Navegue até Funções de identidade>e unidades de administração de>administradores.
Selecione uma unidade administrativa.
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.
Selecione a função desejada.
Selecione Adicionar atribuições e, em seguida, selecione os utilizadores ou grupo aos quais pretende atribuir esta função.
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.
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
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"
Use Get-MgUser para obter o usuário.
$user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
Use Get-MgRoleManagementDirectoryRoleDefinition para obter a função que você deseja atribuir.
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition ` -Filter "displayName eq 'User Administrator'"
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
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.
Inicie sessão no Graph Explorer.
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'
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'
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'
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
Entre no centro de administração do Microsoft Entra como pelo menos um Administrador de Função Privilegiada.
Navegue até Registros do aplicativo Identity>Applications>.
Selecione um aplicativo. Você pode usar a caixa de pesquisa para encontrar o aplicativo desejado.
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.
Selecione a função desejada.
Selecione Adicionar atribuições e, em seguida, selecione os utilizadores ou grupo aos quais pretende atribuir esta função.
Selecione Adicionar para atribuir a função com escopo sobre o registro do aplicativo.
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.
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
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"
Use Get-MgUser para obter o usuário.
$user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
Use Get-MgRoleManagementDirectoryRoleDefinition para obter a função que você deseja atribuir.
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition ` -Filter "displayName eq 'Application Administrator'"
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
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.
Inicie sessão no Graph Explorer.
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'
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'
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'
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
- Liste as atribuições de função do Microsoft Entra.
- Atribua funções do Microsoft Entra aos utilizadores.
- Atribuir funções do Microsoft Entra a grupos