Índice
Funções de Aplicativo e Controle de Acesso
As funções de aplicativo (app roles) são um mecanismo poderoso para implementar controle de acesso baseado em funções (RBAC) em aplicações empresariais. Elas permitem:
- Definir permissões granulares específicas para a aplicação
- Agrupar permissões relacionadas em funções lógicas
- Atribuir funções a utilizadores, grupos ou principais de serviço
- Simplificar a gestão de acesso para administradores
Atribuição via Microsoft Graph
Para atribuir uma função de aplicativo a um utilizador ou grupo:
# Conectar ao Microsoft Graph
Connect-MgGraph -Scopes "AppRoleAssignment.ReadWrite.All"
# IDs necessários para a atribuição
$servicePrincipalId = "11111111-1111-1111-1111-111111111111" # ID do service principal da aplicação
$appRoleId = "22222222-2222-2222-2222-222222222222" # ID da função de aplicativo
$userId = "33333333-3333-3333-3333-333333333333" # ID do utilizador
# Criar a atribuição da função
$params = @{
PrincipalId = $userId
ResourceId = $servicePrincipalId
AppRoleId = $appRoleId
}
New-MgServicePrincipalAppRoleAssignedTo @params
Verificação de Funções Atribuídas
Para verificar as funções atribuídas a um utilizador:
# Obter todas as atribuições de funções para um utilizador
$userAppRoles = Get-MgUserAppRoleAssignment -UserId $userId
foreach ($role in $userAppRoles) {
$servicePrincipal = Get-MgServicePrincipal -ServicePrincipalId $role.ResourceId
Write-Output "Aplicação: $($servicePrincipal.DisplayName)"
Write-Output "Função: $($role.AppRoleId)"
Write-Output "--------"
}
Remoção de Atribuições
Para remover uma atribuição de função:
# ID da atribuição a ser removida
$appRoleAssignmentId = "44444444-4444-4444-4444-444444444444"
# Remover a atribuição
Remove-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $servicePrincipalId -AppRoleAssignmentId $appRoleAssignmentId
Melhores Práticas
- Prefira atribuir funções a grupos em vez de utilizadores individuais
- Documente claramente o propósito e as permissões de cada função de aplicativo
- Implemente revisões periódicas de atribuições para evitar acumulação de privilégios
- Siga o princípio do menor privilégio ao definir e atribuir funções