Защита идентификации Microsoft Entra и Microsoft Graph PowerShell

Microsoft Graph — это конечная точка единого API Майкрософт и главная Защита идентификации Microsoft Entra API. В этой статье показано, как использовать пакет SDK Microsoft Graph PowerShell для управления рискованными пользователями с помощью PowerShell. Организации, которые хотят запрашивать API Microsoft Graph напрямую, могут ознакомиться со статьей Руководство. Выявление и устранение рисков с помощью API Microsoft Graph.

Для работы с этим учебником необходимо следующее.

  • Установленный пакет SDK PowerShell для Microsoft Graph. Дополнительные сведения см. в статье Установка пакета SDK PowerShell для Microsoft Graph.

  • Microsoft Graph PowerShell с помощью роли Администратор istrator безопасности. Требуются делегированные разрешения IdentityRiskEvent.Read.All, IdentityRiskyUser.ReadWrite.All или IdentityRiskyUser.ReadWrite.All. Чтобы задать разрешения IdentityRiskEvent.Read.All и IdentityRiskyUser.ReadWrite.All, выполните следующую команду:

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

Если вы используете проверку подлинности только для приложения, воспользуйтесь статьей Использование проверки подлинности только для приложения с пакетом SDK PowerShell для Microsoft Graph. Чтобы зарегистрировать приложение с необходимыми разрешениями, подготовьте сертификат и выполните следующую команду:

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

Получение списка обнаружений рисков с помощью PowerShell

Вы можете получить обнаружения рисков по свойствам обнаружения рисков в защите идентификаторов.

# 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

Получение списка пользователей, совершающих рискованные действия, с помощью PowerShell

Вы можете получить рискованные пользователи и их рискованные истории в защите идентификаторов.

# 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

Подтверждение компрометации пользователей с помощью PowerShell

Вы можете подтвердить компрометацию пользователей и пометить их как пользователей с высоким риском в защите идентификаторов.

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

Удаление пользователей, совершающих рискованные действия, с помощью PowerShell

Вы можете массово закрыть рискованных пользователей в защите идентификаторов.

# 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

Следующие шаги