Criar funções personalizadas para gerenciar aplicativos empresariais no Microsoft Entra ID
Este artigo explica como criar uma função personalizada com permissões para gerenciar atribuições de aplicativo empresarial para usuários e grupos no Microsoft Entra ID. Para os elementos das atribuições de função e o significado de termos como subtipo, permissão e conjunto de propriedades, consulte a visão geral das funções personalizadas.
Pré-requisitos
- Licença P1 ou P2 do Microsoft Entra ID
- Administrador de Função com Privilégios
- 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 mais informações, confira Pré-requisitos para usar o PowerShell ou o Explorador do Graph.
Permissões função de aplicativo empresarial
Há duas permissões de aplicativo empresarial discutidas neste artigo. Todos os exemplos usam a permissão de atualização.
- Para ler as atribuições de usuário e de grupo no escopo, conceda a permissão
microsoft.directory/servicePrincipals/appRoleAssignedTo/read
- Para gerenciar as atribuições de usuário e de grupo no escopo, conceda a permissão
microsoft.directory/servicePrincipals/appRoleAssignedTo/update
A concessão da permissão de atualização faz com que o destinatário seja capaz de gerenciar atribuições de usuários e grupos a aplicativos empresariais. O escopo de atribuições de usuário e/ou grupo pode ser concedido para um único aplicativo ou concedido para todos os aplicativos. Se concedida em toda a organização, o destinatário poderá gerenciar atribuições para todos os aplicativos. Se isso for feito no nível de aplicativo, o destinatário poderá gerenciar atribuições somente para o aplicativo especificado.
A concessão da permissão de atualização é feita em duas etapas:
- Crie uma função personalizada com a permissão
microsoft.directory/servicePrincipals/appRoleAssignedTo/update
- Conceda permissões a usuários ou grupos para gerenciar atribuições de usuário e de grupo para aplicativos empresariais. Isso ocorre quando você pode definir o escopo para toda a organização ou para um único aplicativo.
Centro de administração Microsoft Entra
Criar uma função personalizada
Dica
As etapas neste artigo podem variar ligeiramente com base no portal do qual você começa.
No centro de administração do Microsoft Entra, você pode criar e gerenciar funções personalizadas para controlar o acesso e as permissões para aplicativos empresariais.
Observação
As funções personalizadas são criadas e gerenciadas em um nível de toda a organização e estão disponíveis somente na página de visão geral da organização.
Entre no Centro de administração do Microsoft Entra como, no mínimo, um Administrador de funções com privilégios.
Navegue até Identidade>Funções e administradores>Funções e administradores.
Selecione Nova função personalizada.
Na guia Básico, forneça "Gerenciar atribuições de usuário e grupo" para o nome da função e "Conceder permissões para gerenciar atribuições de usuário e de grupo" para a descrição da função e, em seguida, selecione Avançar.
Na guia Permissões, digite "microsoft.directory/servicePrincipals/appRoleAssignedTo/update" na caixa de pesquisa, marque as caixas de seleção ao lado das permissões desejadas, depois selecione Avançar.
Na guia Examinar + criar, examine as permissões e selecione Criar.
Atribuir a função a um usuário usando o centro de administração do Microsoft Entra
Entre no Centro de administração do Microsoft Entra como, no mínimo, um Administrador de funções com privilégios.
Navegue até Identidade>Funções e administradores>Funções e administradores.
Selecione a função Gerenciar atribuições de usuários e grupos.
Selecione Adicionar atribuição, selecione o usuário desejado e, em seguida, clique em Selecionar para adicionar a atribuição de função ao usuário.
Dicas de atribuição
Para conceder permissões para destinatários gerenciarem acesso de usuários e grupo a todos os aplicativos empresariais, inicie na lista de Funções e Administradores de toda a organização na página de Visão geral do Microsoft Entra ID da sua organização.
Para conceder permissões a destinatários para gerenciarem o acesso de usuários e de grupo a um aplicativo empresarial específico, acesse o aplicativo no Microsoft Entra ID e abra na lista Funções e Administradores do aplicativo. Selecione a nova função personalizada e conclua a atribuição de usuário ou grupo. Os destinatários podem gerenciar acesso de usuários e de grupo somente para o aplicativo específico.
Para testar a atribuição de função personalizada, entre como o destinatário e abra a página Usuários e grupos de um aplicativo para verificar se a opção Adicionar usuário está habilitada.
PowerShell
Para obter mais detalhes, confira Criar e atribuir uma função personalizada no Microsoft Entra ID e Atribuir funções personalizadas com o escopo do recurso usando o PowerShell.
Criar uma função personalizada
Crie uma função usando o seguinte script do PowerShell:
# Basic role information
$description = "Can manage user and group assignments for Applications"
$displayName = "Manage user and group assignments"
$templateId = (New-Guid).Guid
# Set of permissions to grant
$allowedResourceAction = @("microsoft.directory/servicePrincipals/appRoleAssignedTo/update")
$rolePermission = @{'allowedResourceActions'= $allowedResourceAction}
$rolePermissions = $rolePermission
# Create new custom admin role
$customRole = New-MgRoleManagementDirectoryRoleDefinition -Description $description `
-DisplayName $displayName -RolePermissions $rolePermissions -TemplateId $templateId -IsEnabled
Atribuir a função personalizada
Atribua a função usando esse script do PowerShell.
# Get the user and role definition you want to link
$user = Get-MgUser -Filter "userPrincipalName eq 'chandra@example.com'"
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "displayName eq 'Manage user and group assignments'"
# Get app registration and construct scope for assignment.
$appRegistration = Get-MgApplication -Filter "displayName eq 'My Filter Photos'"
$directoryScope = '/' + $appRegistration.Id
# Create a scoped role assignment
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId $directoryScope `
-PrincipalId $user.Id -RoleDefinitionId $roleDefinition.Id
API do Microsoft Graph
Use a API Criar unifiedRoleDefinition para criar uma função personalizada. Para obter mais informações, consulte Criar e atribuir uma função personalizada no Microsoft Entra ID e Atribuir funções de administrador personalizadas usando a API do Microsoft Graph.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions
{
"description": "Can manage user and group assignments for Applications.",
"displayName": "Manage user and group assignments",
"isEnabled": true,
"rolePermissions":
[
{
"allowedResourceActions":
[
"microsoft.directory/servicePrincipals/appRoleAssignedTo/update"
]
}
],
"templateId": "<PROVIDE NEW GUID HERE>",
"version": "1"
}
Atribuir a função personalizada usando a API do Microsoft Graph
Use a API Criar unifiedRoleAssignment para atribuir a função personalizada. A atribuição de função combina uma ID de entidade de segurança (que pode ser um usuário ou uma entidade de serviço), uma ID de definição de função e um escopo de recurso do Microsoft Entra. Para obter mais informações sobre os elementos de uma atribuição de função, consulte a visão geral de funções personalizadas
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"principalId": "<PROVIDE OBJECTID OF USER TO ASSIGN HERE>",
"roleDefinitionId": "<PROVIDE OBJECTID OF ROLE DEFINITION HERE>",
"directoryScopeId": "/"
}