Microsoft Entra ID のログインログを収集する
このドキュメントでは、Google Security Operations フィードを設定して Microsoft Entra ID(旧 Azure Active Directory)のログインログを収集する方法について説明します。取り込みを構成するには、Azure Event Hub(推奨)またはサードパーティ API の 2 つの方法があります。
始める前に
次の前提条件を満たしていることを確認します。
- Google SecOps インスタンス
- Microsoft Azure ポータルへの特権アクセス
- Microsoft Entra ID のセキュリティ管理者またはグローバル管理者ロール(診断設定に必要)
- サードパーティ API メソッドの場合、管理者の同意を付与するための次のいずれかのロール:
- グローバル管理者 - 任意の API の任意の権限に対して同意を付与できます
- 特権ロール管理者 - 任意の API の任意の権限に対する同意を付与できます
- Cloud アプリケーション管理者 - Microsoft Graph アプリケーション ロール(アプリケーションのアクセス許可)を除く、任意の API の任意のアクセス許可に対する同意を付与できます。
方法 1: Azure Event Hub(推奨)
この方法では、キャプチャが有効になっている Azure Event Hub を介して Entra ID ログインログをストリーミングし、データを Azure Blob Storage に書き込みます。Google SecOps は、Azure Blob Storage V2 フィードタイプを使用して Blob Storage からログを取り込みます。
Azure Storage アカウントを構成する
ストレージ アカウントを作成する
- Azure ポータルで、[ストレージ アカウント] を検索します。
- [+ 作成] をクリックします。
次の構成情報を提供してください。
設定 値 サブスクリプション Azure サブスクリプションを選択する リソース グループ 既存のものを選択するか、新しいものを作成する ストレージ アカウント名 一意の名前を入力します(例: secopsaadsignin)。リージョン Event Hub 名前空間に最も近いリージョンを選択します。 パフォーマンス 標準(推奨) 冗長性 LRS(ローカル冗長ストレージ)または GRS(地理冗長ストレージ) [Review + create] をクリックします。
概要を確認し、[作成] をクリックします。
デプロイが完了するまで待ちます。
ストレージ アカウントの認証情報を取得する
- 作成したストレージ アカウントに移動します。
- 左側のナビゲーションで、[セキュリティとネットワーキング] の [アクセスキー] を選択します。
- [キーを表示] をクリックします。
- 次の値をコピーして保存します。
- ストレージ アカウント名
- キー 1 またはキー 2: 共有アクセスキー。
Event Hub 名前空間と Event Hub を作成する
Event Hub 名前空間を作成する
- Azure ポータルで、Event Hubs を検索します。
- [+ 作成] をクリックします。
次の構成情報を提供してください。
設定 値 サブスクリプション Azure サブスクリプションを選択する リソース グループ ストレージ アカウントと同じリソース グループを選択する Namespace 名 一意の名前を入力します(例: secops-entraid-signin)。ロケーション ストレージ アカウントと同じリージョンを選択します 料金ティア Standard(Event Hub Capture に必要) [確認 + 作成]、[作成] の順にクリックします。
デプロイが完了するまで待ちます。
イベント ハブを作成する
- 作成した Event Hub 名前空間に移動します。
- 上部の [+ イベントハブ] をクリックします。
- 次の構成の詳細を入力します。
- 名前: 名前を入力します(例:
entraid-signin-logs)。 - パーティション数: 2(デフォルト。スループットを向上させるには増やします)。
- クリーンアップ ポリシー: 削除。
- 保持時間(時間): 24(最小値。復元力が必要な場合は増やします)。
- 名前: 名前を入力します(例:
- [確認 + 作成]、[作成] の順にクリックします。
Event Hub Capture を有効にする
- 作成した Event Hub(Namespace 内)に移動します。
- 左側のナビゲーションで [キャプチャ] を選択します。
- [キャプチャ] を [オン] に設定します。
次の構成情報を提供してください。
設定 値 期間(分) 5(準リアルタイムの場合は 5 以下) サイズ ウィンドウ(MB) 300 キャプチャ プロバイダ Azure Blob Storage Azure サブスクリプション サブスクリプションを選択する ストレージ アカウント 作成したストレージ アカウントを選択します。 Blob コンテナ コンテナを作成または選択します( entraid-signin-captureなど)。[保存] をクリックします。
Entra ID の診断設定を構成する
- Azure ポータルで、Microsoft Entra ID を検索します。
- 左側のナビゲーションで、[モニタリングと正常性] > [診断設定] に移動します。
- [診断設定を追加] をクリックします。
- 次の構成の詳細を入力します。
- 診断設定名: わかりやすい名前を入力します(例:
signin-logs-to-eventhub)。 - [ログ] セクションで、エクスポートするログインログのカテゴリを選択します。
- SignInLogs - ユーザーのインタラクティブなログイン。
- NonInteractiveUserSignInLogs - 非インタラクティブ ユーザーのログイン(省略可、推奨)。
- ServicePrincipalSignInLogs - サービス プリンシパルのサインイン(省略可)。
- ManagedIdentitySignInLogs - マネージド ID のログイン(省略可)。
- [宛先の詳細] セクションで、[イベントハブにストリーミングする] を選択します。
- サブスクリプション: Event Hub 名前空間を含むサブスクリプションを選択します。
- イベント ハブの名前空間: 作成した名前空間(
secops-entraid-signinなど)を選択します。 - イベント ハブ名: 作成した Event Hub(例:
entraid-signin-logs)を選択します。 - イベント ハブ ポリシー名: [RootManageSharedAccessKey] を選択します。
- 診断設定名: わかりやすい名前を入力します(例:
[保存] をクリックします。
フィードを設定する
Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。
- [SIEM 設定] > [フィード] > [新しいフィードを追加]
- Content Hub > Content Packs > Get Started
Entra ID のログインログを取り込むように Google SecOps でフィードを構成する
- [Azure Platform] パックをクリックします。
- Azure AD ログタイプを見つけます。
次のフィールドに値を指定します。
- ソースタイプ: Microsoft Azure Blob Storage V2
Azure URI: キャプチャ コンテナのパスを含む Blob Service エンドポイント URL を入力します。
https://<storage-account>.blob.core.windows.net/entraid-signin-capture/<storage-account>は、Azure ストレージ アカウントの名前に置き換えます。Source deletion option: 必要に応じて削除オプションを選択します。
- なし: 転送後にファイルを削除しません。
- 転送されたファイルを削除する: 転送が完了した後にファイルを削除します。
- 転送されたファイルと空のディレクトリを削除する: 転送が完了した後にファイルと空のディレクトリを削除します。
ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます。デフォルトは 180 日です。
共有キー: ストレージ アカウントの共有アクセスキーの値を入力します。
アセットの名前空間: アセットの名前空間。
Ingestion labels: このフィードのイベントに適用されるラベル。
[フィードを作成] をクリックします。
フィードを作成してからログが Google SecOps に表示されるまで、5 ~ 10 分ほどかかることがあります。
このプロダクト ファミリー内の異なるログタイプに対して複数のフィードを構成する方法については、プロダクト別にフィードを構成するをご覧ください。
Google Security Operations フィードの詳細については、Google Security Operations フィードのドキュメントをご覧ください。各フィードタイプの要件については、タイプ別のフィード構成をご覧ください。
Azure Storage ファイアウォールを構成する(有効になっている場合)
Azure Storage アカウントでファイアウォールを使用している場合は、Google SecOps の IP 範囲を追加する必要があります。
- Azure ポータルで、ストレージ アカウントに移動します。
- [セキュリティとネットワーキング] で [ネットワーキング] を選択します。
- [ファイアウォールと仮想ネットワーク] で、[選択した仮想ネットワークと IP アドレスから有効] を選択します。
- [ファイアウォール] セクションの [アドレス範囲] で、[+ IP 範囲を追加] をクリックします。
- 各 Google SecOps IP 範囲を CIDR 表記で追加します。
- IP 許可リストのドキュメントをご覧ください。
- または、Feed Management API を使用してプログラムで取得します。
- [保存] をクリックします。
方法 2: サードパーティ API
このメソッドは、Microsoft Graph API を使用して、Microsoft テナントから Entra ID ログインログを直接取得します。
IP 許可リストを構成する
フィードを作成する前に、Microsoft Azure ネットワーク設定または条件付きアクセス ポリシーで Google SecOps IP 範囲を許可リストに登録する必要があります。
Google SecOps の IP 範囲を取得する
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- フィード作成インターフェースに表示される IP 範囲をメモします。
- または、Feed Management API を使用して IP 範囲をプログラムで取得します。
ワークロード ID の条件付きアクセスを構成する(必要な場合)
組織で、ロケーションによるアクセスを制限する条件付きアクセス ポリシーを使用している場合:
- Microsoft Entra 管理センターで、[保護] > [条件付きアクセス] > [名前付きの場所] に移動します。
- [+ 新しい店舗] をクリックします。
- 次の構成の詳細を入力します。
- 名前: 「
Google SecOps IP Ranges」と入力します。 - Mark as trusted location: 省略可。セキュリティ ポリシーに基づいて設定します。
- IP 範囲: 各 Google SecOps IP 範囲を CIDR 表記で追加します。
- 名前: 「
- [作成] をクリックします。
- [Conditional Access > Policies] に移動します。
- ワークロード ID に適用されるポリシーについては、
Google SecOps IP Rangesという名前のロケーションまたは特定のサービス プリンシパルの除外を構成します。
Microsoft Azure AD API アクセスを構成する
アプリ登録を作成する
- Microsoft Entra 管理センターまたは Azure ポータルにログインします。
- [ID] > [Applications] > [App registrations] に移動します。
- [New registration] をクリックします。
次の構成情報を提供してください。
- 名前: わかりやすい名前を入力します(例:
Google SecOps Sign-In Logs Integration)。 - サポートされているアカウントの種類: [この組織ディレクトリ内のアカウントのみ(単一テナント)] を選択します。
- リダイレクト URI: 空白のままにします(サービス プリンシパル認証には必要ありません)。
- 名前: わかりやすい名前を入力します(例:
[Register] をクリックします。
登録後、次の値をコピーして保存します。
- アプリケーション(クライアント)ID
- ディレクトリ(テナント)ID
API 権限を構成する
この統合には、次の Microsoft Graph アプリケーション権限が必要です。
- アプリの登録で、[API permissions] に移動します。
- [Add a Permission] をクリックします。
- [Microsoft Graph > アプリケーションの権限] を選択します。
- 次の権限を選択します。
- AuditLog.Read.All - サインイン ログの読み取りに必要です。
- Directory.Read.All - ログインログへのアクセスに Microsoft Graph API が必要とする権限(既知の問題)。
- SecurityEvents.Read.All - Google Security Operations で必要です。
- [権限を追加] をクリックします。
- [[組織名] に管理者の同意を与えます] をクリックします。
- [ステータス] 列に、3 つの権限すべてに対して [[組織名] に付与済み] と表示されていることを確認します。
| 権限 | タイプ | 説明 |
|---|---|---|
| AuditLog.Read.All | アプリケーション | すべてのログイン データと監査ログデータを読み取る |
| Directory.Read.All | アプリケーション | ディレクトリ データの読み取り(API アクセスに必要) |
| SecurityEvents.Read.All | アプリケーション | セキュリティ イベントを読み取る |
クライアント シークレットを作成する
- [証明書とシークレット] に移動します。
- [新しいクライアント シークレット] をクリックします。
次の構成情報を提供してください。
- 説明: わかりやすい名前を入力します(例:
Google SecOps Feed)。 - Expires: 有効期限を選択します。
- 説明: わかりやすい名前を入力します(例:
[追加] をクリックします。
重要: クライアント シークレットの値をすぐにコピーしてください。この値は 1 回だけ表示され、後で取得することはできません。
フィードを作成する前に API アクセスを確認する
Google SecOps フィードを作成する前に、サービス プリンシパルが Microsoft Graph API を正常に認証してアクセスできることを確認します。
PowerShell を使用して認証をテストする
# Replace with your actual values $tenantId = "your-tenant-id" $clientId = "your-client-id" $clientSecret = "your-client-secret" # Token request parameters (must be lowercase) $tokenBody = @{ grant_type = "client_credentials" client_id = $clientId client_secret = $clientSecret scope = "https://graph.microsoft.com/.default" } # Request access token $tokenEndpoint = "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token" $tokenResponse = Invoke-RestMethod -Method Post -Uri $tokenEndpoint -Body $tokenBody -ContentType "application/x-www-form-urlencoded" if ($tokenResponse.access_token) { Write-Host "✓ Successfully obtained access token" -ForegroundColor Green # Test API call to sign-ins endpoint $apiUrl = "https://graph.microsoft.com/v1.0/auditLogs/signIns?`$top=1" $headers = @{ Authorization = "Bearer $($tokenResponse.access_token)" } try { $signInResponse = Invoke-RestMethod -Method Get -Uri $apiUrl -Headers $headers Write-Host "✓ Successfully accessed sign-ins API" -ForegroundColor Green Write-Host "Sample sign-in log retrieved successfully" -ForegroundColor Green } catch { Write-Host "✗ Failed to access sign-ins API" -ForegroundColor Red Write-Host "Error: $($_.Exception.Message)" -ForegroundColor Red } } else { Write-Host "✗ Failed to obtain access token" -ForegroundColor Red }予想される出力:
✓ Successfully obtained access token ✓ Successfully accessed sign-ins API Sample sign-in log retrieved successfullycurl を使用して認証をテストする
# Replace with your actual values TENANT_ID="your-tenant-id" CLIENT_ID="your-client-id" CLIENT_SECRET="your-client-secret" # Request access token curl -X POST "https://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=$CLIENT_ID" \ -d "client_secret=$CLIENT_SECRET" \ -d "scope=https://graph.microsoft.com/.default" # Test API access curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ "https://graph.microsoft.com/v1.0/auditLogs/signIns?\$top=1"
フィードを設定する
Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。
- [SIEM 設定] > [フィード] > [新しいフィードを追加]
- Content Hub > Content Packs > Get Started
Microsoft Azure AD のログインログを取り込むように Google SecOps でフィードを構成する
- [Azure Platform] パックをクリックします。
- Azure AD ログタイプを見つけます。
次のフィールドに値を指定します。
- ソースタイプ: サードパーティ API(推奨)
- OAuth クライアント ID: アプリ登録のアプリケーション(クライアント)ID。
- OAuth クライアント シークレット: 先ほどコピーしたクライアント シークレットの値。
- テナント ID: アプリ登録時の Microsoft テナント ID(UUID 形式、例:
0fc279f9-fe30-41be-97d3-abe1d7681418)。 API の完全パス: Microsoft Graph REST API エンドポイント URL:
graph.microsoft.com/v1.0/auditLogs/signInsAPI 認証エンドポイント: Microsoft Active Directory 認証エンドポイント:
login.microsoftonline.com
詳細オプション:
- フィード名: フィードを識別する事前入力された値。
- Asset namespace: フィードが関連付けられるアセットの名前空間。
- Ingestion Labels: このフィードのすべてのイベントにラベルが追加されます。
[フィードを作成] をクリックします。
フィードを作成すると、コンテキスト データが定期的に取得されます。最初のディレクトリ スナップショットが Google SecOps に表示されるまでに、最大 24 時間かかることがあります。
このプロダクト ファミリー内の異なるログタイプに対して複数のフィードを構成する方法については、プロダクト別にフィードを構成するをご覧ください。
Google Security Operations フィードの詳細については、Google Security Operations フィードのドキュメントをご覧ください。各フィードタイプの要件については、タイプ別のフィード構成をご覧ください。 フィードの作成時に問題が発生した場合は、Google Security Operations サポートにお問い合わせください。
リージョン エンドポイント
ソブリン クラウドでの Microsoft Azure AD のデプロイでは、適切なリージョン エンドポイントを使用します。
| クラウド環境 | API の完全パス | API 認証エンドポイント |
|---|---|---|
| グローバル | graph.microsoft.com/v1.0/auditLogs/signIns |
login.microsoftonline.com |
| 米国政府 L4 | graph.microsoft.us/v1.0/auditLogs/signIns |
login.microsoftonline.us |
| 米国政府 L5(国防総省) | dod-graph.microsoft.us/v1.0/auditLogs/signIns |
login.microsoftonline.us |
| 中国(21Vianet) | microsoftgraph.chinacloudapi.cn/v1.0/auditLogs/signIns |
login.chinacloudapi.cn |
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
activityDateTime |
principal.event_timestamp |
activityDateTime フィールドから解析されます。フィールドが想定される「yyyy-MM-ddTHH:mm:ss.SSSZ」形式または「ISO8601」形式でない場合、パーサーは「MM/dd/yyyy HH:mm:ss A」や「MM/d/yyyy HH:mm:ss A」などの他の形式を試します。 |
activityDisplayName |
security_result.summary |
activityDisplayName から直接マッピングされます。 |
additionalDetails.0.value |
network.http.user_agent |
additionalDetails.0.value から直接マッピングされます。 |
additionalDetails.1.key |
target.resource.attribute.labels.key |
additionalDetails.1.key から直接マッピングされます。 |
additionalDetails.1.value |
target.resource.attribute.labels.value |
additionalDetails.1.value から直接マッピングされます。 |
additionalInfo.[].Key |
network.http.user_agent、target.url |
Key が userAgent の場合は、Value を network.http.user_agent と network.http.parsed_user_agent にマッピングします。Key が alertUrl の場合、Value を target.url にマッピングします。 |
additionalInfo.[].Value |
network.http.user_agent、target.url |
Key が userAgent の場合は、Value を network.http.user_agent と network.http.parsed_user_agent にマッピングします。Key が alertUrl の場合、Value を target.url にマッピングします。 |
am_category |
metadata.description |
am_category から直接マッピングされます。 |
am_tenantId |
metadata.product_deployment_id |
am_tenantId から直接マッピングされます。 |
appId |
target.resource.attribute.labels.value |
appId から直接マッピングされ、ラベルキーは「App Id」になります。 |
appDisplayName |
target.application |
appDisplayName から直接マッピングされます。 |
appliedConditionalAccessPolicies.[].displayName |
security_result.[].rule_name、about.[].user.user_display_name |
appliedConditionalAccessPolicies.[].displayName から直接マッピングされます。 |
appliedConditionalAccessPolicies.[].enforcedGrantControls |
security_result.[].rule_labels.value |
appliedConditionalAccessPolicies.[].enforcedGrantControls から直接マッピングされ、ラベルキーは「applied_conditional_access_policies_enforced_grant_controls」になります。 |
appliedConditionalAccessPolicies.[].enforcedSessionControls |
security_result.[].rule_labels.value |
appliedConditionalAccessPolicies.[].enforcedSessionControls から直接マッピングされ、ラベルキーは「applied_conditional_access_policies_enforced_session_controls」になります。 |
appliedConditionalAccessPolicies.[].id |
security_result.[].rule_id、about.[].user.userid |
appliedConditionalAccessPolicies.[].id から直接マッピングされます。 |
appliedConditionalAccessPolicies.[].result |
security_result.[].detection_fields.value、about.[].labels.value |
appliedConditionalAccessPolicies.[].result から直接マッピングされ、ラベルキーは「Result」になります。 |
authenticationDetails.[].authenticationMethod |
security_result.[].detection_fields.value |
authenticationDetails.[].authenticationMethod から直接マッピングされ、ラベルキーは「authenticationMethod」になります。 |
authenticationDetails.[].authenticationMethodDetail |
security_result.[].detection_fields.value |
authenticationDetails.[].authenticationMethodDetail から直接マッピングされ、ラベルキーは「authenticationMethodDetail」になります。 |
authenticationDetails.[].authenticationStepDateTime |
security_result.[].detection_fields.value |
authenticationDetails.[].authenticationStepDateTime から直接マッピングされ、ラベルキーは「authenticationStepDateTime」です。 |
authenticationDetails.[].authenticationStepRequirement |
security_result.[].detection_fields.value |
authenticationDetails.[].authenticationStepRequirement から直接マッピングされ、ラベルキーは「authenticationStepRequirement」になります。 |
authenticationDetails.[].authenticationStepResultDetail |
security_result.[].detection_fields.value |
authenticationDetails.[].authenticationStepResultDetail から直接マッピングされ、ラベルキーは「authenticationStepResultDetail」です。 |
authenticationDetails.[].succeeded |
security_result.action |
値が「true」の場合は ALLOW、それ以外の場合は BLOCK。 |
authenticationRequirement |
additional.fields.value.string_value |
authenticationRequirement から直接マッピングされ、ラベルキーは「AuthenticationRequirement」になります。 |
authenticationRequirementPolicies.[].detail |
security_result.detection_fields.value |
authenticationRequirementPolicies.[].detail から直接マッピングされ、ラベルキーは「detail」になります。 |
authenticationRequirementPolicies.[].requirementProvider |
security_result.detection_fields.value |
authenticationRequirementPolicies.[].requirementProvider から直接マッピングされ、ラベルキーは「requirementProvider」になります。 |
callerIpAddress |
principal.ip、principal.asset.ip |
callerIpAddress から直接マッピングされます。 |
category |
metadata.description |
category から直接マッピングされます。 |
clientAppUsed |
principal.application |
clientAppUsed から直接マッピングされます。 |
conditionalAccessStatus |
additional.fields.value.string_value |
conditionalAccessStatus から直接マッピングされ、ラベルキーは「conditionalAccessStatus」になります。 |
correlationId |
network.session_id、security_result.detection_fields.value |
correlationId から直接マッピングされます。ラベルキーが「CorrelationId」の security_result.detection_fields.value としても使用されます。 |
createdDateTime |
when |
when フィールドは createdDateTime フィールドから派生します。日付と時刻は Grok を使用して createdDateTime フィールドから抽出され、結合されて when フィールドが形成されます。 |
deviceDetail.browser |
network.http.user_agent |
deviceDetail.browser から直接マッピングされます。 |
deviceDetail.deviceId |
principal.asset.asset_id、principal.asset_id |
deviceDetail.deviceId から直接マッピングされ、「デバイス ID:」という接頭辞が付いています。 |
deviceDetail.displayName |
principal.asset.hostname |
deviceDetail.displayName から直接マッピングされます。 |
deviceDetail.isCompliant |
principal.asset.attribute.labels.value |
deviceDetail.isCompliant から直接マッピングされ、ラベルキーは「isCompliant」になります。 |
deviceDetail.isManaged |
principal.asset.attribute.labels.value |
deviceDetail.isManaged から直接マッピングされ、ラベルキーは「isManaged」になります。 |
deviceDetail.operatingSystem |
principal.platform_version |
deviceDetail.operatingSystem から直接マッピングされます。 |
deviceDetail.trustType |
principal.asset.attribute.labels.value |
deviceDetail.trustType から直接マッピングされ、ラベルキーは「trustType」になります。 |
durationMs |
additional.fields.value.string_value |
durationMs から直接マッピングされ、ラベルキーは「durationMs」になります。 |
event.id |
- | 手順(3)に沿ってマッピングされていません。 |
id |
metadata.product_log_id |
id から直接マッピングされます。 |
identity |
target.user.user_display_name |
userId と異なり、メールアドレスでない場合は、identity から直接マッピングされます。 |
initiatedBy.user.displayName |
principal.user.user_display_name |
initiatedBy.user.displayName から直接マッピングされます。 |
initiatedBy.user.id |
principal.user.userid、principal.user.windows_sid |
initiatedBy.user.id から直接マッピングされます。 |
initiatedBy.user.ipAddress |
principal.ip、principal.asset.ip |
initiatedBy.user.ipAddress から直接マッピングされます。 |
initiatedBy.user.userPrincipalName |
principal.user.email_addresses、principal.user.userid |
initiatedBy.user.userPrincipalName から直接マッピングされます。メールアドレスの場合は email_addresses にマッピングされ、それ以外の場合は userid にマッピングされます。 |
Level |
security_result.severity_details、level |
Level から直接マッピングされます。 |
level |
security_result.severity_details、security_result.severity |
level から直接マッピングされます。大文字に変換された後、security_result.severity にもマッピングされます。「Information」、「Informational」、「0」、「4」、「Warning」、「1」、「3」、「Error」、「2」、「Critical」の値の特別な処理。 |
location.city |
principal.location.city |
location.city から直接マッピングされます。 |
location.countryOrRegion |
principal.location.country_or_region |
location.countryOrRegion から直接マッピングされます。 |
location.geoCoordinates.altitude |
additional.fields.value.string_value |
location.geoCoordinates.altitude から直接マッピングされ、ラベルキーは「location_geoCoordinates_altitude」になります。 |
location.geoCoordinates.latitude |
principal.location.region_latitude、principal.location.region_coordinates.latitude |
location.geoCoordinates.latitude から直接マッピングされます。 |
location.geoCoordinates.longitude |
principal.location.region_longitude、principal.location.region_coordinates.longitude |
location.geoCoordinates.longitude から直接マッピングされます。 |
location.state |
principal.location.state |
location.state から直接マッピングされます。 |
location |
principal.location.name |
location から直接マッピングされます。 |
log_type |
metadata.log_type |
log_type から直接マッピングされます。 |
networkLocationDetails.[].networkNames |
additional.fields.value.string_value |
networkLocationDetails.[].networkNames の値を連結し、ラベルキーを「networkName {index}」にします。 |
networkLocationDetails.[].networkType |
security_result.detection_fields.value、additional.fields.value.string_value |
networkLocationDetails.[].networkType から直接マッピングされ、ラベルキーは「networkType」になります。ラベルキー「networkType {index}」の additional.fields.value.string_value としても使用されます。 |
operationName |
event_type |
operationName が「Sign-in activity」の場合、USER_LOGIN。operationName が「グループにメンバーを追加」の場合、USER_CHANGE_PERMISSIONS。 |
operationType |
security_result.action_details |
operationType から直接マッピングされます。 |
properties.activity |
security_result.summary |
properties.activity から直接マッピングされます。 |
properties.activityDateTime |
when |
properties.activityDateTime フィールドから解析されます。フィールドが想定される「yyyy-MM-ddTHH:mm:ss.SSSZ」形式または「ISO8601」形式でない場合、パーサーは「MM/dd/yyyy HH:mm:ss A」や「MM/d/yyyy HH:mm:ss A」などの他の形式を試します。 |
properties.activityDisplayName |
security_result.summary |
properties.activityDisplayName から直接マッピングされます。 |
properties.additionalInfo |
network.http.user_agent、target.url |
JSON として解析され、キーが userAgent の場合は、値を network.http.user_agent と network.http.parsed_user_agent にマッピングします。キーが alertUrl の場合は、値を target.url にマッピングします。 |
properties.appliedConditionalAccessPolicies.[].displayName |
security_result.[].rule_name |
properties.appliedConditionalAccessPolicies.[].displayName から直接マッピングされます。 |
properties.appliedConditionalAccessPolicies.[].enforcedGrantControls |
security_result.[].rule_labels.value |
properties.appliedConditionalAccessPolicies.[].enforcedGrantControls から直接マッピングされ、ラベルキーは「applied_conditional_access_policies_enforced_grant_controls」になります。 |
properties.appliedConditionalAccessPolicies.[].enforcedSessionControls |
security_result.[].rule_labels.value |
properties.appliedConditionalAccessPolicies.[].enforcedSessionControls から直接マッピングされ、ラベルキーは「applied_conditional_access_policies_enforced_session_controls」になります。 |
properties.appliedConditionalAccessPolicies.[].id |
security_result.[].rule_id |
properties.appliedConditionalAccessPolicies.[].id から直接マッピングされます。 |
properties.appliedConditionalAccessPolicies.[].result |
security_result.[].detection_fields.value |
properties.appliedConditionalAccessPolicies.[].result から直接マッピングされ、ラベルキーは「Result」になります。 |
properties.appId |
appId |
properties.appId から直接マッピングされます。 |
properties.appDisplayName |
target.application |
properties.appDisplayName から直接マッピングされます。 |
properties.authenticationDetails.[].authenticationMethod |
security_result.detection_fields.value |
properties.authenticationDetails.[].authenticationMethod から直接マッピングされ、ラベルキーは「authenticationMethod」になります。 |
properties.authenticationDetails.[].authenticationMethodDetail |
security_result.detection_fields.value |
properties.authenticationDetails.[].authenticationMethodDetail から直接マッピングされ、ラベルキーは「authenticationMethodDetail」になります。 |
properties.authenticationDetails.[].authenticationStepDateTime |
security_result.detection_fields.value |
properties.authenticationDetails.[].authenticationStepDateTime から直接マッピングされ、ラベルキーは「authenticationStepDateTime」です。 |
properties.authenticationDetails.[].authenticationStepRequirement |
security_result.detection_fields.value |
properties.authenticationDetails.[].authenticationStepRequirement から直接マッピングされ、ラベルキーは「authenticationStepRequirement」になります。 |
properties.authenticationDetails.[].authenticationStepResultDetail |
security_result.detection_fields.value |
properties.authenticationDetails.[].authenticationStepResultDetail から直接マッピングされ、ラベルキーは「authenticationStepResultDetail」です。 |
properties.authenticationRequirement |
additional.fields.value.string_value |
properties.authenticationRequirement から直接マッピングされ、ラベルキーは「AuthenticationRequirement」になります。 |
properties.authenticationRequirementPolicies.[].detail |
security_result.detection_fields.value |
properties.authenticationRequirementPolicies.[].detail から直接マッピングされ、ラベルキーは「detail」になります。 |
properties.authenticationRequirementPolicies.[].requirementProvider |
security_result.detection_fields.value |
properties.authenticationRequirementPolicies.[].requirementProvider から直接マッピングされ、ラベルキーは「requirementProvider」になります。 |
properties.clientAppUsed |
principal.application |
properties.clientAppUsed から直接マッピングされます。 |
properties.conditionalAccessStatus |
additional.fields.value.string_value |
properties.conditionalAccessStatus から直接マッピングされ、ラベルキーは「conditionalAccessStatus」になります。 |
properties.crossTenantAccessType |
additional.fields.value.string_value |
properties.crossTenantAccessType から直接マッピングされ、ラベルキーは「crossTenantAccessType」になります。 |
properties.detectedDateTime |
additional.fields.value.string_value |
properties.detectedDateTime から直接マッピングされ、ラベルキーは「detectedDateTime」になります。 |
properties.detectionTimingType |
additional.fields.value.string_value |
properties.detectionTimingType から直接マッピングされ、ラベルキーは「detectionTimingType」になります。 |
properties.homeTenantId |
additional.fields.value.string_value |
properties.homeTenantId から直接マッピングされ、ラベルキーは「homeTenantId」になります。 |
properties.id |
metadata.product_log_id |
properties.id から直接マッピングされます。 |
properties.initiatedBy.user.displayName |
principal.user.user_display_name |
properties.initiatedBy.user.displayName から直接マッピングされます。 |
properties.initiatedBy.user.id |
principal.user.windows_sid |
properties.initiatedBy.user.id から直接マッピングされます。 |
properties.initiatedBy.user.ipAddress |
principal.ip、principal.asset.ip |
properties.initiatedBy.user.ipAddress から直接マッピングされます。 |
properties.initiatedBy.user.userPrincipalName |
principal.user.email_addresses、principal.user.userid |
properties.initiatedBy.user.userPrincipalName から直接マッピングされます。メールアドレスの場合は email_addresses にマッピングされ、それ以外の場合は userid にマッピングされます。 |
properties.ipAddress |
principal.ip、principal.asset.ip |
properties.ipAddress から直接マッピングされます。 |
properties.isGuest |
additional.fields.value.string_value |
properties.isGuest から直接マッピングされ、ラベルキーは「isGuest」になります。 |
properties.isDeleted |
additional.fields.value.string_value |
properties.isDeleted から直接マッピングされ、ラベルキーは「isDeleted」になります。 |
properties.isProcessing |
additional.fields.value.string_value |
properties.isProcessing から直接マッピングされ、ラベルキーは「isProcessing」になります。 |
properties.lastUpdatedDateTime |
additional.fields.value.string_value |
properties.lastUpdatedDateTime から直接マッピングされ、ラベルキーは「lastUpdatedDateTime」になります。 |
properties.location.city |
principal.location.city |
properties.location.city から直接マッピングされます。 |
properties.location.countryOrRegion |
principal.location.country_or_region |
properties.location.countryOrRegion から直接マッピングされます。 |
properties.location.geoCoordinates.latitude |
principal.location.region_latitude、principal.location.region_coordinates.latitude |
properties.location.geoCoordinates.latitude から直接マッピングされます。 |
properties.location.geoCoordinates.longitude |
principal.location.region_longitude、principal.location.region_coordinates.longitude |
properties.location.geoCoordinates.longitude から直接マッピングされます。 |
properties.location.state |
principal.location.state |
properties.location.state から直接マッピングされます。 |
properties.networkLocationDetails.[].networkNames |
additional.fields.value.string_value |
ラベルキーが「properties networkName {index}」の properties.networkLocationDetails.[].networkNames から連結された値。 |
properties.networkLocationDetails.[].networkType |
additional.fields.value.string_value |
properties.networkLocationDetails.[].networkType から直接マッピングされ、ラベルキーは「properties networkType {index}」になります。 |
properties.riskEventType |
additional.fields.value.string_value |
properties.riskEventType から直接マッピングされ、ラベルキーは「riskEventType」になります。 |
properties.riskLastUpdatedDateTime |
additional.fields.value.string_value |
properties.riskLastUpdatedDateTime から直接マッピングされ、ラベルキーは「riskLastUpdatedDateTime」になります。 |
properties.riskLevel |
additional.fields.value.string_value |
properties.riskLevel から直接マッピングされ、ラベルキーは「riskLevel」になります。 |
properties.riskLevelDuringSignIn |
additional.fields.value.string_value |
properties.riskLevelDuringSignIn から直接マッピングされ、ラベルキーは「riskLevelDuringSignIn」になります。 |
properties.riskState |
additional.fields.value.string_value |
properties.riskState から直接マッピングされ、ラベルキーは「riskState」になります。 |
properties.riskDetail |
additional.fields.value.string_value |
properties.riskDetail から直接マッピングされ、ラベルキーは「riskDetail」になります。 |
properties.riskType |
additional.fields.value.string_value |
properties.riskType から直接マッピングされ、ラベルキーは「riskType」になります。 |
properties.source |
additional.fields.value.string_value |
properties.source から直接マッピングされ、ラベルキーは「source」になります。 |
properties.targetResources.0.id |
target.user.product_object_id |
properties.targetResources.0.id から直接マッピングされます。 |
properties.targetResources.modifiedProperties.0.newValue |
target.group.product_object_id |
properties.targetResources.modifiedProperties.0.newValue から直接マッピングされます。 |
properties.tokenIssuerType |
additional.fields.value.string_value |
properties.tokenIssuerType から直接マッピングされ、ラベルキーは「tokenIssuerType」になります。 |
properties.userAgent |
network.http.user_agent、network.http.parsed_user_agent |
properties.userAgent から直接マッピングされます。 |
properties.userDisplayName |
target.user.user_display_name |
properties.userDisplayName から直接マッピングされます。 |
properties.userId |
target.user.product_object_id |
properties.userId から直接マッピングされます。 |
properties.userPrincipalName |
target.user.userid、target.user.email_addresses |
properties.userPrincipalName から直接マッピングされます。メールアドレスの場合は email_addresses にマッピングされ、それ以外の場合は userid にマッピングされます。 |
result |
security_result.action、security_result.action_details |
result が「success」の場合、ALLOW。 |
resultDescription |
security_result.description |
resultDescription から直接マッピングされます。 |
resultSignature |
additional.fields.value.string_value |
resultSignature から直接マッピングされ、ラベルキーは「resultSignature」になります。 |
resultType |
security_result.rule_id、action、security_result.summary |
resultType が「0」の場合、ALLOW は「Successful login occurred」になります。それ以外の場合は、BLOCK と「Failed login occurred」です。 |
resourceId |
target.resource.id、target.resource.product_object_id |
resourceId から直接マッピングされます。 |
resourceDisplayName |
target.resource.name、appDisplayName |
resourceDisplayName から直接マッピングされます。 |
riskDetail |
additional.fields.value.string_value |
riskDetail から直接マッピングされ、ラベルキーは「riskDetail」になります。 |
riskEventTypes.[]. |
additional.fields.value.string_value、additional.fields.value.list_value.values.string_value |
値は、additional.fields のキー「riskEventTypes」のリストに追加されます。また、各値は additional.fields のキーが「riskEventType」の個別のフィールドとして追加されます。 |
riskEventTypes_v2.[]. |
additional.fields.value.list_value.values.string_value |
値は、additional.fields のキー「riskEventTypes_v2」のリストに追加されます。 |
riskLevelAggregated |
additional.fields.value.string_value |
riskLevelAggregated から直接マッピングされ、ラベルキーは「riskLevelAggregated」になります。 |
riskLevelDuringSignIn |
additional.fields.value.string_value |
riskLevelDuringSignIn から直接マッピングされ、ラベルキーは「riskLevelDuringSignIn」になります。 |
riskState |
additional.fields.value.string_value |
riskState から直接マッピングされ、ラベルキーは「riskState」になります。 |
status.additionalDetails |
security_result.description |
status.additionalDetails から直接マッピングされます。 |
status.errorCode |
security_result.rule_id、errorCode |
status.errorCode から直接マッピングされます。 |
target.displayName |
resourceDisplayName |
target.displayName から直接マッピングされます。 |
target.id |
resourceId |
target.id から直接マッピングされます。 |
target.modifiedProperties.[].displayName |
target.resource.attribute.labels.key |
target.modifiedProperties.[].displayName から直接マッピングされます。 |
target.modifiedProperties.[].newValue |
target.resource.attribute.labels.value、target.resource.product_object_id |
target.modifiedProperties.[].newValue から直接マッピングされます。 |
target.modifiedProperties.[].oldValue |
target.resource.attribute.labels.value |
target.modifiedProperties.[].oldValue から直接マッピングされます。 |
target.type |
target.resource.type |
target.type から直接マッピングされます。 |
tenantId |
metadata.product_deployment_id |
tenantId から直接マッピングされます。 |
time |
when |
when フィールドは time フィールドから派生します。日付と時刻は Grok を使用して time フィールドから抽出され、結合されて when フィールドが形成されます。 |
userAgent |
network.http.user_agent、network.http.parsed_user_agent |
userAgent から直接マッピングされます。 |
userDisplayName |
target.user.user_display_name |
userDisplayName から直接マッピングされます。 |
userId |
target.user.product_object_id |
userId から直接マッピングされます。 |
userPrincipalName |
target.user.userid、principal.administrative_domain、target.user.email_addresses |
userPrincipalName から直接マッピングされます。メールアドレスの場合は、email_addresses にマッピングされ、ドメイン部分が抽出されて principal.administrative_domain にマッピングされます。それ以外の場合は userid にマッピングされます。 |
| (パーサー ロジック) | event.idm.is_alert、event.idm.is_significant |
レベルが「Critical」の場合は true に設定されます。 |
| (パーサー ロジック) | event.idm.read_only_udm.metadata.event_type |
has_target_user が「true」の場合は、「USER_LOGIN」に設定します。has_principal_user が「true」の場合は、「USER_UNCATEGORIZED」に設定します。has_principal が「true」の場合は「STATUS_UPDATE」に設定されます。それ以外の場合は、「GENERIC_EVENT」に設定されます。 |
| (パーサー ロジック) | event.idm.read_only_udm.metadata.vendor_name |
「Microsoft」に設定します。 |
| (パーサー ロジック) | event.idm.read_only_udm.metadata.product_name |
「Azure AD」に設定します。 |
| (パーサー ロジック) | event.idm.read_only_udm.extensions.auth.type |
「SSO」に設定します。 |
| (パーサー ロジック) | event.idm.read_only_udm.extensions.auth.mechanism |
isInteractive が「true」の場合は、「INTERACTIVE」に設定されます。それ以外の場合は、「MECHANISM_OTHER」に設定します。 |
| (パーサー ロジック) | security_result.action |
結果が成功の場合は ALLOW に設定します。 |
| (パーサー ロジック) | security_result.action |
resultType が 0 の場合は ALLOW に設定します。 |
| (パーサー ロジック) | security_result.action |
resultType が 0 でも「」でもない場合は、BLOCK に設定します。 |
| (パーサー ロジック) | security_result.category |
resultType が 0 でなく、空文字列でない場合は、「AUTH_VIOLATION」に設定します。 |
| (パーサー ロジック) | security_result.description |
operationName が「Add member to group」で、result が「success」の場合、「グループ メンバーが変更されました」に設定します。 |
| (パーサー ロジック) | security_result.priority |
properties.riskLevelDuringSignIn が「medium」の場合は、「MEDIUM_PRIORITY」に設定されます。 |
| (パーサー ロジック) | security_result.summary |
resultType が 0 の場合は「Successful login occurred」に設定します。 |
| (パーサー ロジック) | security_result.summary |
resultType が 0 でなく、"" でない場合は、「Failed login occurred」に設定します。 |
| (パーサー ロジック) | security_result.summary |
存在する場合は properties.activityDisplayName に設定します。 |
| (パーサー ロジック) | security_result.severity |
レベルが「Information」、「Informational」、「0」、「4」の場合は、INFORMATIONAL に設定します。レベルが「Warning」、「1」、「3」の場合は MEDIUM に設定します。レベルが「Error」または「2」の場合は ERROR に設定します。レベルが「Critical」の場合は CRITICAL に設定します。 |
| (パーサー ロジック) | security_result.severity |
resultType が 0 でも「」でもない場合は、ERROR に設定します。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。