Azure Active Directory Identity Protection と Microsoft Graph PowerShell SDK
Microsoft Graph は、Microsoft の統合 API エンドポイントであり、Azure Active Directory Identity Protection API のホームです。 この記事では、PowerShell を使用して危険なユーザーの詳細を取得するために、Microsoft Graph PowerShell SDK を使用する方法について説明します。 Microsoft Graph API に対して直接クエリを実行する組織は、チュートリアル: Microsoft Graph API を使用したリスクの特定と修復に関する記事を使用して作業を開始できます。
Microsoft Graph に接続する
Microsoft Graph を介して Identity Protection のデータにアクセスするには、次の 4 つのステップがあります。
証明書を作成する
運用環境では、実稼働の証明機関からの証明書を使用しますが、このサンプルでは自己署名証明書を使用します。 次の PowerShell コマンドを使用して、証明書を作成してエクスポートします。
$cert = New-SelfSignedCertificate -Subject "CN=MSGraph_ReportingAPI" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256
Export-Certificate -Cert $cert -FilePath "C:\Reporting\MSGraph_ReportingAPI.cer"
新しいアプリ登録の作成
- Azure portal で、 [Azure Active Directory]>[アプリの登録] に移動します。
- [新規登録] を選択します。
- [作成] ページで、以下の手順を実行します。
- [名前] ボックスにアプリケーションの名前 (例:Azure AD リスク検出 API)。
- [サポートされているアカウントの種類] で、その API を使用するアカウントの種類を選択します。
- [登録] を選択します。
- [アプリケーション (クライアント) ID] と [ディレクトリ (テナント) ID] をメモします。これらの項目は後で必要になります。
API のアクセス許可を構成する
この例では、アプリケーションのアクセス許可を構成して、このサンプルを自動で使用できるようにします。 ログオンするユーザーにアクセス許可を付与する場合は、代わりに委任されたアクセス許可を選択します。 各種のアクセス許可の詳細については、記事「Microsoft ID プラットフォームでのアクセス許可と同意」を参照してください。
- 作成したアプリケーションから、 [API のアクセス許可] を選択します。
- [構成されたアクセス許可] ページで、上部ツール バーの [アクセス許可の追加] をクリックします。
- [API アクセスの追加] ページで、 [API を選択します] をクリックします。
- [API を選択します] ページで、 [Microsoft Graph] を選んで、 [選択] をクリックします。
- [API アクセス許可の要求] ページで、以下を実行します。
- [アプリケーションのアクセス許可] を選択します。
- [
IdentityRiskEvent.Read.All] と [IdentityRiskyUser.Read.All] の横にあるチェックボックスをオンにします。 - [アクセス許可の追加] を選択します.
- [Grant admin consent for domain]\(ドメインに管理者の同意を与えます\) を選択します。
有効な資格情報を構成する
- 作成したアプリケーションから、[証明書 & シークレット] を選択します。
- [証明書] で [証明書のアップロード] を選択します。
- 開いたウィンドウで、前にエクスポートした証明書を選択します。
- [追加] を選択します。
- 証明書の [拇印] をメモします。次の手順でこの情報が必要になります。
PowerShell を使用して危険なユーザーを一覧表示する
Microsoft Graph に対してクエリを実行できるようにするために、PowerShell ウィンドウで Install-Module Microsoft.Graph コマンドを使用して Microsoft.Graph モジュールをインストールする必要があります。
次の変数を変更して、前の手順で生成された情報を含めます。次に、PowerShell を使用して、それらを全体として実行して危険なユーザーの詳細を取得します。
$ClientID = "<your client ID here>" # Application (client) ID gathered when creating the app registration
$tenantdomain = "<your tenant domain here>" # Directory (tenant) ID gathered when creating the app registration
$Thumbprint = "<your client secret here>" # Certificate thumbprint gathered when configuring your credential
Select-MgProfile -Name "beta"
Connect-MgGraph -ClientId $ClientID -TenantId $tenantdomain -CertificateThumbprint $Thumbprint
Get-MgRiskyUser -All