Protection des ID Microsoft Entra et Microsoft Graph PowerShell

Microsoft Graph est le point de terminaison d’API unifiée de Microsoft et accueille également les API Protection des ID Microsoft Entra. Cet article vous montre comment utiliser le Kit de développement logiciel (SDK) Microsoft Graph PowerShell pour gérer les utilisateurs à risque à l’aide de PowerShell. Les organisations qui souhaitent interroger directement les API Microsoft Graph peuvent utiliser l’article Tutoriel : Identifier et corriger les risques à l’aide des API Microsoft Graph pour commencer ce parcours.

Pour réussir ce tutoriel, assurez-vous que vous répondez aux conditions préalables requises :

  • Le SDK Microsoft Graph PowerShell est installé. Pour plus d’informations, consultez l’article Installer le SDK Microsoft Graph PowerShell.

  • Microsoft Graph PowerShell en utilisant un rôle d’Administrateur de la sécurité. Les autorisations déléguées IdentityRiskEvent.Read.All, IdentityRiskyUser.ReadWrite.All ou IdentityRiskyUser.ReadWrite.All sont requises. Pour définir les autorisations sur IdentityRiskEvent.Read.All et IdentityRiskyUser.ReadWrite.All, exécutez :

    Connect-MgGraph -Scopes "IdentityRiskEvent.Read.All","IdentityRiskyUser.ReadWrite.All"
    

Si vous utilisez l’authentification d’application uniquement, consultez l’article Utiliser l’authentification d’application uniquement avec le SDK Microsoft Graph PowerShell. Pour inscrire une application avec les autorisations d’application requises, préparez un certificat et exécutez :

Connect-MgGraph -ClientID YOUR_APP_ID -TenantId YOUR_TENANT_ID -CertificateName YOUR_CERT_SUBJECT ## Or -CertificateThumbprint instead of -CertificateName

Répertorier les détections à risque à l’aide de PowerShell

Vous pouvez récupérer les détections des risques avec les propriétés d’une détection de risque dans la protection des ID.

# List all anonymizedIPAddress risk detections
Get-MgRiskDetection -Filter "RiskType eq 'anonymizedIPAddress'" | Format-Table UserDisplayName, RiskType, RiskLevel, DetectedDateTime

# List all high risk detections for the user 'User01'
Get-MgRiskDetection -Filter "UserDisplayName eq 'User01' and Risklevel eq 'high'" | Format-Table UserDisplayName, RiskType, RiskLevel, DetectedDateTime

Répertorier les utilisateurs à risque à l’aide de PowerShell

Vous pouvez récupérer les utilisateurs à risque et leurs historiques à risque dans la protection des ID.

# List all high risk users
Get-MgRiskyUser -Filter "RiskLevel eq 'high'" | Format-Table UserDisplayName, RiskDetail, RiskLevel, RiskLastUpdatedDateTime

#  List history of a specific user with detailed risk detection
Get-MgRiskyUserHistory -RiskyUserId 375844b0-2026-4265-b9f1-ee1708491e05| Format-Table RiskDetail, RiskLastUpdatedDateTime, @{N="RiskDetection";E={($_). Activity.RiskEventTypes}}, RiskState, UserDisplayName

Confirmer que des utilisateurs sont compromis avec PowerShell

Vous pouvez confirmer que des utilisateurs sont compromis et les marquer comme utilisateurs à risque élevé dans la protection des ID.

# Confirm Compromised on two users
Confirm-MgRiskyUserCompromised -UserIds "577e09c1-5f26-4870-81ab-6d18194cbb51","bf8ba085-af24-418a-b5b2-3fc71f969bf3"

Ignorer les utilisateurs à risque à l’aide de PowerShell

Vous pouvez ignorer en bloc les utilisateurs à risque dans la protection des ID.

# Get a list of high risky users which are more than 90 days old
$riskyUsers= Get-MgRiskyUser -Filter "RiskLevel eq 'high'" | where RiskLastUpdatedDateTime -LT (Get-Date).AddDays(-90)
# bulk dismiss the risky users
Invoke-MgDismissRiskyUser -UserIds $riskyUsers.Id

Étapes suivantes