Partilhar via


Rever as permissões concedidas a aplicações empresariais

Neste artigo, você aprenderá a revisar as permissões concedidas a aplicativos em seu locatário do Microsoft Entra. Talvez seja necessário revisar as permissões quando detetar um aplicativo mal-intencionado ou um que tenha mais permissões do que o necessário. Você aprende a revogar permissões concedidas ao aplicativo usando a API do Microsoft Graph e versões existentes do PowerShell.

As etapas neste artigo se aplicam a todos os aplicativos que foram adicionados ao seu locatário do Microsoft Entra por meio do consentimento do usuário ou administrador. Para obter mais informações sobre como consentir com aplicativos, consulte Consentimento de usuário e administrador.

Pré-requisitos

Para revisar as permissões concedidas aos aplicativos, você precisa:

  • Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
  • Uma das seguintes funções: Cloud Application Administrator, Application Administrator.
  • Um proprietário da entidade de serviço que não seja um administrador pode invalidar tokens de atualização.

Rever e revogar permissões no centro de administração do Microsoft Entra

Gorjeta

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

Pode aceder ao centro de administração do Microsoft Entra para ver as permissões concedidas a uma aplicação. Você pode revogar permissões concedidas por administradores para toda a sua organização e pode obter scripts contextuais do PowerShell para executar outras ações.

Para obter informações sobre como restaurar permissões revogadas ou excluídas, consulte Restaurar permissões concedidas a aplicativos.

Para rever as permissões de uma aplicação concedidas para toda a organização ou para um utilizador ou grupo específico:

  1. Entre no centro de administração do Microsoft Entra como pelo menos um administrador de aplicativos na nuvem.
  2. Navegue até Identity>Applications>Enterprise applications>Todos os aplicativos.
  3. Selecione o aplicativo ao qual você deseja restringir o acesso.
  4. Selecione Permissões.
  5. Para ver as permissões que se aplicam a toda a sua organização, selecione a guia Consentimento do administrador. Para exibir as permissões concedidas a um usuário ou grupo específico, selecione a guia Consentimento do usuário.
  6. Para exibir os detalhes de uma determinada permissão, selecione-a na lista. O painel Detalhes da Permissão é aberto. Depois de analisar as permissões concedidas a um aplicativo, você pode revogar as permissões concedidas pelos administradores para toda a sua organização.

    Nota

    Não é possível revogar permissões na guia Consentimento do usuário usando o portal. Você pode revogar essas permissões usando chamadas de API do Microsoft Graph ou cmdlets do PowerShell. Vá para as guias PowerShell e Microsoft Graph deste artigo para obter mais informações.

Para revogar permissões na guia Consentimento do administrador:

  1. Exiba a lista de permissões na guia Consentimento do administrador.
  2. Escolha a permissão que deseja revogar e, em seguida, selecione o controle ... para essa permissão. A captura de tela mostra como revogar o consentimento do administrador.
  3. Selecione Revogar permissão.

Revisar e revogar permissões usando o Azure AD PowerShell

Use o seguinte script do Azure AD PowerShell para revogar todas as permissões concedidas a um aplicativo. Você precisa entrar como pelo menos um administrador de aplicativos na nuvem.

Connect-AzureAD 

# Get Service Principal using objectId
$sp = Get-AzureADServicePrincipal -ObjectId "<ServicePrincipal objectID>"

# Get all delegated permissions for the service principal
$spOAuth2PermissionsGrants = Get-AzureADOAuth2PermissionGrant -All $true| Where-Object { $_.clientId -eq $sp.ObjectId }

# Remove all delegated permissions
$spOAuth2PermissionsGrants | ForEach-Object {
    Remove-AzureADOAuth2PermissionGrant -ObjectId $_.ObjectId
}

# Get all application permissions for the service principal
$spApplicationPermissions = Get-AzureADServiceAppRoleAssignedTo -ObjectId $sp.ObjectId -All $true | Where-Object { $_.PrincipalType -eq "ServicePrincipal" }

# Remove all application permissions
$spApplicationPermissions | ForEach-Object {
    Remove-AzureADServiceAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.objectId
}

Invalidar os tokens de atualização usando o Azure AD PowerShell

Remova appRoleAssignments para usuários ou grupos para o aplicativo usando os scripts a seguir.

Connect-AzureAD

# Get Service Principal using objectId
$sp = Get-AzureADServicePrincipal -ObjectId "<ServicePrincipal objectID>"

# Get Azure AD App role assignments using objectID of the Service Principal
$assignments = Get-AzureADServiceAppRoleAssignment -ObjectId $sp.ObjectId -All $true | Where-Object {$_.PrincipalType -eq "User"}

# Revoke refresh token for all users assigned to the application
$assignments | ForEach-Object {
    Revoke-AzureADUserAllRefreshToken -ObjectId $_.PrincipalId
}

Revisar e revogar permissões usando o Microsoft Graph PowerShell

Use o seguinte script do Microsoft Graph PowerShell para revogar todas as permissões concedidas a um aplicativo. Você precisa entrar como pelo menos um administrador de aplicativos na nuvem.

Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "DelegatedPermissionGrant.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"

# Get Service Principal using objectId
$sp = Get-MgServicePrincipal -ServicePrincipalID "<ServicePrincipal objectID>"

Example: Get-MgServicePrincipal -ServicePrincipalId 'aaaaaaaa-bbbb-cccc-1111-222222222222'

# Get all delegated permissions for the service principal
$spOAuth2PermissionsGrants= Get-MgOauth2PermissionGrant -All| Where-Object { $_.clientId -eq $sp.Id }

# Remove all delegated permissions
$spOauth2PermissionsGrants |ForEach-Object {
  Remove-MgOauth2PermissionGrant -OAuth2PermissionGrantId $_.Id
}

# Get all application permissions for the service principal
$spApplicationPermissions = Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $Sp.Id -All | Where-Object { $_.PrincipalType -eq "ServicePrincipal" }

# Remove all application permissions
$spApplicationPermissions | ForEach-Object {
Remove-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $Sp.Id  -AppRoleAssignmentId $_.Id
}

Invalidar os tokens de atualização usando o Microsoft Graph PowerShell

Remova appRoleAssignments para usuários ou grupos para o aplicativo usando os scripts a seguir.

Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"

# Get Service Principal using objectId
$sp = Get-MgServicePrincipal -ServicePrincipalID "<ServicePrincipal objectID>"

Example: Get-MgServicePrincipal -ServicePrincipalId 'aaaaaaaa-bbbb-cccc-1111-222222222222'

# Get Azure AD App role assignments using objectID of the Service Principal
$spApplicationPermissions = Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalID $sp.Id -All | Where-Object { $_.PrincipalType -eq "ServicePrincipal" }

# Revoke refresh token for all users assigned to the application
  $spApplicationPermissions | ForEach-Object {
  Remove-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $_.PrincipalId -AppRoleAssignmentId $_.Id
}

Revisar e revogar permissões usando o Microsoft Graph

Para rever as permissões, inicie sessão no Graph Explorer como pelo menos um Administrador de Aplicações na Nuvem.

Você precisa consentir com as seguintes permissões:

Application.ReadWrite.All, Directory.ReadWrite.All, DelegatedPermissionGrant.ReadWrite.All, AppRoleAssignment.ReadWrite.All.

Permissões delegadas

Execute as consultas a seguir para revisar as permissões delegadas concedidas a um aplicativo.

  1. Obtenha a entidade de serviço usando a ID do objeto.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
    

    Exemplo:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444
    
  2. Obter todas as permissões delegadas para o principal de serviço

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
    
  3. Remova as permissões delegadas usando oAuth2PermissionGrants ID.

    DELETE https://graph.microsoft.com/v1.0/oAuth2PermissionGrants/{id}
    

Permissões de aplicação

Execute as consultas a seguir para revisar as permissões de aplicativo concedidas a um aplicativo.

  1. Obter todas as permissões de aplicação para o principal de serviço

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
    
  2. Remover permissões de aplicativo usando appRoleAssignment ID

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
    

Invalidar os tokens de atualização usando o Microsoft Graph

Execute as consultas a seguir para remover appRoleAssignments de usuários ou grupos para o aplicativo.

  1. Obtenha a entidade de serviço usando objectID.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}
    

    Exemplo:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    
  2. Obtenha atribuições de função do Aplicativo Microsoft Entra usando objectID da Entidade de Serviço.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo
    
  3. Revogar token de atualização para usuários e grupos atribuídos ao aplicativo usando appRoleAssignment ID.

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
    

Nota

Revogar a permissão concedida atualmente não impedirá que os usuários voltem a consentir com as permissões solicitadas pelo aplicativo. Você precisa impedir que o aplicativo solicite as permissões por meio de consentimento dinâmico. Se você quiser impedir que os usuários consintam completamente, leia Configurar como os usuários consentem com aplicativos.

Outra autorização a considerar

As permissões delegadas e de aplicativos não são as únicas maneiras de conceder aos aplicativos e usuários acesso a recursos protegidos. Os administradores devem estar cientes de outros sistemas de autorização que podem conceder acesso a informações confidenciais. Exemplos de vários sistemas de autorização na Microsoft incluem funções internas do Microsoft Entra, RBAC do Exchange e consentimento específico de recursos do Teams.

Próximos passos