Configurer le consentement réaffecté en fonction du risque à l’aide de PowerShell

Cet article explique comment configurer un consentement réaffecté en fonction du risque dans Microsoft Entra ID. La réaffectation du consentement en fonction des risques contribue à réduire l’exposition des utilisateurs aux applications malveillantes qui font des demandes de consentement illicites.

Par exemple, les demandes de consentement pour les applications multilocataires nouvellement inscrites qui ne sont pas vérifiées par l’éditeur et qui nécessitent des autorisations autres que celles de base sont considérées comme risquées. Si une demande de consentement d’utilisateur à risque est détectée, la demande nécessite une réaffectation à un consentement d’administrateur. Cette capacité de réaffectation est activée par défaut, mais n’entraîne de changement de comportement que quand le consentement d’utilisateur est activé.

Quand une demande de consentement à risque est détectée, l’invite de consentement affiche un message indiquant que l’approbation d’un administrateur est requise. Si le flux de travail de demande de consentement de l’administrateur est activé, l’utilisateur peut envoyer la demande à un administrateur pour révision ultérieure, directement à partir de l’invite de consentement. Si le flux de travail de demande de consentement d’administrateur n’est pas activé, le message suivant s’affiche :

AADSTS90094 : <clientAppDisplayName> a besoin d’une autorisation pour accéder aux ressources de votre organisation, et cet accès ne peut être autorisé que par un administrateur. Demandez à un administrateur d’accorder une autorisation pour cette application avant de pouvoir l’utiliser.

Dans ce cas, un événement d’audit est également journalisé avec la catégorie « ApplicationManagement », le type d’activité « Consent to application » et le motif de statut « Risky application detected ».

Prérequis

Pour configurer le consentement réaffecté en fonction du risque, vous devez disposer de ce qui suit :

  • Un compte d’utilisateur. Si vous n’en avez pas déjà un, vous pouvez créer un compte gratuit.
  • Un rôle Administrateur général ou Administrateur privilégié.

Vous pouvez utiliser le module bêta Microsoft Graph PowerShell pour désactiver le passage au consentement administrateur requis quand un risque est détecté ou l’activer s’il a été précédemment désactivé.

Important

Vérifiez que vous utilisez le module d’applets de commande bêta Microsoft Graph PowerShell.

  1. Exécutez la commande suivante :

    Install-Module Microsoft.Graph.Beta
    
  2. Connectez-vous à Microsoft Graph PowerShell :

    Connect-MgGraph -Scopes "Directory.ReadWrite.All"
    
  3. Récupérez la valeur actuelle des paramètres d’annuaire Consent Policy Settings (Paramètres de stratégie de consentement) dans votre locataire. Pour ce faire, vous devez vérifier si les paramètres d’annuaire pour cette fonctionnalité ont été créés. S’ils n’ont pas été créés, utilisez les valeurs du modèle de paramètres d’annuaire correspondant.

    $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. Vérifiez la valeur :

    $riskBasedConsentEnabledValue
    

    Comprendre la valeur des paramètres :

    Paramètre Type Description
    BlockUserConsentForRiskyApps Boolean Indicateur spécifiant si le consentement de l’utilisateur sera bloqué en cas de détection d’une demande risquée.
  5. Pour modifier la valeur de BlockUserConsentForRiskyApps, utilisez l’applet de commande 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
    

Étapes suivantes