Configuración del consentimiento activo en función del riesgo mediante PowerShell

En este artículo va a obtener información sobre cómo configurar el consentimiento activo en función del riesgo en Microsoft Entra ID. El consentimiento activo en función del riesgo ayuda a reducir la exposición de los usuarios a aplicaciones malintencionadas que realizan solicitudes de consentimiento ilícitas.

Por ejemplo, las solicitudes de consentimiento de aplicaciones multiinquilino recién registradas que no están comprobadas por el editor y requieren permisos no básicos se consideran de riesgo. Si se detecta una solicitud de consentimiento de usuario de riesgo, la solicitud requiere un "paso activo" para el consentimiento de administrador. Esta funcionalidad de paso activo está habilitada de manera predeterminada, pero solo produce un cambio de comportamiento cuando está habilitado el consentimiento del usuario.

Cuando se detecta una solicitud de consentimiento de riesgo, la petición de consentimiento muestra un mensaje que indica que se necesita la aprobación del administrador. Si el flujo de trabajo de solicitud de consentimiento de administrador está habilitado, el usuario puede enviar la solicitud a un administrador para que la revise de nuevo desde la propia petición de consentimiento. Si el flujo de trabajo de solicitud de consentimiento del administrador no está habilitado, se muestra el mensaje siguiente:

AADSTS90094: <clientAppDisplayName> necesita permiso para acceder a recursos de su organización que solo un administrador puede conceder. Pida a un administrador que conceda permiso a esta aplicación para poder usarla.

En este caso, también se registra un evento de auditoría con la categoría "ApplicationManagement", el tipo de actividad "Consentimiento a la aplicación" y un motivo de estado "Aplicación arriesgada detectada".

Requisitos previos

Para poder configurar el consentimiento activo en función del riesgo, necesita lo siguiente:

Puede usar el módulo beta de PowerShell de Microsoft Graph para deshabilitar el paso activo del consentimiento del administrador que es necesario en los casos en los que se detecta un riesgo o para habilitarlo si se deshabilitó anteriormente.

Importante

Asegúrese de usar el módulo de cmdlets beta de PowerShell de Microsoft Graph.

  1. Ejecute el siguiente comando:

    Install-Module Microsoft.Graph.Beta
    
  2. Conéctese a PowerShell de Microsoft Graph:

    Connect-MgGraph -Scopes "Directory.ReadWrite.All"
    
  3. Recupere el valor actual para la configuración del directorio Consent Policy Settings del inquilino. Para ello, es necesario comprobar si se ha creado la configuración del directorio para esta característica. Si no se ha creado, use los valores de la plantilla de configuración de directorio correspondiente.

    $consentSettingsTemplateId = "dffd5d46-495d-40a9-8e21-954ff55e198a" # Consent Policy Settings
    $settings = Get-MgBetaDirectorySetting -All | Where-Object { $_.TemplateId -eq $consentSettingsTemplateId }
    if (-not $settings) {
        $params = @{
            TemplateId = $consentSettingsTemplateId
            Values = @(
                @{ 
                    Name = "BlockUserConsentForRiskyApps"
                    Value = "True"
                }
                @{ 
                    Name = "ConstrainGroupSpecificConsentToMembersOfGroupId"
                    Value = "<groupId>"
                }
                @{ 
                    Name = "EnableAdminConsentRequests"
                    Value = "True"
                }
                @{ 
                    Name = "EnableGroupSpecificConsent"
                    Value = "True"
                }
            )
        }
        $settings = New-MgBetaDirectorySetting -BodyParameter $params
    }
    $riskBasedConsentEnabledValue = $settings.Values | ? { $_.Name -eq "BlockUserConsentForRiskyApps" }
    
  4. Compruebe el valor:

    $riskBasedConsentEnabledValue
    

    Comprenda el valor de configuración:

    Configuración Tipo Descripción
    BlockUserConsentForRiskyApps Boolean Marca que indica si se bloqueará el consentimiento del usuario cuando se detecte una solicitud de riesgo.
  5. Para cambiar el valor de BlockUserConsentForRiskyApps, use el cmdlet Update-MgBetaDirectorySetting.

    $params = @{
        TemplateId = $consentSettingsTemplateId
        Values = @(
            @{ 
                Name = "BlockUserConsentForRiskyApps"
                Value = "False"
            }
            @{ 
                Name = "ConstrainGroupSpecificConsentToMembersOfGroupId"
                Value = "<groupId>"
            }
            @{ 
                Name = "EnableAdminConsentRequests"
                Value = "True"
            }
            @{ 
                Name = "EnableGroupSpecificConsent"
                Value = "True"
            }
        )
    }
    Update-MgBetaDirectorySetting -DirectorySettingId $settings.Id -BodyParameter $params
    

Pasos siguientes