Eliminar las User Consent ya sea para un usuario específico, varios usuarios, no puede hacerse a través del portal. Actualmente, no existen características de interfaz de usuario para eliminarlas User Consent; únicamente se puede hacer con PowerShell o Graph API .
El siguiente ejemplo es un script de PowerShell que permite la eliminación de un usuario que ha otorgado su consentimiento, que he preparado.
#Requires -Modules AzureAD
[CmdletBinding()]
param (
# El ID de objeto del principal de servicio (usuario) de la aplicación. Se puede encontrar en Aplicaciones empresariales -> tu aplicación, en la pestaña de descripción general.
[Parameter(Mandatory=$true)]
[string] $AzureAdServicePrincipalObjectId,
# El ID de objeto principal del usuario del que quieres eliminar el consentimiento
[Parameter(Mandatory=$true)]
[string] $UserPrincipalObjectId
)
Connect-AzureAD
# Obtener el principal de servicio usando el ID de objeto
$sp = Get-AzureADServicePrincipal -ObjectId $AzureAdServicePrincipalObjectId
# Obtener todos los permisos delegados para el principal de servicio
$spOAuth2PermissionsGrants = Get-AzureADOAuth2PermissionGrant -All $true| Where-Object { $_.clientId -eq $sp.ObjectId }
# Eliminar los permisos concedidos para el principal
$spOAuth2PermissionsGrants | Where-Object PrincipalId -eq $UserPrincipalObjectId | Remove-AzureADOAuth2PermissionGrant
Este script proporciona una forma programática de gestionar el consentimiento de los usuarios para tu aplicación de Azure AD. Los consentimientos de los usuarios pueden ser eliminados según sea necesario, lo que puede ser útil por motivos de cumplimiento o seguridad. Sin embargo, es crucial tener cuidado al revocar permisos, ya que puede afectar la funcionalidad de tu aplicación para los usuarios afectados.
- Parámetros:
$AzureAdServicePrincipalObjectId
: El ID de objeto del principal de servicio (aplicación) de Azure AD. Este ID se encuentra en el portal de Azure en la sección de Aplicaciones empresariales -> Tu aplicación -> Pestaña de descripción general.$UserPrincipalObjectId
: El ID de objeto principal del usuario del cual deseas eliminar el consentimiento.
- Conexión a Azure AD:
- El script comienza conectándose a Azure AD utilizando el cmdlet
Connect-AzureAD
. Esto es necesario para realizar operaciones en el directorio activo de Azure.
- El script comienza conectándose a Azure AD utilizando el cmdlet
- Obtener el Principal de Servicio:
- Utiliza el cmdlet
Get-AzureADServicePrincipal
para obtener el principal de servicio (aplicación) utilizando el ID de objeto proporcionado ($AzureAdServicePrincipalObjectId
).
- Utiliza el cmdlet
- Obtener Permisos Delegados:
- Utiliza el cmdlet
Get-AzureADOAuth2PermissionGrant
para obtener todos los permisos delegados para el principal de servicio. Estos permisos representan los consentimientos concedidos por los usuarios para la aplicación. Luego, filtra estos permisos según el ID de cliente del principal de servicio obtenido anteriormente ($sp.ObjectId
).
- Utiliza el cmdlet
- Eliminar el Consentimiento:
- Utiliza el cmdlet
Remove-AzureADOAuth2PermissionGrant
para eliminar el consentimiento concedido para el usuario especificado ($UserPrincipalObjectId
). Esto se realiza mediante la eliminación de los registros correspondientes en los permisos delegados obtenidos anteriormente.
- Utiliza el cmdlet