Microsoft Entra ID Protection i Microsoft Graph PowerShell
Microsoft Graph to ujednolicony punkt końcowy interfejsu API firmy Microsoft i dom interfejsów API usługi Microsoft Entra ID Protection. W tym artykule pokazano, jak za pomocą zestawu SDK PowerShell programu Microsoft Graph zarządzać ryzykownymi użytkownikami w PowerShell. Organizacje, które chcą wykonywać zapytania dotyczące interfejsów API programu Microsoft Graph bezpośrednio, mogą korzystać z artykułu Samouczek: identyfikowanie i korygowanie zagrożeń przy użyciu interfejsów API programu Microsoft Graph, aby rozpocząć ten proces.
Aby pomyślnie ukończyć ten samouczek, upewnij się, że masz wymagane wymagania wstępne:
Zestaw SDK programu PowerShell programu Microsoft Graph jest zainstalowany. Aby uzyskać więcej informacji, zobacz artykuł Install the Microsoft Graph PowerShell SDK.
Program Microsoft Graph PowerShell korzystający z roli Administratora zabezpieczeń. Wymagane są uprawnienia delegowane: IdentityRiskEvent.Read.All, IdentityRiskyUser.ReadWrite.All lub IdentityRiskyUser.ReadWrite.All. Aby ustawić uprawnienia do elementu IdentityRiskEvent.Read.All i IdentityRiskyUser.ReadWrite.All, uruchom polecenie:
Connect-MgGraph -Scopes "IdentityRiskEvent.Read.All","IdentityRiskyUser.ReadWrite.All"
Jeśli używasz uwierzytelniania tylko do aplikacji, zobacz artykuł Use app-only authentication with the Microsoft Graph PowerShell SDK(Używanie uwierzytelniania tylko aplikacji za pomocą zestawu SDK programu PowerShell programu Microsoft Graph). Aby zarejestrować aplikację z wymaganymi uprawnieniami aplikacji, przygotuj certyfikat i uruchom:
Connect-MgGraph -ClientID YOUR_APP_ID -TenantId YOUR_TENANT_ID -CertificateName YOUR_CERT_SUBJECT ## Or -CertificateThumbprint instead of -CertificateName
Wyświetlanie listy ryzykownych wykryć przy użyciu programu PowerShell
Możesz pobrać wykrycia ryzyka na podstawie ich właściwości w systemie ID Protection.
# 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
Wyświetlanie listy ryzykownych użytkowników przy użyciu programu PowerShell
Możesz pobrać ryzykownych użytkowników i dane ich historii ryzyka w usłudze ID Protection.
# 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 00aa00aa-bb11-cc22-dd33-44ee44ee44ee | Format-Table RiskDetail, RiskLastUpdatedDateTime, @{N="RiskDetection";E={($_). Activity.RiskEventTypes}}, RiskState, UserDisplayName
Potwierdzanie naruszenia zabezpieczeń użytkowników przy użyciu programu PowerShell
Możesz potwierdzić naruszenie zabezpieczeń użytkowników i oznaczyć ich jako użytkowników o wysokim ryzyku w usłudze ID Protection.
# Confirm Compromised on two users
Confirm-MgRiskyUserCompromised -UserIds "11bb11bb-cc22-dd33-ee44-55ff55ff55ff","22cc22cc-dd33-ee44-ff55-66aa66aa66aa"
Odrzucanie ryzykownych użytkowników przy użyciu programu PowerShell
Możesz zbiorczo odrzucić ryzykownych użytkowników w usłudze ID Protection.
# 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