收集 Salesforce 記錄

支援的國家/地區:

本文說明如何使用兩種方法,將 Salesforce 記錄擷取至 Google Security Operations:Amazon AppFlow 和 Amazon S3第三方 API。剖析器會處理 LEEF、CSV 和 JSON 格式的記錄。這項服務會擷取欄位、執行格式專屬處理作業 (處理 LEEF 鍵/值組合、CSV 欄和 JSON 結構)、將欄位對應至 UDM,並使用中繼資料和衍生欄位擴充資料。剖析器也會處理各種 Salesforce 事件類型,針對登入、登出和其他動作套用特定邏輯、將事件分類,並設定適當的 UDM 事件類型。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • Salesforce 特殊存取權 (系統管理員或同等權限)

選項 1:第三方 API 方法

  • Salesforce Shield Event Monitoring 授權或 Event Monitoring 外掛程式
  • 產生及管理 X.509 憑證和 RSA 金鑰組

選項 2:使用 S3 方法的 Amazon AppFlow

  • AWS 的特殊存取權
  • 貴機構使用 Salesforce Enterprise、Unlimited 或 Performance 版本

重要授權注意事項:如果沒有 Salesforce Shield 事件監控功能,您只能透過 API 存取 EventLogFile,且只能存取 7 種基本事件類型 (登入、登出、API 總用量、CORS 違規記錄、CSP 違規、主機名稱重新導向、Apex 意外例外狀況),並保留 1 天。如果機構沒有 Shield,建議使用 Amazon AppFlow 方法 (選項 2)。

選項 1:使用第三方 API (OAuth JWT 不記名) 設定 Salesforce Direct API 整合

這個方法會使用 OAuth 2.0 JWT 不記名流程,建立從 Google SecOps 到 Salesforce 的直接 API 連線,以進行伺服器對伺服器驗證。

使用這個方法的前提條件:

  • Salesforce Shield 事件監控授權或事件監控外掛程式 (全面存取 EventLogFile 時需要)
  • Salesforce 的系統管理員存取權
  • 產生及管理 X.509 憑證和 RSA 金鑰組

產生 RSA 金鑰組和 X.509 憑證

您需要 RSA 私密金鑰和對應的 X.509 憑證,才能進行 JWT 持有人驗證。

  1. 產生 RSA 私密金鑰:

    openssl genrsa -out salesforce_jwt_private.key 2048
    
  2. 產生憑證簽署要求 (CSR):

    openssl req -new -key salesforce_jwt_private.key -out salesforce_jwt.csr
    
  3. 產生自行簽署的憑證 (有效期限為 1 年):

    openssl x509 -req -days 365 -in salesforce_jwt.csr -signkey salesforce_jwt_private.key -out salesforce_jwt.crt
    
  4. 請妥善儲存私密金鑰。設定 Google SecOps 資訊提供時需要這項資訊。

使用 JWT 持有人流程建立 Salesforce 連線應用程式

  1. 以系統管理員身分登入 Salesforce
  2. 依序前往「設定」>「應用程式」>「應用程式管理員」
  3. 按一下「New Connected App」(新增已連結的應用程式)
  4. 提供下列設定詳細資料:
    • 已連結的應用程式名稱:輸入名稱 (例如 Google Security Operations Integration)。
    • API 名稱:系統會根據連結的應用程式名稱自動填入。
    • 聯絡電子郵件地址:輸入您的電子郵件地址。
  5. 在「API (Enable OAuth Settings)」部分:
    • 選取「啟用 OAuth 設定」
    • 回呼網址:輸入 https://login.salesforce.com/services/oauth2/callback (這不適用於 JWT 流程,但必須輸入)。
    • 選取「使用數位簽章」
    • 按一下「選擇檔案」,然後上傳您稍早產生的 X.509 憑證 (salesforce_jwt.crt)。
    • 選取的 OAuth 範圍:新增下列範圍:
      • 存取及管理資料 (API)
      • 隨時代表您執行要求 (refresh_token、offline_access)
    • 針對支援的授權流程,要求使用 Proof Key for Code Exchange (PKCE) 擴充功能:取消勾選這個選項。
  6. 按一下 [儲存]
  7. 按一下警告訊息中的「繼續」
  8. 在「已連線的應用程式」詳細資料頁面,記下「取用者金鑰」。Google SecOps 會將此值做為 JWT 聲明發行者
  9. 依序點選「管理」>「編輯政策」
  10. 在「OAuth Policies」部分:
    • 允許的使用者:選取「管理員核准的使用者已預先授權」
    • IP 寬鬆設定:選取「放寬 IP 限制」
  11. 按一下 [儲存]

在 Salesforce 建立及設定整合使用者

  1. 依序前往「設定」>「使用者」>「使用者」
  2. 點選 [New User]
  3. 提供下列設定詳細資料:
    • 名字:輸入 Google
    • 姓氏:輸入 Google SecOps Integration
    • 電子郵件:輸入電子郵件地址。
    • 使用者名稱:輸入不重複的使用者名稱。
    • 使用者授權:選取「Salesforce」
    • 設定檔:選取「系統管理員」,或建立具有 API 存取權的自訂設定檔。
  4. 按一下 [儲存]
  5. 請記下輸入的使用者名稱,這將做為 Google SecOps 中的 JWT 憑證附加資訊主體

將整合使用者指派給連結的應用程式

  1. 依序前往「設定」>「應用程式」>「已連結的應用程式」>「管理已連結的應用程式」
  2. 按一下您建立的「Google Security Operations Integration」(Google Security Operations 整合) 連結應用程式
  3. 按一下「管理」>「管理設定檔」或「管理權限集」
  4. 選取指派給整合使用者的設定檔或權限集 (例如「系統管理員」)。
  5. 按一下 [儲存]

將 API 和事件監控權限授予整合使用者

  1. 依序前往「設定」>「使用者」>「權限集」
  2. 點選「New」(新增)
  3. 提供下列設定詳細資料:
    • 「Label」(標籤):輸入 Event Monitoring API Access
    • API 名稱:系統會自動填入。
  4. 按一下 [儲存]
  5. 在權限集詳細資料頁面中:
    • 按一下「系統權限」
    • 按一下 [編輯]
    • 檢查下列權限:
      • API 已啟用
      • 查看事件記錄檔
      • 查看所有資料 (選用,但建議使用,可取得完整存取權)
    • 按一下 [儲存]
  6. 依序點選「管理指派作業」>「新增指派作業」
  7. 選取您先前建立的整合使用者。
  8. 依序點選「指派」>「完成」

在 Google SecOps 中設定動態饋給,透過 API 擷取 Salesforce 記錄

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「+ 新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 Salesforce logs)。
  5. 選取「第三方 API」做為「來源類型」
  6. 選取「Salesforce」做為「記錄類型」
  7. 點選「下一步」
  8. 從下拉式選單中選取「OAuth JWT grant」(OAuth JWT 授權)
  9. 指定下列輸入參數的值:
    • 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 憑證核發者:輸入已連結應用程式的消費者金鑰
    • JWT 憑證附加資訊主體:輸入整合使用者的使用者名稱
    • JWT 宣告目標對象:輸入 Salesforce 登入基本網址:
      • 製作https://login.salesforce.com
      • 沙箱https://test.salesforce.com
    • RSA 私密金鑰:貼上 RSA 私密金鑰 (salesforce_jwt_private.key) 的完整內容,包括 -----BEGIN PRIVATE KEY----------END PRIVATE KEY----- 行。
  10. 指定其他參數:
    • 資產命名空間資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤。
  11. 點選「下一步」
  12. 在「完成」畫面中檢查新的動態饋給設定,然後按一下「提交」

選項 2:使用 Amazon AppFlow 和 S3 設定 Salesforce 記錄匯出作業

這個方法會使用 Amazon AppFlow 從 Salesforce 擷取資料,並儲存在 Amazon S3 中,然後由 Google SecOps 擷取。

為 Google SecOps 設定 AWS S3 值區和 IAM

  1. 按照這份使用者指南建立 Amazon S3 bucket建立 bucket
  2. 儲存 bucket 的「Name」(名稱) 和「Region」(地區),以供日後參考 (例如 salesforce-secops-logs)。
  3. 請按照這份使用者指南建立使用者建立 IAM 使用者
  4. 選取建立的「使用者」
  5. 選取「安全憑證」分頁標籤。
  6. 在「Access Keys」部分,按一下「Create Access Key」
  7. 選取「第三方服務」做為「用途」
  8. 點選「下一步」
  9. 選用:新增說明標記。
  10. 按一下「建立存取金鑰」
  11. 按一下「下載 CSV 檔案」,儲存「存取金鑰」和「私密存取金鑰」以供日後參考。
  12. 按一下 [完成]
  13. 選取 [權限] 分頁標籤。
  14. 在「權限政策」部分中,按一下「新增權限」
  15. 選取「新增權限」
  16. 選取「直接附加政策」
  17. 搜尋 AmazonS3FullAccess 政策。
  18. 選取政策。
  19. 點選「下一步」
  20. 按一下「Add permissions」。

設定 Amazon AppFlow

  1. 開啟 Amazon AppFlow 控制台
  2. 按一下「建立流程」
  3. 提供下列設定詳細資料:
    • 流程名稱:輸入名稱 (例如 Salesforce-to-S3-SecOps)。
    • 流程說明:選填說明。
  4. 點選「下一步」
  5. 如要查看來源詳細資料
    • 來源名稱:選取「Salesforce」
    • 選擇 Salesforce 連結:按一下「建立新連結」
    • 系統會顯示 Salesforce 登入視窗。使用 Salesforce 憑證登入。
    • 系統提示時,請授予存取權。
    • Salesforce 物件:選取要轉移的物件 (例如,如果您有事件監控功能,請選取「EventLogFile」,或是其他稽核物件)。
  6. 點選「下一步」
  7. 針對「Destination details」(目的地詳細資料)
    • 目的地名稱:選取「Amazon S3」
    • 儲存空間詳細資料:選取您先前建立的 S3 儲存空間。
    • S3 bucket prefix:選用的前置字串 (例如 salesforce-logs/)。
  8. 點選「下一步」
  9. 如為「流程觸發條件」
    • 選取「依照排程執行」
    • 開始時間:設定偏好的開始時間。
    • 重複:根據需求選取「每小時」或「每天」
  10. 點選「下一步」
  11. 針對「對應資料欄位」
    • 選取「直接對應所有欄位」,或指定要對應的欄位。
    • 如果是手動對應,請選取要轉移的欄位。
  12. 點選「下一步」
  13. 如要新增篩選器 (選用):
    • 新增篩選器,限制要轉移的資料。
  14. 點選「下一步」
  15. 檢查設定,然後按一下「建立流程」
  16. 按一下「啟用流程」,即可開始預定轉移作業。

在 Google SecOps 中設定動態饋給,擷取 Salesforce 記錄

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中,輸入動態饋給的名稱,例如「Salesforce Logs」
  5. 選取「Amazon S3 V2」做為「來源類型」
  6. 選取「Salesforce」做為「記錄類型」
  7. 點選「下一步」
  8. 指定下列輸入參數的值:

    • S3 URI:bucket URI。s3://BUCKET_NAME 替換下列項目:
      • BUCKET_NAME:值區的名稱。
    • 來源刪除選項:根據偏好選取刪除選項。

    • 檔案存在時間上限:包含在過去天數內修改的檔案。預設值為 180 天。

    • 存取金鑰 ID:具有 S3 值區存取權的使用者存取金鑰。

    • 存取密鑰:具有 S3 bucket 存取權的使用者存取密鑰。

  9. 點選「下一步」

  10. 在「完成」畫面中檢查新的動態饋給設定,然後按一下「提交」

支援的 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/A
    
  • CSV

    "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」;如果是 LoginHistory (objecttype 為 LoginHistory),則為「SfdcSiqActivityPlatform」;如果是 ApiEvent,則為「N/A」;如果是 LoginAsEventStream,則為「Browser」。
attributes.url target.url 原始記錄中的 attributes.url 值,或是原始記錄中各種事件類型的特定網址。
attributes.type metadata.product_event_type 原始記錄中的 attributes.type 值。
AuthSessionId network.session_id 原始記錄中的 AuthSessionId 值。
Browser principal.resource.name 原始記錄中的 Browser 值;如果原始記錄中沒有 Browser,且 Application 為「洞察」,則為「Unknown」;如果 LoginHistory 的 ApiType 為「SOAP Partner」,則為「Java (Salesforce.com)」;如果 LoginHistory 的 Application 為「SfdcSiqActivityPlatform」,則為「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.ipprincipal.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.useridnetwork.session_id 原始記錄中的 LoginKey 值,或 SetupAuditTrail 的 CreatedByContext 值。
LoginTime timestamp 原始記錄中的 LoginTime 值。
LoginType security_result.description 原始記錄中的 LoginType 值;如果 LoginHistory 的 ApiType 為「SOAP Partner」,則為「Other Apex API」;如果 LoginHistory 的 Application 為「SfdcSiqActivityPlatform」,則為「Remote Access 2.0」。
LoginUrl target.urlprincipal.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.descriptiontarget.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.nameprincipal.labels 原始記錄中的 QueriedEntities 值,或 UriEvent 和 ApiEvent 的 component_name
Query target.process.command_lineprincipal.labels 原始記錄中的 Query 值。
RecordId target.resource.id 原始記錄中的 RecordId 值。
Records principal.labels 原始記錄中的 Records 值,格式為標籤。
REQUEST_ID metadata.product_log_idtarget.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.ipprincipal.asset.ip 原始記錄中的 SourceIp 值。
src principal.ipprincipal.asset.ip 原始記錄中的 src 值。
SsoType target.resource.attribute.labels 原始記錄中的 SsoType 值,格式為標籤。
STATUS_CODE network.http.response_code 原始記錄中的 STATUS_CODE 值。
Status security_result.actionsecurity_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_idtarget.resource.attribute.labels 原始記錄中的 USER_ID_DERIVED 值。
UserId principal.user.userid 原始記錄中的 UserId 值。
USER_TYPE target.resource.attribute.labels 原始記錄中的 USER_TYPE 值,格式為標籤。
Username principal.user.useridprincipal.user.email_addressestarget.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.useridprincipal.user.email_addressestarget.user.email_addresses 原始記錄中的 usrName 值。
VerificationMethod target.resource.attribute.labels 原始記錄中的 VerificationMethod 值,格式為標籤。
剖析器邏輯 metadata.event_type 根據 event_idoperation 欄位衍生,或針對 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 標籤,指出事件來源為「事件記錄檔」、「即時事件監控」或「SetupAuditTrail」。
剖析器邏輯 metadata.log_type 一律設為「SALESFORCE」。
剖析器邏輯 metadata.product_name 一律設為「SALESFORCE」。
剖析器邏輯 metadata.vendor_name 一律設為「SALESFORCE」。
剖析器邏輯 metadata.url_back_to_product LoginUrlattributes.urldata.properties.PageUrl.strdata.properties.LoginUrl.str 等各種欄位建構而成。
剖析器邏輯 network.application_protocol 如果 uri 欄位開頭為「http」,請設為「HTTPS」。
剖析器邏輯 network.http.referral_url 如果 user_agent 欄位包含「Referer=」,則會從該欄位擷取。
剖析器邏輯 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_keySESSION_KEY 值,或從其他欄位 (例如 LoginKeyAuthSessionId) 建構的值。
剖析器邏輯 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_ipsrc_ipSourceIpCLIENT_IP
剖析器邏輯 principal.hostname 如果 client_ip 是主機名稱,則為該主機名稱的值。
剖析器邏輯 principal.ip 如果是 IP 位址,值為 client_ipsrc_ipSourceIpCLIENT_IP
剖析器邏輯 principal.labels 標籤由 FederationIdentifierApiTypeOrgIdchannel 等各種欄位建構而成。
剖析器邏輯 principal.location.city 原始記錄中的 geoip_src.city_nameCityLoginGeo.City 值。
剖析器邏輯 principal.location.country_or_region 原始記錄中的 geoip_src.country_nameCountryLoginGeo.Countryclient_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 原始記錄中的 PlatformOsNameos_name 值,或是 LoginEventStream 的「WINDOWS」,其中 Platform 包含「Windows」。
剖析器邏輯 principal.platform_version 原始記錄中的 OsVersionos_version 值,或是從 Platform 擷取的值 (適用於含有「Windows」的 LoginEventStream Platform)。
剖析器邏輯 principal.resource.attribute.labels 標籤由 CreatedByIdApiVersionLogFileLogFileContentTypeLogFileLength 等各種欄位建構而成。
剖析器邏輯 principal.resource.name 原始記錄中的 Browserbrowser_name 值,或是「Java (Salesforce.com)」,適用於 ApiType 為「SOAP Partner」的 LoginHistory。
剖析器邏輯 principal.resource.type 從 Lightning 事件中擷取,或是 LoginAsEvent 和 LoginAsEventStream 的「瀏覽器」。device_platform
剖析器邏輯 principal.url 原始記錄中的 LoginUrl 值。
剖析器邏輯 principal.user.email_addresses 原始記錄中的 usrNameUsernamesrc_emailIdentityUseddata.properties.Username.strdata.properties.Email.str 值。
剖析器邏輯 principal.user.product_object_id 原始記錄中的 attrs.USER_ID_DERIVEDdata.properties.USER_ID_DERIVED.str 值。
剖析器邏輯 principal.user.userid 原始記錄中的 usrNameUsernameuser_idUserIdUSER_IDIdLoginKeyCreatedByContextdata.properties.Username.strdata.properties.USER_ID.strdata.properties.LoginKey.str 值。
剖析器邏輯 security_result.action 衍生自原始記錄中的 StatusOperationStatusErrorCodeactionoperation_status,並轉換為 ALLOW 或 BLOCK。
剖析器邏輯 security_result.action_details LoginEventStream 原始記錄中的 Status 值。
剖析器邏輯 security_result.description 原始記錄中的 LoginTypelogintypeOperationActionDisplay 值。
剖析器邏輯 security_result.rule_name 原始記錄中的 Policyrule_name 值。
剖析器邏輯 security_result.summary 由原始記錄中的 NewValueOldValueREQUEST_STATUSSectionforecastcategory 建構而成。
剖析器邏輯 target.administrative_domain 原始記錄中的 ORGANIZATION_IDDelegatedOrganizationIdorganization_iddata.properties.OrgName.str 值。
剖析器邏輯 target.application 原始記錄中的 Applicationapp_nameApiTypeNamedata.properties.Application.str 值。
剖析器邏輯 target.asset.hostname uri 欄位擷取的 target_hostname 值。
剖析器邏輯 target.asset.ip 原始記錄中的 data.properties.CLIENT_IP.str 值。
剖析器邏輯 target.asset_id device_idREQUEST_ID 建構。
剖析器邏輯 target.file.mime_type 原始記錄中的 file_type 值。
剖析器邏輯 target.file.size 原始記錄中的 size_bytes 值。
剖析器邏輯 target.hostname uri 欄位擷取的 target_hostname 值。
剖析器邏輯 target.process.command_line 原始記錄中的 query_execQuerydata.properties.Query.str 值。
剖析器邏輯 target.process.pid 原始記錄中的 job_id 值。
剖析器邏輯 target.resource.attribute.labels 標籤是由各種欄位建構而成,例如 CPU_TIMERUN_TIMEUSER_TYPEDB_TOTAL_TIMEMEDIA_TYPEROWS_PROCESSEDNUMBER_FIELDSDB_BLOCKSDB_CPU_TIMEENTITY_NAMEEXCEPTION_MESSAGEUSER_ID_DERIVEDDOWNLOAD_FORMATUSER_TYPECPU_TIMERUN_TIMEWAVE_SESSION_IDSessionLevelverification_methodcpu_timerun_timedb_total_timedb_cpu_timeexec_timecallout_timenumber_soql_queriesdurationuser_typeentry_pointoperationsession_levelrows_processedsso_typedashboard_typeOperationSessionLevel
剖析器邏輯 target.resource.id 原始記錄中的 REQUEST_IDRecordIdcaseidleadidcontactidopportunityidaccountid 值。
剖析器邏輯 target.resource.name 原始記錄中的 QueriedEntitiesresource_namecomponent_nameDATASET_IDSfieldStageNameSubject 值。
剖析器邏輯 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 原始記錄中的 LoginUrlURIattributes.urllogin_urluri 值。
剖析器邏輯 target.user.email_addresses 原始記錄中的 Usernameattrs.usrNameemail_address 值。
剖析器邏輯 target.user.user_display_name 原始記錄中的 target_user_display_nameuser_nameusername 值。
剖析器邏輯 target.user.userid 原始記錄中的 target_user_namedata.properties.UserId.strdata.properties.CreatedById.str 值。
剖析器邏輯 extensions.auth.auth_details 如果 Status 不是「Success」,請設為「ACTIVE」,否則請設為「UNKNOWN_AUTHENTICATION_STATUS」。
剖析器邏輯 extensions.auth.mechanism 如果登入事件含有「Remote」或「USERNAME_PASSWORD」,請將這個欄位設為「REMOTE」;如果登入事件含有「MECHANISM_OTHER」,請將這個欄位設為「MECHANISM_OTHER」;如果登入事件含有「AUTHTYPE_UNSPECIFIED」,請將這個欄位設為「AUTHTYPE_UNSPECIFIED」。logintypelogin_url
剖析器邏輯 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 專業人員尋求答案。