Criar funções personalizadas para gerenciar aplicativos corporativos no Microsoft Entra ID

Este artigo explica como criar uma função personalizada com permissões para gerenciar atribuições de aplicativos corporativos para usuários e grupos no Microsoft Entra ID. Para obter os elementos das atribuições de funções 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 do Microsoft Entra ID P1 ou P2
  • Administrador de Função com Privilégios ou Administrador Global
  • SDK do Microsoft Graph PowerShell instalado ao usar o PowerShell
  • Consentimento do administrador ao utilizar os Testes de API do Graph para a Microsoft Graph API

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

Permissões de função de aplicativo corporativo

Há duas permissões de aplicativo empresarial discutidas neste artigo. Todos os exemplos utilizam a permissão de atualização.

  • Para ler as atribuições de utilizador e grupo no âmbito, conceda a permissão microsoft.directory/servicePrincipals/appRoleAssignedTo/read
  • Para gerir as atribuições de utilizador e grupo no âmbito, conceda e permissão microsoft.directory/servicePrincipals/appRoleAssignedTo/update

Conceder a permissão de atualização permite ao detentor gerir atribuições de utilizadores e grupos para aplicações empresariais. O âmbito das atribuições de utilizador e/ou grupo pode ser concedido para uma única candidatura ou concedido para todas as candidaturas. Se concedido ao nível de toda a organização, o detentor pode gerir atribuições para todas as aplicações. Se feito em um nível de aplicativo, o cessionário pode gerenciar atribuições apenas para o aplicativo especificado.

A concessão da permissão de atualização é feita em dois passos:

  1. Criar uma função personalizada com permissão microsoft.directory/servicePrincipals/appRoleAssignedTo/update
  2. Conceda permissões a utilizadores ou grupos para gerir atribuições de utilizador ou de grupo para aplicações empresariais. É nesta altura que pode definir o âmbito para o nível da organização ou de uma única aplicação.

Centro de administração do Microsoft Entra

Criar uma nova função personalizada

Gorjeta

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

Nota

As funções personalizadas são criadas e gerenciadas em toda a organização e estão disponíveis somente na página Visão geral da organização.

  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.>

  3. Selecione Nova função personalizada.

    Add a new custom role from the roles list in Microsoft Entra ID

  4. Na guia Noções básicas, 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 grupo" para a descrição da função e selecione Avançar.

    Provide a name and description for the custom role

  5. 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 e selecione Avançar.

    Add the permissions to the custom role

  6. Na guia Revisar + criar, revise as permissões e selecione Criar.

    Now you can create the custom role

Atribuir a função a um usuário usando o 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é Identity>Roles & admins Roles & admins.>

  3. Selecione a função Gerenciar atribuições de usuário e grupo.

    Open Roles and Administrators and search for the custom role

  4. Selecione Adicionar atribuição, selecione o usuário desejado e clique em Selecionar para adicionar atribuição de função ao usuário.

    Add an assignment for the custom role to the user

Dicas de tarefas

  • Para conceder permissões aos cessionários para gerenciar usuários e acesso a grupos para todos os aplicativos corporativos em toda a organização, comece na lista Funções e Administradores em toda a organização na página Visão geral do Microsoft Entra ID para sua organização.

  • Para conceder permissões aos cessionários para gerenciar usuários e acesso de grupo para um aplicativo corporativo específico, vá para esse aplicativo no ID do Microsoft Entra e abra na lista Funções e Administradores desse aplicativo. Selecione a nova função personalizada e conclua a atribuição de usuário ou grupo. Os cessionários podem gerenciar usuários e acesso de grupo apenas para o aplicativo específico.

  • Para testar sua atribuição de função personalizada, entre como o cessionário e abra a página Usuários e grupos de um aplicativo para verificar se a opção Adicionar usuário está habilitada.

    Verify the user permissions

PowerShell

Para obter mais detalhes, consulte Criar e atribuir uma função personalizada no Microsoft Entra ID e Atribuir funções personalizadas com escopo de recurso usando o PowerShell.

Criar uma função personalizada

Crie uma nova 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 este 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

Microsoft Graph API

Use a API Create 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 Create unifiedRoleAssignment para atribuir a função personalizada. A atribuição de função combina uma ID de entidade de segurança (que pode ser uma entidade de usuário ou 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 das 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": "/"
}

Próximos passos