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 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 as noções básicas de funções personalizadas, consulte a visão geral das funções personalizadas . A função pode ser atribuída apenas no escopo no nível do diretório ou em um escopo do recurso de registro do aplicativo. 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 Microsoft Entra ID P1 ou P2
- Administrador de função com privilégios
-
Módulo do Microsoft Graph PowerShell ao usar o PowerShell
- Consentimento do administrador ao usar o Explorador do Graph 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 aplicativo.
Entre no Centro de administração do Microsoft Entra como, no mínimo, um Administrador de funções com privilégios.
Navegue até Entra ID>Funções e administradores.
Selecione Nova função personalizada.
Na guia Básico, 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 gerenciar as propriedades básicas e as propriedades de credenciais dos registros de aplicativo. Para obter uma descrição detalhada de cada permissão, consulte Subtipos e permissões de registro de aplicativo no Microsoft Entra ID.
Primeiro, insira "credenciais" na barra de pesquisa e selecione a permissão microsoft.directory/applications/credentials/update
.
Em seguida, insira "básico" na barra de pesquisa, selecione a permissão microsoft.directory/applications/basic/update
e, em seguida, clique Próximo.
Na guia Revisar + criar, examine as permissões e selecione Criar.
Sua função personalizada aparecerá na lista de funções disponíveis a serem atribuídas.
Entrar
Use o comando Connect-MgGraph para entrar em seu locatário.
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 estas etapas:
Use a API Criar unifiedRoleDefinition 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"
]
}
]
}
Nota
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
com antecedência usando o cmdlet do PowerShell (New-Guid).Guid
.
Use a API Criar unifiedRoleAssignment 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