Salesforce のログを収集する
このドキュメントでは、Amazon AppFlow と Amazon S3 またはサードパーティ API の 2 つの方法を使用して、Salesforce ログを Google Security Operations に取り込む方法について説明します。パーサーは、LEEF、CSV、JSON 形式のログを処理します。フィールドを抽出し、形式固有の処理(LEEF Key-Value ペア、CSV 列、JSON 構造の処理)を行い、UDM にマッピングして、メタデータと派生フィールドでデータを拡充します。パーサーは、さまざまな Salesforce イベントタイプも処理します。ログイン、ログアウト、その他のアクションに特定のロジックを適用し、イベントを分類して、適切な UDM イベントタイプを設定します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Salesforce への特権アクセス(システム管理者または同等の権限)
オプション 1: サードパーティ API メソッド
- Salesforce Shield Event Monitoring ライセンスまたは Event Monitoring アドオン
- X.509 証明書と RSA 鍵ペアを生成して管理する機能
オプション 2: Amazon AppFlow と S3 メソッド
- AWS への特権アクセス
- 組織で Salesforce の Enterprise、Unlimited、Performance のいずれかのエディションを使用している
ライセンスに関する重要な注意事項: Salesforce Shield イベント モニタリングがない場合、EventLogFile への API アクセスは、1 日の保持期間で 7 つの基本イベントタイプ(ログイン、ログアウト、API の合計使用量、CORS 違反レコード、CSP 違反、ホスト名リダイレクト、Apex の予期しない例外)のみに制限されます。Shield を使用していないほとんどの組織は、Amazon AppFlow メソッド(オプション 2)を使用する必要があります。
オプション 1: サードパーティ API(OAuth JWT Bearer)を使用して Salesforce Direct API 統合を構成する
この方法では、サーバー間の認証に OAuth 2.0 JWT Bearer フローを使用して、Google SecOps から Salesforce への直接 API 接続を確立します。
この方法の前提条件:
- Salesforce Shield Event Monitoring ライセンスまたは Event Monitoring アドオン(包括的な EventLogFile アクセスに必要)
- Salesforce のシステム管理者権限
- X.509 証明書と RSA 鍵ペアを生成して管理する機能
RSA 鍵ペアと X.509 証明書を生成する
JWT ベアラー認証には、RSA 秘密鍵と対応する X.509 証明書が必要です。
RSA 秘密鍵を生成します。
openssl genrsa -out salesforce_jwt_private.key 2048証明書署名リクエスト(CSR)を生成します。
openssl req -new -key salesforce_jwt_private.key -out salesforce_jwt.csr自己署名証明書を生成します(有効期間は 1 年間)。
openssl x509 -req -days 365 -in salesforce_jwt.csr -signkey salesforce_jwt_private.key -out salesforce_jwt.crt秘密鍵は安全に保存してください。これは Google SecOps フィードの構成に必要です。
JWT Bearer フローを使用して Salesforce 接続アプリを作成する
- システム管理者として Salesforce にログインします。
- [設定> アプリ > アプリマネージャ] に移動します。
- [新規接続アプリケーション] をクリックします。
- 次の構成の詳細を入力します。
- 接続されているアプリ名: 名前を入力します(例:
Google Security Operations Integration)。 - API Name: [Connected App Name] に基づいて自動入力されます。
- 連絡先メールアドレス: メールアドレスを入力します。
- 接続されているアプリ名: 名前を入力します(例:
- [API (Enable OAuth Settings)] セクションで次の操作を行います。
- [OAuth 設定の有効化] を選択します。
- コールバック URL:
https://login.salesforce.com/services/oauth2/callbackを入力します(JWT フローでは使用されませんが、必須です)。 - [Use digital signatures] を選択します。
- [ファイルを選択] をクリックし、先に作成した X.509 証明書(
salesforce_jwt.crt)をアップロードします。 - 選択した OAuth スコープ: 次のスコープを追加します。
- データにアクセスして管理する(api)
- リクエストを随時自動的に実行する(refresh_token、offline_access)
- Required Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows: このオプションをオフにします。
- [保存] をクリックします。
- 警告メッセージで [続行] をクリックします。
- [Connected App] の詳細ページで、[Consumer Key] を書き留めます。これは、Google SecOps で JWT Claims Issuer として使用されます。
- [管理> ポリシーを編集] をクリックします。
- [OAuth ポリシー] セクションで、次の操作を行います。
- 許可されているユーザー: [管理者が承認したユーザーは事前承認済み] を選択します。
- IP 制限の緩和: [IP 制限を緩和する] を選択します。
- [保存] をクリックします。
Salesforce で統合ユーザーを作成して構成する
- [設定] > [ユーザー] > [ユーザー] に移動します。
- [New User] をクリックします。
- 次の構成の詳細を入力します。
- 名: 「
Google」と入力します。 - 姓: 「
Google SecOps Integration」と入力します。 - メール: メールアドレスを入力します。
- ユーザー名: 一意のユーザー名を入力します。
- ユーザー ライセンス: [Salesforce] を選択します。
- プロファイル: [システム管理者] を選択するか、API アクセス権を持つカスタム プロファイルを作成します。
- 名: 「
- [保存] をクリックします。
- 入力したとおりのユーザー名をメモします。これは、Google SecOps で JWT クレームのサブジェクトとして使用されます。
統合ユーザーを接続アプリに割り当てる
- [設定] > [アプリ] > [接続アプリ] > [接続アプリの管理] に移動します。
- 作成した Google Security Operations Integration 接続アプリをクリックします。
- [管理> プロファイルを管理] または [権限セットを管理] をクリックします。
- 統合ユーザーに割り当てられているプロファイルまたは権限セット(例: システム管理者)を選択します。
- [保存] をクリックします。
統合ユーザーに API とイベント モニタリングの権限を付与する
- [設定] > [ユーザー] > [権限セット] に移動します。
- [New] をクリックします。
- 次の構成の詳細を入力します。
- ラベル: 「
Event Monitoring API Access」と入力します。 - API 名: 自動的に入力されます。
- ラベル: 「
- [保存] をクリックします。
- 権限セットの詳細ページで、次の操作を行います。
- [システム権限] をクリックします。
- [編集] をクリックします。
- 次の権限を確認します。
- API Enabled
- イベント ログファイルを表示する
- すべてのデータを表示(省略可。ただし、包括的なアクセスには推奨)
- [保存] をクリックします。
- [割り当てを管理>割り当てを追加] をクリックします。
- 前に作成した統合ユーザーを選択します。
- [割り当て> 完了] をクリックします。
API 経由で Salesforce のログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [+ 新しいフィードを追加] をクリックします。
- 次のページで [単一のフィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
Salesforce logs)。 - [ソースタイプ] として [サードパーティ API] を選択します。
- [ログタイプ] として [Salesforce] を選択します。
- [次へ] をクリックします。
- プルダウンから [OAuth JWT grant] を選択します。
- 次の入力パラメータの値を指定します。
- OAuth JWT エンドポイント: Salesforce OAuth トークン エンドポイントを入力します。
- 本番環境:
https://login.salesforce.com/services/oauth2/token - サンドボックス:
https://test.salesforce.com/services/oauth2/token - カスタム ドメイン:
https://yourdomain.my.salesforce.com/services/oauth2/token
- 本番環境:
- JWT Claims Issuer: 接続アプリケーションのコンシューマ キーを入力します。
- JWT Claims Subject: 統合ユーザーのユーザー名を入力します。
- JWT Claims Audience: Salesforce のログイン ベース URL を入力します。
- 本番環境:
https://login.salesforce.com - サンドボックス:
https://test.salesforce.com
- 本番環境:
- RSA 秘密鍵:
-----BEGIN PRIVATE KEY-----行と-----END PRIVATE KEY-----行を含む、RSA 秘密鍵(salesforce_jwt_private.key)の内容全体を貼り付けます。
- OAuth JWT エンドポイント: Salesforce OAuth トークン エンドポイントを入力します。
- 追加のパラメータを指定します。
- アセットの名前空間: アセットの名前空間。
- Ingestion labels: このフィードのイベントに適用されるラベル。
- [次へ] をクリックします。
- [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
オプション 2: Amazon AppFlow と S3 を使用して Salesforce ログのエクスポートを構成する
この方法では、Amazon AppFlow を使用して Salesforce からデータを抽出し、Amazon S3 に保存します。このデータは Google SecOps に取り込まれます。
Google SecOps 用に AWS S3 バケットと IAM を構成する
- バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
- 後で参照できるように、バケットの名前とリージョンを保存します(例:
salesforce-secops-logs)。 - IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成したユーザーを選択します。
- [セキュリティ認証情報] タブを選択します。
- [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
- [ユースケース] として [サードパーティ サービス] を選択します。
- [次へ] をクリックします。
- 省略可: 説明タグを追加します。
- [アクセスキーを作成] をクリックします。
- [CSV ファイルをダウンロード] をクリックし、[アクセスキー] と [シークレット アクセスキー] を保存して、今後の参照に備えます。
- [完了] をクリックします。
- [権限] タブを選択します。
- [権限ポリシー] セクションで、[権限を追加] をクリックします。
- [権限を追加] を選択します。
- [ポリシーを直接アタッチする] を選択します。
- AmazonS3FullAccess ポリシーを検索します。
- ポリシーを選択します。
- [次へ] をクリックします。
- [権限を追加] をクリックします。
Amazon AppFlow を構成する
- Amazon AppFlow コンソールを開きます。
- [フローを作成] をクリックします。
- 次の構成の詳細を入力します。
- フロー名: 名前を入力します(例:
Salesforce-to-S3-SecOps)。 - フローの説明: 説明(省略可)。
- フロー名: 名前を入力します(例:
- [次へ] をクリックします。
- [ソースの詳細] で、次の操作を行います。
- ソース名: [Salesforce] を選択します。
- Salesforce 接続を選択する: [新しい接続を作成] をクリックします。
- Salesforce のログイン ウィンドウが表示されます。Salesforce の認証情報でログインします。
- プロンプトが表示されたら、アクセスを許可します。
- Salesforce オブジェクト: 転送するオブジェクトを選択します(イベント モニタリングがある場合は EventLogFile、その他の監査オブジェクトなど)。
- [次へ] をクリックします。
- [宛先の詳細] は、以下のように設定します。
- 宛先名: [Amazon S3] を選択します。
- バケットの詳細: 先ほど作成した S3 バケットを選択します。
- S3 バケットの接頭辞: 省略可能な接頭辞(例:
salesforce-logs/)。
- [次へ] をクリックします。
- フローのトリガーの場合:
- [スケジュールで実行] を選択します。
- 開始時刻: ご希望の開始時刻を設定します。
- 繰り返しの頻度: 要件に基づいて [毎時] または [毎日] を選択します。
- [次へ] をクリックします。
- マップデータ フィールドの場合:
- [すべてのフィールドを直接マッピングする] を選択するか、マッピングするフィールドを指定します。
- 手動でマッピングする場合は、移行するフィールドを選択します。
- [次へ] をクリックします。
- [フィルタを追加](省略可):
- 転送されるデータを制限するフィルタを追加します。
- [次へ] をクリックします。
- 構成を確認し、[フローを作成] をクリックします。
- [フローを有効にする] をクリックして、スケジュールされた転送を開始します。
Salesforce のログを取り込むように Google SecOps でフィードを構成する
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで [単一のフィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: Salesforce Logs)。
- [ソースタイプ] として [Amazon S3 V2] を選択します。
- [ログタイプ] として [Salesforce] を選択します。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
- S3 URI: バケット URI。
s3://BUCKET_NAME次のように置き換えます。- BUCKET_NAME: バケットの名前。
Source deletion options: 必要に応じて削除オプションを選択します。
ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます。デフォルトは 180 日です。
アクセスキー ID: s3 バケットにアクセスできるユーザー アクセスキー。
シークレット アクセスキー: s3 バケットにアクセスできるユーザーのシークレット キー。
- S3 URI: バケット URI。
[次へ] をクリックします。
[Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
サポートされている Salesforce ログ形式
Salesforce パーサーは、KV(LEEF)形式と CSV 形式のログをサポートしています。
サポートされている Salesforce のサンプルログ
KV(LEEF)
LEEF:1.0|Salesforce|SecurityMonitoring|343.0|Login: Success|cat=SalesforceLoginHistory devTime=2020-04-23T14:40:38.000+0000 devTimeFormat=yyyy-MM-dd'T'HH:mm:ss.SSSZ ApiVersion=N/A Platform=Windows 7 LoginUrl=sanitized.salesforce.com src=192.0.2.1 usrName=user.sanitized@fakecorp.com attributes.url=https://sanitized.salesforce.com/services/data/v38.0/sobjects/LoginHistory/FAKEID12345 Id=FAKEID12345 LoginType=Remote Access 2.0 Application=Salesforce for Outlook Browser=N/ACSV
"EVENT_TYPE","TIMESTAMP","REQUEST_ID","ORGANIZATION_ID","USER_ID","RUN_TIME","CPU_TIME","URI","SESSION_KEY","LOGIN_KEY","USER_TYPE","REQUEST_STATUS","DB_TOTAL_TIME","METHOD","MEDIA_TYPE","STATUS_CODE","USER_AGENT","ROWS_PROCESSED","NUMBER_FIELDS","DB_BLOCKS","DB_CPU_TIME","REQUEST_SIZE","RESPONSE_SIZE","ENTITY_NAME","EXCEPTION_MESSAGE","TIMESTAMP_DERIVED","USER_ID_DERIVED","CLIENT_IP","URI_ID_DERIVED" "RestApi","20240421120015.367","SLB:sanitized_request_id","00D040000004g6r","005Sv000000CxcD",329,69,"/services/data/v58.0/query","TJestP3qzXKiV/Ud","D/M3fSrc6oTXlmLq","Standard","S",37030739,"GET","application/json;charset=UTF-8",200,9999,840,5,19481,47,10,250361,"EventLogFile",NaN,"2024-04-21T12:00:15.366Z","005Sv000000CxcDIAS","192.0.2.3",NaN
UDM マッピング テーブル
| ログフィールド | UDM マッピング | 論理 |
|---|---|---|
Account.Name |
target.resource.name |
未加工ログの Account.Name の値。 |
AccountId |
target.resource.id |
未加工ログの AccountId の値。 |
Action |
security_result.description |
未加工ログの Action の値。 |
AdditionalInfo |
- | IDM オブジェクトにはマッピングされません。 |
ApiType |
target.application |
未加工ログの ApiType の値。 |
ApiVersion |
- | IDM オブジェクトにはマッピングされません。 |
Application |
principal.application |
未加工ログの Application の値。LoginAsEvent の場合は「Browser」、LoginEvent の場合は「Integration JWT Token」、objecttype が LoginHistory の LoginHistory の場合は「SfdcSiqActivityPlatform」、ApiEvent の場合は「N/A」、LoginAsEventStream の場合は「Browser」。 |
attributes.url |
target.url |
未加工ログの attributes.url の値、または未加工ログのさまざまなイベントタイプの特定の URL。 |
attributes.type |
metadata.product_event_type |
未加工ログの attributes.type の値。 |
AuthSessionId |
network.session_id |
未加工ログの AuthSessionId の値。 |
Browser |
principal.resource.name |
未加工ログの Browser の値。Browser が未加工ログで使用できず、Application が「Insights」の場合は「Unknown」。ApiType が「SOAP Partner」の LoginHistory の場合は「Java (Salesforce.com)」。Application が「SfdcSiqActivityPlatform」の LoginHistory の場合は「Unknown」。LoginAsEventStream の場合は data.properties.Browser.str。 |
Case.Subject |
target.resource.name |
未加工ログの Case.Subject の値。 |
CaseId |
target.resource.id |
未加工ログの CaseId の値。 |
cat |
metadata.product_event_type |
未加工ログの cat の値。 |
City |
principal.location.city |
未加工ログの City の値。LoginHistory の場合は LoginGeo.City の値。 |
Client |
principal.labels |
未加工ログの Client の値。ラベルとして書式設定されます。 |
CLIENT_IP |
principal.ip、principal.asset.ip |
未加工ログの CLIENT_IP の値。 |
ClientVersion |
- | IDM オブジェクトにはマッピングされません。 |
CipherSuite |
network.tls.cipher |
未加工ログの CipherSuite の値。 |
ColumnHeaders |
principal.labels |
未加工ログの ColumnHeaders の値。ラベルとして書式設定されます。 |
ConnectedAppId |
principal.labels |
未加工ログの ConnectedAppId の値。ラベルとして書式設定されます。 |
Contact.Name |
target.resource.name |
未加工ログの Contact.Name の値。 |
ContactId |
target.resource.id |
未加工ログの ContactId の値。 |
Country |
principal.location.country_or_region |
未加工ログの Country の値、または LoginHistory の LoginGeo.Country。 |
CreatedByContext |
principal.user.userid |
未加工ログの CreatedByContext の値。 |
CreatedById |
principal.resource.attribute.labels |
未加工ログの CreatedById の値。ラベルとして書式設定されます。 |
CreatedDate |
metadata.collected_timestamp |
未加工ログの CreatedDate の値。検出されない場合は現在のタイムスタンプ。 |
CPU_TIME |
target.resource.attribute.labels |
未加工ログの CPU_TIME の値。ラベルとして書式設定されます。 |
data |
- | 個別に抽出およびマッピングされるさまざまなフィールドが含まれています。 |
DATASET_IDS |
target.resource.name |
未加工ログの DATASET_IDS の値。 |
DelegatedOrganizationId |
target.administrative_domain |
未加工ログの DelegatedOrganizationId の値。 |
DelegatedUsername |
observer.user.userid |
未加工ログの DelegatedUsername の値。 |
Description |
metadata.description |
未加工ログの Description の値。 |
DevicePlatform |
principal.resource.type |
未加工ログの DevicePlatform の値。リソースタイプを抽出するために解析されます。 |
Display |
metadata.description |
未加工ログの Display の値。 |
DOWNLOAD_FORMAT |
target.resource.attribute.labels |
未加工ログの DOWNLOAD_FORMAT の値。ラベルとして書式設定されます。 |
Duration |
target.resource.attribute.labels |
未加工ログの Duration の値。ラベルとして書式設定されます。 |
ENTITY_NAME |
target.resource.attribute.labels |
未加工ログの ENTITY_NAME の値。ラベルとして書式設定されます。 |
ErrorCode |
security_result.action |
未加工ログの ErrorCode の値。ALLOW または BLOCK に変換されます。 |
EventDate |
timestamp |
元のログの EventDate の値。使用可能な場合は data.properties.TIMESTAMP_DERIVED.str、使用可能な場合は data.properties.TIMESTAMP_DERIVED_FIRST.str、使用可能な場合は @timestamp、使用可能な場合は created_date、使用可能な場合は timestamp、LoginHistory の場合は LoginTime。 |
EventIdentifier |
metadata.product_log_id |
未加工ログの EventIdentifier の値。 |
EventType |
metadata.product_event_type |
未加工ログの EventType の値。 |
Id |
principal.user.userid |
未加工ログの Id の値。SetupAuditTrail などのイベントの場合は metadata.product_log_id。 |
IdentityUsed |
principal.user.email_addresses |
未加工ログの IdentityUsed の値。 |
Lead.Name |
target.resource.name |
未加工ログの Lead.Name の値。 |
LeadId |
target.resource.id |
未加工ログの LeadId の値。 |
LoginAsCategory |
- | IDM オブジェクトにはマッピングされません。 |
LoginGeo.Country |
principal.location.country_or_region |
未加工ログの LoginGeo.Country の値。 |
LoginHistoryId |
- | IDM オブジェクトにはマッピングされません。 |
LoginKey |
principal.user.userid、network.session_id |
未加工ログの LoginKey の値、または SetupAuditTrail の CreatedByContext。 |
LoginTime |
timestamp |
未加工ログの LoginTime の値。 |
LoginType |
security_result.description |
未加工ログの LoginType の値。または、ApiType が「SOAP Partner」の LoginHistory の場合は「Other Apex API」、Application が「SfdcSiqActivityPlatform」の LoginHistory の場合は「Remote Access 2.0」。 |
LoginUrl |
target.url、principal.url |
未加工ログの LoginUrl の値。 |
LogFile |
principal.resource.attribute.labels |
未加工ログの LogFile の値。ラベルとして書式設定されます。 |
LogFileContentType |
principal.resource.attribute.labels |
未加工ログの LogFileContentType の値。ラベルとして書式設定されます。 |
LogFileLength |
principal.resource.attribute.labels |
未加工ログの LogFileLength の値。ラベルとして書式設定されます。 |
Message |
- | IDM オブジェクトにはマッピングされません。 |
METHOD |
network.http.method |
未加工ログの METHOD の値。 |
Name |
target.application |
未加工ログの Name の値。 |
NewValue |
- | OldValue と組み合わせて security_result.summary を生成します。 |
NUMBER_FIELDS |
target.resource.attribute.labels |
未加工ログの NUMBER_FIELDS の値。ラベルとして書式設定されます。 |
OldValue |
- | NewValue と組み合わせて security_result.summary を生成します。 |
Operation |
security_result.description、target.resource.attribute.labels |
未加工ログの Operation の値、または SetupAuditTrail の Display。 |
OperationStatus |
security_result.action |
未加工ログの OperationStatus の値。ALLOW または BLOCK に変換されます。 |
ORGANIZATION_ID |
target.administrative_domain |
未加工ログの ORGANIZATION_ID の値。 |
OsName |
principal.platform |
未加工ログの OsName の値。 |
OsVersion |
principal.platform_version |
未加工ログの OsVersion の値。 |
Platform |
principal.platform |
未加工ログの Platform の値、LightningUriEventStream の場合は data.properties.OsName.str の値、LoginEventStream の場合は data.properties.OsName.str の値。 |
QueriedEntities |
target.resource.name、principal.labels |
未加工ログの QueriedEntities の値。UriEvent と ApiEvent の場合は component_name。 |
Query |
target.process.command_line、principal.labels |
未加工ログの Query の値。 |
RecordId |
target.resource.id |
未加工ログの RecordId の値。 |
Records |
principal.labels |
未加工ログの Records の値。ラベルとして書式設定されます。 |
REQUEST_ID |
metadata.product_log_id、target.resource.product_object_id |
未加工ログの REQUEST_ID の値。 |
REQUEST_SIZE |
network.sent_bytes |
未加工ログの REQUEST_SIZE の値。 |
REQUEST_STATUS |
security_result.summary |
未加工ログの REQUEST_STATUS の値。 |
RESPONSE_SIZE |
network.received_bytes |
未加工ログの RESPONSE_SIZE の値。 |
RowsProcessed |
target.resource.attribute.labels |
未加工ログの RowsProcessed の値。ラベルとして書式設定されます。 |
RUN_TIME |
target.resource.attribute.labels |
未加工ログの RUN_TIME の値。ラベルとして書式設定されます。 |
SamlEntityUrl |
- | IDM オブジェクトにはマッピングされません。 |
SdkAppType |
- | IDM オブジェクトにはマッピングされません。 |
SdkAppVersion |
- | IDM オブジェクトにはマッピングされません。 |
SdkVersion |
- | IDM オブジェクトにはマッピングされません。 |
Section |
security_result.summary |
未加工ログの Section の値。 |
SessionKey |
network.session_id |
未加工ログの SessionKey の値。 |
SessionLevel |
target.resource.attribute.labels |
未加工ログの SessionLevel の値。ラベルとして書式設定されます。 |
SourceIp |
principal.ip、principal.asset.ip |
未加工ログの SourceIp の値。 |
src |
principal.ip、principal.asset.ip |
未加工ログの src の値。 |
SsoType |
target.resource.attribute.labels |
未加工ログの SsoType の値。ラベルとして書式設定されます。 |
STATUS_CODE |
network.http.response_code |
未加工ログの STATUS_CODE の値。 |
Status |
security_result.action、security_result.action_details |
未加工のログから変換された Status の値(ALLOW または BLOCK)、または LoginEventStream のアクションの詳細として使用される値。 |
Subject |
target.resource.name |
未加工ログの Subject の値。 |
TargetUrl |
- | IDM オブジェクトにはマッピングされません。 |
TIMESTAMP |
metadata.collected_timestamp |
未加工ログの TIMESTAMP の値。 |
TIMESTAMP_DERIVED |
timestamp |
未加工ログの TIMESTAMP_DERIVED の値。 |
TlsProtocol |
network.tls.version_protocol |
未加工ログの TlsProtocol の値。 |
URI |
target.url |
未加工ログの URI の値。 |
USER_AGENT |
network.http.user_agent |
未加工ログの USER_AGENT の値。 |
USER_ID |
principal.user.userid |
未加工ログの USER_ID の値。 |
USER_ID_DERIVED |
principal.user.product_object_id、target.resource.attribute.labels |
未加工ログの USER_ID_DERIVED の値。 |
UserId |
principal.user.userid |
未加工ログの UserId の値。 |
USER_TYPE |
target.resource.attribute.labels |
未加工ログの USER_TYPE の値。ラベルとして書式設定されます。 |
Username |
principal.user.userid、principal.user.email_addresses、target.user.email_addresses |
未加工ログの Username の値、またはさまざまなイベントの src_email、IdentityProviderEventStore の IdentityUsed、Search と SearchAlert の data.properties.Email.str、LoginAsEventStream と LoginEventStream の data.properties.Username.str。 |
UserType |
target.resource.attribute.labels |
未加工ログの UserType の値。ラベルとして書式設定されます。 |
usrName |
principal.user.userid、principal.user.email_addresses、target.user.email_addresses |
未加工ログの usrName の値。 |
VerificationMethod |
target.resource.attribute.labels |
未加工ログの VerificationMethod の値。ラベルとして書式設定されます。 |
| パーサー ロジック | metadata.event_type |
event_id フィールドと operation フィールドに基づいて派生します。または、LoginEventStream の場合は「USER_LOGIN」、Logout と LogoutEvent の場合は「USER_LOGOUT」、さまざまなイベントの場合は「USER_RESOURCE_UPDATE_CONTENT」、PlatformEncryption の場合は「USER_RESOURCE_UPDATE_PERMISSIONS」、QueuedExecution、ApexExecution、LightningInteraction、LightningPerformance、LightningPageView、URI、RestApi、API、AuraRequest、ApexCallout、OneCommerceUsage、Sites、MetadataApiOperation、OneCommerceUsage、VisualforceRequest、Dashboard、Search、ListViewEvent の場合は「RESOURCE_READ」、UriEvent と TimeBasedWorkflow で Operation が「Create」または「INSERT」の場合は「RESOURCE_CREATION」、UriEvent と LightningUriEvent で Operation が「Update」の場合は「RESOURCE_WRITTEN」、UriEvent で Operation が「Delete」または「ROLLBACK」の場合は「RESOURCE_DELETION」、SetupAuditTrail と AuditTrail の場合は「USER_UNCATEGORIZED」、SetupAuditTrail で operation が「namedCredentialEncryptedFieldChange」の場合は「USER_CHANGE_PASSWORD」、ApiEventStream と LightningUriEventStream の場合は「GENERIC_EVENT」、またはネットワークとプリンシパルの有無に基づいて派生します。 |
| パーサー ロジック | metadata.ingestion_labels |
イベントのソースを示すラベル(「Event Log File」、「Real-Time Event Monitoring」、「SetupAuditTrail」のいずれか)。 |
| パーサー ロジック | metadata.log_type |
常に「SALESFORCE」に設定されます。 |
| パーサー ロジック | metadata.product_name |
常に「SALESFORCE」に設定されます。 |
| パーサー ロジック | metadata.vendor_name |
常に「SALESFORCE」に設定されます。 |
| パーサー ロジック | metadata.url_back_to_product |
LoginUrl、attributes.url、data.properties.PageUrl.str、data.properties.LoginUrl.str などのさまざまなフィールドから構築されます。 |
| パーサー ロジック | network.application_protocol |
uri フィールドが「http」で始まる場合、「HTTPS」に設定します。 |
| パーサー ロジック | network.http.referral_url |
「Referer=」が含まれている場合は user_agent フィールドから抽出されます。 |
| パーサー ロジック | network.http.response_code |
さまざまなイベントの request_status から派生します。 |
| パーサー ロジック | network.http.user_agent |
未加工ログの user_agent の値、または ApiEventStream と LoginEventStream の data.properties.UserAgent.str の値、または Sites イベントの値、または Sites イベントの「User-Agent」。 |
| パーサー ロジック | network.session_id |
未加工ログの session_key または SESSION_KEY の値。または、LoginKey や AuthSessionId などの他のフィールドから構築された値。 |
| パーサー ロジック | network.tls.version |
未加工ログの tls_protocol の値。LoginEventStream の場合は data.properties.TlsProtocol.str の値。 |
| パーサー ロジック | principal.application |
未加工のログの application の値。ログイン: 成功イベントの場合は「Salesforce for Outlook」、アプリケーションがないログイン: 成功イベントの場合は「Insights」、Lightning イベントの場合は device_platform から抽出された値。 |
| パーサー ロジック | principal.asset.hostname |
client_ip がホスト名の場合の値。 |
| パーサー ロジック | principal.asset.ip |
IP アドレスの場合の client_ip、src_ip、SourceIp、CLIENT_IP の値。 |
| パーサー ロジック | principal.hostname |
client_ip がホスト名の場合の値。 |
| パーサー ロジック | principal.ip |
IP アドレスの場合の client_ip、src_ip、SourceIp、CLIENT_IP の値。 |
| パーサー ロジック | principal.labels |
FederationIdentifier、ApiType、OrgId、channel などのさまざまなフィールドから構築されたラベル。 |
| パーサー ロジック | principal.location.city |
未加工ログの geoip_src.city_name、City、または LoginGeo.City の値。 |
| パーサー ロジック | principal.location.country_or_region |
未加工ログの geoip_src.country_name、Country、LoginGeo.Country、client_geo の値。 |
| パーサー ロジック | principal.location.region_latitude |
未加工ログの data.properties.LoginLatitude.number の値。 |
| パーサー ロジック | principal.location.region_longitude |
未加工ログの data.properties.LoginLongitude.number の値。 |
| パーサー ロジック | principal.location.state |
未加工ログの geoip_src.region_name の値。 |
| パーサー ロジック | principal.platform |
未加工ログの Platform、OsName、os_name の値。または、Platform に「Windows」が含まれている LoginEventStream の場合は「WINDOWS」。 |
| パーサー ロジック | principal.platform_version |
未加工ログの OsVersion または os_version の値。または、Platform に「Windows」が含まれている LoginEventStream の Platform から抽出された値。 |
| パーサー ロジック | principal.resource.attribute.labels |
CreatedById、ApiVersion、LogFile、LogFileContentType、LogFileLength などのさまざまなフィールドから構築されたラベル。 |
| パーサー ロジック | principal.resource.name |
未加工ログの Browser または browser_name の値。または、ApiType が「SOAP Partner」の LoginHistory の場合は「Java (Salesforce.com)」。 |
| パーサー ロジック | principal.resource.type |
Lightning イベントの場合は device_platform から、LoginAsEvent と LoginAsEventStream の場合は「Browser」から抽出されます。 |
| パーサー ロジック | principal.url |
未加工ログの LoginUrl の値。 |
| パーサー ロジック | principal.user.email_addresses |
未加工ログの usrName、Username、src_email、IdentityUsed、data.properties.Username.str、data.properties.Email.str の値。 |
| パーサー ロジック | principal.user.product_object_id |
未加工ログの attrs.USER_ID_DERIVED または data.properties.USER_ID_DERIVED.str の値。 |
| パーサー ロジック | principal.user.userid |
未加工ログの usrName、Username、user_id、UserId、USER_ID、Id、LoginKey、CreatedByContext、data.properties.Username.str、data.properties.USER_ID.str、data.properties.LoginKey.str の値。 |
| パーサー ロジック | security_result.action |
未加工ログの Status、OperationStatus、ErrorCode、action、operation_status から取得され、ALLOW または BLOCK に変換されます。 |
| パーサー ロジック | security_result.action_details |
LoginEventStream の未加工ログの Status の値。 |
| パーサー ロジック | security_result.description |
未加工ログの LoginType、logintype、Operation、Action、Display の値。 |
| パーサー ロジック | security_result.rule_name |
未加工ログの Policy または rule_name の値。 |
| パーサー ロジック | security_result.summary |
未加工ログの NewValue、OldValue、REQUEST_STATUS、Section、forecastcategory から作成されます。 |
| パーサー ロジック | target.administrative_domain |
未加工ログの ORGANIZATION_ID、DelegatedOrganizationId、organization_id、data.properties.OrgName.str の値。 |
| パーサー ロジック | target.application |
未加工ログの Application、app_name、ApiType、Name、data.properties.Application.str の値。 |
| パーサー ロジック | target.asset.hostname |
uri フィールドから抽出された target_hostname の値。 |
| パーサー ロジック | target.asset.ip |
未加工ログの data.properties.CLIENT_IP.str の値。 |
| パーサー ロジック | target.asset_id |
device_id または REQUEST_ID から構築されます。 |
| パーサー ロジック | target.file.mime_type |
未加工ログの file_type の値。 |
| パーサー ロジック | target.file.size |
未加工ログの size_bytes の値。 |
| パーサー ロジック | target.hostname |
uri フィールドから抽出された target_hostname の値。 |
| パーサー ロジック | target.process.command_line |
未加工ログの query_exec、Query、または data.properties.Query.str の値。 |
| パーサー ロジック | target.process.pid |
未加工ログの job_id の値。 |
| パーサー ロジック | target.resource.attribute.labels |
CPU_TIME、RUN_TIME、USER_TYPE、DB_TOTAL_TIME、MEDIA_TYPE、ROWS_PROCESSED、NUMBER_FIELDS、DB_BLOCKS、DB_CPU_TIME、ENTITY_NAME、EXCEPTION_MESSAGE、USER_ID_DERIVED、DOWNLOAD_FORMAT、USER_TYPE、CPU_TIME、RUN_TIME、WAVE_SESSION_ID、SessionLevel、verification_method、cpu_time、run_time、db_total_time、db_cpu_time、exec_time、callout_time、number_soql_queries、duration、user_type、entry_point、operation、session_level、rows_processed、sso_type、dashboard_type、Operation、SessionLevel などのさまざまなフィールドから構築されたラベル。 |
| パーサー ロジック | target.resource.id |
未加工ログの REQUEST_ID、RecordId、caseid、leadid、contactid、opportunityid、accountid の値。 |
| パーサー ロジック | target.resource.name |
未加工ログの QueriedEntities、resource_name、component_name、DATASET_IDS、field、StageName、Subject の値。 |
| パーサー ロジック | target.resource.product_object_id |
未加工ログの REQUEST_ID の値。 |
| パーサー ロジック | target.resource.resource_type |
ApexCallout と PlatformEncryption の場合は「ACCESS_POLICY」、ApexTrigger の場合は「DATABASE」、ContentTransfer の場合は「FILE」、ApiEvent の場合は「TABLE」に設定します。 |
| パーサー ロジック | target.resource.type |
QueuedExecution と ApexExecution の場合は「BATCH」、ContentTransfer の場合は「FILE」、ApexTrigger の場合は「DATABASE_TRIGGER」、対応する ID フィールドが存在する場合は「Case」、「Lead」、「Contact」、「Opportunity」、「Account」に設定します。 |
| パーサー ロジック | target.url |
未加工ログの LoginUrl、URI、attributes.url、login_url、uri の値。 |
| パーサー ロジック | target.user.email_addresses |
未加工ログの Username、attrs.usrName、または email_address の値。 |
| パーサー ロジック | target.user.user_display_name |
未加工ログの target_user_display_name、user_name、または username の値。 |
| パーサー ロジック | target.user.userid |
未加工ログの target_user_name、data.properties.UserId.str、または data.properties.CreatedById.str の値。 |
| パーサー ロジック | extensions.auth.auth_details |
Status が「Success」でない場合は「ACTIVE」に設定し、それ以外の場合は「UNKNOWN_AUTHENTICATION_STATUS」に設定します。 |
| パーサー ロジック | extensions.auth.mechanism |
logintype に「Remote」が含まれるログイン: 成功イベントとログイン イベントの場合は「REMOTE」、LoginEventStream の場合は「USERNAME_PASSWORD」、login_url が存在するイベントの場合は「MECHANISM_OTHER」、ログイン: 成功イベントとログアウト イベントの場合は「AUTHTYPE_UNSPECIFIED」に設定します。 |
| パーサー ロジック | extensions.auth.type |
LoginType が「SAML Sfdc Initiated SSO」の Login、Logout、LogoutEvent、LoginAs、IdentityProviderEventStore、LoginHistory、LoginAsEvent の場合は「SSO」に、LoginType が「Application」の Login: Success、Logout、LoginAsEvent の場合は「AUTHTYPE_UNSPECIFIED」に設定します。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。