Revisión de los permisos concedidos a aplicaciones empresariales
En este artículo, descubrirá cómo revisar los permisos concedidos a las aplicaciones en el inquilino de Microsoft Entra. Es posible que tenga que revisar los permisos cuando detecte una aplicación malintencionada o que tiene más permisos de los necesarios. Descubrirá cómo 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 siguientes roles: Administrador de aplicaciones en la nube, Administrador de aplicaciones.
- Un propietario de la entidad de servicio que no sea administrador puede invalidar los tokens de actualización.
Revisión y revocación de permisos en el Centro de administración Microsoft Entra
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.
Vea Restauración de permisos concedidos a las aplicaciones para obtener información sobre cómo restaurar los permisos revocados o eliminados.
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, haga lo siguiente:
- Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
- Vaya a Identidad> Aplicaciones>aplicaciones para empresas> Todas las aplicaciones.
- Seleccione la aplicación a la que desea restringir el acceso.
- Seleccione Permisos.
- 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.
- 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:
- Vea la lista de permisos en la pestaña Consentimiento del administrador.
- Elija el permiso que desee quitar y, luego, seleccione el control ... para ese permiso.
- Seleccione Revocar permiso.
Revisión y revocación de permisos mediante Azure AD PowerShell
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 mediante PowerShell de Azure AD
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 mediante Microsoft Graph PowerShell
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 "<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
}
Invalidación de los tokens de actualización mediante Microsoft Graph PowerShell
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 "<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
}
Revisión y revocación de permisos mediante Microsoft Graph
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.
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/00001111-aaaa-2222-bbbb-3333cccc4444
Obtención de todos los permisos delegados de la entidad de servicio
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants
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.
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
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 mediante Microsoft Graph
Ejecute las siguientes consultas para quitar appRoleAssignments de usuarios o grupos en la aplicación.
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/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
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
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 los permisos que ha solicitado la aplicación. Debe impedir que la aplicación solicite los permisos mediante el consentimiento dinámico. Si también quiere bloquear el consentimiento de los usuarios, lea Configuración del consentimiento de los usuarios finales a las aplicaciones.
Otra autorización que se debe tener en cuenta
Los permisos delegados y de aplicación no son las únicas formas de conceder a las aplicaciones y a los usuarios acceso a los recursos protegidos. Los administradores deben tener en cuenta otros sistemas de autorización que pueden conceder acceso a información confidencial. Algunos ejemplos de varios sistemas de autorización de Microsoft incluyen Roles integrados de Microsoft Entra, RBAC de Exchange y Consentimiento específico del recurso de Teams.