Este artigo descreve como criar uma função personalizada para gerenciar o acesso aos recursos do Microsoft Entra usando o centro de administração do Microsoft Entra, o Microsoft Graph PowerShell ou a API do Microsoft Graph. Se, em vez disso, você quiser criar uma função personalizada para gerenciar o acesso aos recursos do Azure, consulte Criar ou atualizar funções personalizadas do Azure usando o portal do Azure.
Para obter informações básicas sobre funções personalizadas, consulte a visão geral de funções personalizadas . A função pode ser atribuída apenas no nível de diretório ou num escopo de recurso de registo de aplicação. Para obter informações sobre o número máximo de funções personalizadas que podem ser criadas em uma organização do Microsoft Entra, consulte limites e restrições de serviço do Microsoft Entra.
Pré-requisitos
- Licença do Microsoft Entra ID P1 ou P2
- Administrador de Função Privilegiada
-
Módulo do Microsoft Graph PowerShell quando utilizar o PowerShell
- Consentimento do administrador ao usar o Graph explorer para a API do Microsoft Graph
Para obter mais informações, consulte pré-requisitos para usar o PowerShell ou o Graph Explorer.
Criar uma função personalizada
Estas etapas descrevem como criar uma função personalizada no centro de administração do Microsoft Entra para gerenciar registros de aplicativos.
Entre no centro de administração do Microsoft Entra como pelo menos um Administrador de Função Privilegiada.
Navegue até Entra ID>Funções e administradores.
Selecione Nova função personalizada.
Na guia Noções básicas, forneça um nome e uma descrição para a função.
Você pode clonar as permissões de linha de base de uma função personalizada, mas não pode clonar uma função interna.
Na guia Permissões, selecione as permissões necessárias para administrar propriedades básicas e propriedades de credenciais dos registos de aplicações. Para obter uma descrição detalhada de cada permissão, consulte Subtipos e permissões de registro de aplicativo no Microsoft Entra ID.
Primeiro, digite "credenciais" na barra de pesquisa e selecione a permissão microsoft.directory/applications/credentials/update
.
Em seguida, digite "básico" na barra de pesquisa, selecione a permissão microsoft.directory/applications/basic/update
e clique em Avançar.
No separador Rever + criar, reveja as permissões e selecione Criar.
Sua função personalizada aparecerá na lista de funções disponíveis para atribuir.
Iniciar sessão
Use o comando Connect-MgGraph para entrar no seu tenant.
Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"
Criar uma função personalizada
Crie uma nova função usando o seguinte script do PowerShell:
# Basic role information
$displayName = "Application Support Administrator"
$description = "Can manage basic aspects of application registrations."
$templateId = (New-Guid).Guid
# Set of permissions to grant
$rolePermissions = @{
"allowedResourceActions" = @(
"microsoft.directory/applications/basic/update",
"microsoft.directory/applications/credentials/update"
)
}
# Create new custom admin role
$customAdmin = New-MgRoleManagementDirectoryRoleDefinition -RolePermissions $rolePermissions `
-DisplayName $displayName -Description $description -TemplateId $templateId -IsEnabled:$true
Atualizar uma função personalizada
# Update role definition
# This works for any writable property on role definition. You can replace display name with other
# valid properties.
Update-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f `
-DisplayName "Updated DisplayName"
Excluir uma função personalizada
# Delete role definition
Remove-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f
Criar uma função personalizada
Siga estes passos:
Use o Create unifiedRoleDefinition API para criar uma função personalizada.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions
Corpo
{
"description": "Can manage basic aspects of application registrations.",
"displayName": "Application Support Administrator",
"isEnabled": true,
"templateId": "<GUID>",
"rolePermissions": [
{
"allowedResourceActions": [
"microsoft.directory/applications/basic/update",
"microsoft.directory/applications/credentials/update"
]
}
]
}
Observação
O "templateId": "GUID"
é um parâmetro opcional que é enviado no corpo dependendo do requisito. Se você tiver um requisito para criar várias funções personalizadas diferentes com parâmetros comuns, é melhor criar um modelo e definir um valor templateId
. Você pode gerar um valor templateId
antecipadamente usando o cmdlet do PowerShell (New-Guid).Guid
.
Utilize o Create unifiedRoleAssignment API para atribuir a função personalizada.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Corpo
{
"principalId":"<GUID OF USER>",
"roleDefinitionId":"<GUID OF ROLE DEFINITION>",
"directoryScopeId":"/<GUID OF APPLICATION REGISTRATION>"
}
Conteúdo relacionado