Revisión de los permisos concedidos a aplicaciones empresariales

En este artículo, aprenderá a revisar los permisos concedidos a las aplicaciones en el inquilino de Microsoft Entra. Es posible que tenga que revisar los permisos cuando haya detectado una aplicación malintencionada o cuando se hayan concedido a la aplicación más permisos de los necesarios. Aprenderá a revocar los permisos concedidos a la aplicación mediante la API de Microsoft Graph y las versiones existentes de PowerShell.

Los pasos de este artículo se pueden realizar en todas las aplicaciones que se han agregado al inquilino de Microsoft Entra mediante el consentimiento del usuario o del administrador. Para obtener más información sobre cómo dar su consentimiento a las aplicaciones, vea Consentimiento de usuario y administrador.

Prerrequisitos

Para revisar los permisos concedidos a las aplicaciones, necesita:

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
  • Uno de los roles siguientes: Administrador global, Administrador de aplicaciones en la nube o Administrador de aplicaciones.
  • Un propietario de la entidad de servicio que no sea administrador puede invalidar los tokens de actualización.

Restauración de permisos

Consulte Restaurar permisos concedidos a las aplicaciones para obtener información sobre cómo restaurar los permisos que se hayan revocado o eliminado.

Revisión y revocación de permisos

Sugerencia

Los pasos de este artículo pueden variar ligeramente en función del portal desde donde comienza.

Puede acceder al centro de administración de Microsoft Entra para ver los permisos concedidos a una aplicación. Puede revocar los permisos concedidos por los administradores de toda la organización, además de obtener scripts contextuales de PowerShell para realizar otras acciones.

Para revisar los permisos de una aplicación que se han concedido a toda la organización o a un usuario o grupo específicos:

  1. Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
  2. Vaya a Identidad> Aplicaciones>aplicaciones para empresas> Todas las aplicaciones.
  3. Seleccione la aplicación a la que desea restringir el acceso.
  4. Seleccione Permisos.
  5. Para ver los permisos que se aplican a toda la organización, seleccione la pestaña Administración consentimiento. Para ver los permisos concedidos a un usuario o grupo específico, seleccione la pestaña Consentimiento del usuario.
  6. Para ver los detalles de un permiso determinado, seleccione el permiso de la lista. Se abre el panel Detalles de permiso. Después de revisar los permisos concedidos a una aplicación, puede revocarlos permisos concedidos por los administradores para toda la organización.

    Nota:

    No puede revocar permisos en la pestaña Consentimiento del usuario mediante el portal. Puede revocar estos permisos mediante llamadas API de Microsoft Graph o cmdlets de PowerShell. Vaya a las pestañas de PowerShell y Microsoft Graph de este artículo para obtener más información.

Para revocar permisos en la pestaña Consentimiento del administrador:

  1. Vea la lista de permisos en la pestaña Consentimiento del administrador.
  2. Elija el permiso que desee quitar y, luego, seleccione el control ... para ese permiso. Screenshot shows how to revoke admin consent.
  3. Seleccione Revocar permiso.

Revisión y revocación de permisos

Use este script de PowerShell de Azure AD para revocar todos los permisos concedidos a una aplicación. Debe iniciar sesión como mínimo un administrador de aplicaciones en la nube.

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
}

Invalidación de los tokens de actualización

Quite appRoleAssignments para los usuarios o grupos de la aplicación mediante los siguientes scripts.

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
}

Revisión y revocación de permisos

Use este script de PowerShell de Microsoft Graph para revocar todos los permisos concedidos a esta aplicación. Debe iniciar sesión como mínimo un administrador de aplicaciones en la nube.

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
 }

Invalidación de los tokens de actualización

Quite appRoleAssignments para los usuarios o grupos de la aplicación mediante los siguientes scripts.

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
  }

Revisión y revocación de permisos

Para revisar los permisos, inicie sesión en Graph Explorer como al menos un Administrador de aplicaciones en la nube.

Tiene que dar su consentimiento a los siguientes permisos:

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

Permisos delegados

Ejecute las siguientes consultas para revisar los permisos delegados concedidos a una aplicación.

  1. Obtenga la entidad de servicio mediante el identificador de objeto.

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

    Ejemplo:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00063ffc-54e9-405d-b8f3-56124728e051
    
  2. Obtención de todos los permisos delegados de la entidad de servicio

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
    
  3. Quite los permisos delegados mediante el id. oAuth2PermissionGrants.

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

Permisos de aplicación

Ejecute las siguientes consultas para revisar los permisos de aplicación concedidos a una aplicación.

  1. Obtención de todos los permisos de aplicación de la entidad de servicio

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignments
    
  2. Eliminación de permisos de aplicación mediante el id. appRoleAssignment

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

Invalidación de los tokens de actualización

Ejecute las siguientes consultas para quitar appRoleAssignments de usuarios o grupos en la aplicación.

  1. Obtenga la entidad de servicio mediante objectID.

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

    Ejemplo:

    GET https://graph.microsoft.com/v1.0/servicePrincipals/57443554-98f5-4435-9002-852986eea510
    
  2. Obtenga asignaciones de roles de aplicación de Microsoft Entra mediante objectID de la entidad de servicio.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipal-id}/appRoleAssignedTo
    
  3. Revoque el token de actualización para los usuarios y grupos asignados a la aplicación mediante el id. appRoleAssignment.

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

Nota:

La revocación del permiso actual concedido no impedirá que los usuarios vuelvan a tener consentimiento en la aplicación. Si desea bloquear el consentimiento de los usuarios, lea Configuración del consentimiento de los usuarios finales a las aplicaciones.

Pasos siguientes