Revisar as permissões concedidas a aplicativos corporativos

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

As etapas deste artigo se aplicam a todos os aplicativos que foram adicionados ao seu locatário do Microsoft Entra por consentimento do usuário ou do administrador. Para saber mais sobre como consentir com aplicativos, confira Consentimento do usuário e do administrador.

Pré-requisitos

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

  • Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
  • Uma das seguintes funções: Administrador Global, Administrador de Aplicativos de Nuvem ou Administrador de Aplicativos.
  • Um proprietário da entidade de serviço que não é administrador pode invalidar tokens de atualização.

Restauração de permissões

Consulte Restaurar permissões concedidas a aplicativos para obter informações sobre como restaurar permissões que foram revogadas ou excluídas.

Examinar e revogar permissões

Dica

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

Você pode acessar o centro de administração do Microsoft Entra para exibir as permissões concedidas a um aplicativo. Você pode revogar permissões concedidas por administradores para toda a organização e pode obter scripts contextuais do PowerShell para executar outras ações.

Para examinar as permissões de um aplicativo que foram concedidas para toda a organização ou para um usuário ou grupo específico:

  1. Entre no Centro de administração do Microsoft Entra como pelo menos Administrador de Aplicativo de nuvem.
  2. Navegue até Identidade>Aplicativos>Aplicativos Empresariais>Todos os aplicativos.
  3. Selecione o aplicativo ao qual você deseja restringir o acesso.
  4. Selecione Permissões.
  5. Para exibir 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 permissão na lista. Isso abre o painel Detalhes de Notificação. Após revisar as permissões concedidas a um aplicativo, você pode revogar as permissões concedidas pelos administradores para toda a organização.

    Observação

    Não é possível revogar permissões na guia Consentimento do usuário utilizando o portal. Você pode revogar essas permissões utilizando chamadas à 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. Exibir a lista de permissões na guia Consentimento do administrador.
  2. Selecione a permissão que deseja revogar e, em seguida, selecione o controle ... para essa permissão. Screenshot shows how to revoke admin consent.
  3. Selecione Revogar permissão.

Examinar e revogar permissões

Use o script do PowerShell do Azure AD a seguir para revogar todas as permissões concedidas a um aplicativo. Você precisa entrar como, pelo menos, um Administrador de Aplicativos de 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

Remover aplicativo RoleAssignments para usuários ou grupos no 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
}

Examinar e revogar permissões

Use o script do PowerShell do Microsoft Graph a seguir para revogar todas as permissões concedidas a um aplicativo. Você precisa entrar como, pelo menos, um Administrador de Aplicativos de 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 "$ServicePrincipalID"

Example: Get-MgServicePrincipal -ServicePrincipalId '22c1770d-30df-49e7-a763-f39d2ef9b369'

# 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

Remover aplicativo RoleAssignments para usuários ou grupos no 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 "$ServicePrincipalID"

Example: Get-MgServicePrincipal -ServicePrincipalId '22c1770d-30df-49e7-a763-f39d2ef9b369'

# 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
  }

Examinar e revogar permissões

Para examinar as permissões, entre no Graph Explorer como pelo menos um Administrador de Aplicativos na Nuvem.

Será necessário 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 avaliar as permissões delegadas concedidas a um aplicativo.

  1. Obter 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/00063ffc-54e9-405d-b8f3-56124728e051
    
  2. Obter todas as permissões delegadas para a entidade de serviço

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

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

Permissões de aplicativo

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

  1. Obter todas as permissões de aplicativo para a entidade de serviço

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

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

Invalidar os tokens de atualização

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

  1. Obter entidade de serviço usando objectID.

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

    Exemplo:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/57443554-98f5-4435-9002-852986eea510
    
  2. Obtenha as atribuições de função do Aplicativo Microsoft Entra usando o objectID da Entidade de Serviço.

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

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

Observação

A revogação da permissão atualmente concedida não impede que os usuários efetuem um novo consentimento para o aplicativo. Se você quiser impedir que os usuários façam um novo consentimento, leia Configurar como os usuários consentem com os aplicativos.

Próximas etapas