收集 Salesforce 日志
支持的平台:
Google SecOps
SIEM
本文档介绍了如何使用第三方 API 设置 Google Security Operations Feed 来收集 Salesforce 日志。
Salesforce 是一个基于云的客户关系管理 (CRM) 平台,可提供销售、服务、营销和分析工具。Salesforce 日志可捕获整个平台中的用户活动、安全事件、系统更改和 API 使用情况。
准备工作
确保您满足以下前提条件:
- Google SecOps 实例
- Salesforce 企业版或更高级别(已启用 API 访问权限)
- Salesforce 系统管理员权限
- 已安装 OpenSSL(用于生成证书)
生成 RSA 密钥对和证书
生成用于 JWT 签名的 RSA 私钥和自签名 X.509 证书。
生成私钥
```bash
openssl genrsa -out salesforce_private.key 2048
```
生成自签名证书
```bash
openssl req -new -x509 -key salesforce_private.key -out salesforce_certificate.crt -days 365
```
出现提示时,输入证书详细信息:
- 国家/地区名称:输入您的 2 字母国家/地区代码(例如
US)。 - 州/省/直辖市/自治区名称:输入您的州/省/直辖市/自治区(例如,
California)。 - 市行政区名称:输入您的城市(例如
San Francisco)。 - 组织名称:输入您的组织名称(例如
Acme Corp)。 - 组织部门名称:输入部门(例如
IT Security)。 - 通用名称:输入一个描述性名称(例如
Chronicle Integration)。 - 电子邮件地址:输入联系电子邮件地址。
创建 Salesforce 外部客户端应用
外部客户端应用是 Salesforce 中 OAuth 身份验证的推荐方法(Spring '26 及更高版本)。
- 登录 Salesforce。
- 前往设置(右上角的齿轮图标)。
- 在 Quick Find 框中,输入
External Client Apps。 - 点击外部客户端应用管理器。
- 点击新建外部客户端应用。
配置基本信息
- 提供以下配置详细信息:
- 外部客户端应用名称:输入一个描述性名称(例如
Google SecOps Integration)。 - API 名称:系统会根据应用名称自动填充。保留为默认值或进行自定义。
- 联系邮箱:输入您的电子邮件地址。
- 分发状态:选择本地。
- 外部客户端应用名称:输入一个描述性名称(例如
- 点击继续。
启用 OAuth 设置
- 选中启用 OAuth 复选框。
- 提供以下配置详细信息:
- 回调网址:输入
https://login.salesforce.com/services/oauth2/callback。
- 回调网址:输入
- 在 OAuth Scopes(OAuth 范围)部分中,将以下范围从 Available OAuth Scopes(可用的 OAuth 范围)移至 Selected OAuth Scopes(选定的 OAuth 范围):
- 通过 API (api) 管理用户数据
- Perform requests on your behalf at any time (refresh_token, offline_access)
启用 JWT 不记名令牌流程并上传证书
- 在启用流程部分中,选中启用 JWT 不记名令牌流程复选框。
- 系统会显示证书上传部分。
- 点击上传文件,或拖放证书文件。
- 选择之前生成的
salesforce_certificate.crt文件。 - 等待上传完成。证书文件名应显示在“上传”按钮下方。
配置 OAuth 政策
- 在 OAuth 政策部分中:
- 允许的用户:选择管理员批准的用户已获得预先授权。
- 点击保存。
获取使用方密钥
创建外部客户端应用后,检索使用方密钥以进行 Chronicle 配置。
- 在外部客户端应用管理器中,点击您的应用名称(例如
Google SecOps Integration)。 - 转到设置标签页。
- 在 OAuth 设置部分,点击使用方密钥和 Secret。
- 复制并保存使用方密钥值。
示例消费者密钥格式:
```
3MVG9IKcPoNiNVBIPjdw4z.pcfRjTFBp7xC8x9k4U8jZ0HlLQdPqX5bKjR8yNzQ9_YvY.8xD3F2W6nXb5YgNx
```
预先授权外部客户端应用
Salesforce 要求预先授权才能使用 JWT 不记名令牌流程。通过权限集将外部客户端应用分配给用户,从而进行预授权。
创建权限集
- 依次前往设置 > 用户 > 权限集。
- 点击 New(新建)。
- 提供以下配置详细信息:
- 标签:输入
Chronicle Integration Users(例如)。 - API 名称:系统会根据标签自动填充。
- 标签:输入
- 点击保存。
为外部客户端应用分配权限集
- 依次前往设置 > 外部客户端应用管理器。
- 点击您的外部客户端应用(例如
Google SecOps Integration)。 - 点击政策标签页。
- 在应用政策部分中的选择权限集下:
- 将您的权限集(例如
Chronicle Integration Users)从可用权限集移至所选权限集。
- 将您的权限集(例如
- 点击保存。
为用户分配权限集
- 在权限集详情页面中,点击管理分配。
- 点击添加分配。
- 选中将用于 Chronicle 集成的用户账号旁边的复选框(例如
integration@acme.com)。 - 点击分配。
- 点击完成。
在 Google SecOps 中配置 Feed 以注入 Salesforce 日志
- 依次前往 SIEM 设置> Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称(例如
Salesforce EventLogFile)。 - 选择第三方 API 作为来源类型。
- 选择 SALESFORCE 作为日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- API 主机名:输入您的 Salesforce 实例主机名(例如
acme.my.salesforce.com)。
- API 主机名:输入您的 Salesforce 实例主机名(例如
* **OAuth JWT Endpoint**: Enter the OAuth token endpoint URL:
- Production orgs: `https://login.salesforce.com/services/oauth2/token`
- Sandbox orgs: `https://test.salesforce.com/services/oauth2/token`
- My Domain: `https://acme.my.salesforce.com/services/oauth2/token`
* **JWT Claims Issuer**: Enter the Consumer Key from the External Client App.
* **JWT Claims Subject**: Enter the Salesforce username of the pre-authorized user (for example, `integration@acme.com`).
* **JWT Claims Audience**: Enter the authorization server URL:
- Production orgs: `https://login.salesforce.com`
- Sandbox orgs: `https://test.salesforce.com`
- My Domain: `https://acme.my.salesforce.com`
* **RSA Private Key**: Paste the complete private key contents including `-----BEGIN PRIVATE KEY-----` and `-----END PRIVATE KEY-----` markers.
如需获取私钥内容,请执行以下操作:
```bash
cat salesforce_private.key
```
复制整个输出,包括页眉和页脚行。
* **Asset namespace**: The [asset namespace](/chronicle/docs/investigation/asset-namespaces).
* **Ingestion labels**: The label to be applied to the events from this feed.
- 点击下一步。
- 在最终确定界面中查看新的 Feed 配置,然后点击提交。
Salesforce 实例类型参考
OAuth JWT 端点和受众群体值取决于您的 Salesforce 实例类型:
| Instance Type | OAuth JWT Endpoint | JWT Claims Audience | API Hostname Format |
| ------------------- | ------------------------------------------------------- | -------------------------------- | -------------------------------------- |
| **Production** | `https://login.salesforce.com/services/oauth2/token` | `https://login.salesforce.com` | `company.my.salesforce.com` |
| **Sandbox** | `https://test.salesforce.com/services/oauth2/token` | `https://test.salesforce.com` | `company--sandbox.sandbox.my.salesforce.com` |
| **My Domain** | `https://domain.my.salesforce.com/services/oauth2/token`| `https://domain.my.salesforce.com` | `domain.my.salesforce.com` |
Note: "My Domain" is recommended for production deployments. "My Domain" provides a custom, branded login URL and is required for certain Salesforce features.
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 为“浏览器”,对于 LoginEvent 为“集成 JWT 令牌”,对于具有对象类型 LoginHistory 的 LoginHistory 为“SfdcSiqActivityPlatform”,对于 ApiEvent 为“N/A”,对于 LoginAsEventStream 为“浏览器”。 |
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 为“Insights”,则为“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.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”,对于 Operation 为“Create”或“INSERT”的 UriEvent 和 TimeBasedWorkflow 设置为“RESOURCE_CREATION”,对于 Operation 为“Update”的 UriEvent 和 LightningUriEvent 设置为“RESOURCE_WRITTEN”,对于 Operation 为“Delete”或“ROLLBACK”的 UriEvent 设置为“RESOURCE_DELETION”,对于 SetupAuditTrail 和 AuditTrail 设置为“USER_UNCATEGORIZED”,对于 operation 为“namedCredentialEncryptedFieldChange”的 SetupAuditTrail 设置为“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 |
由各种字段(例如 LoginUrl、attributes.url、data.properties.PageUrl.str、data.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_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 中提取的 LoginEventStream 的值(如果 Platform 包含“Windows”)。 |
| 解析器逻辑 | 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,该值为“浏览器”。 |
| 解析器逻辑 | 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”;对于“Case”“Lead”“Contact”“Opportunity”“Account”,则根据是否存在相应的 ID 字段来设置。 |
| 解析器逻辑 | 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 不是“成功”,则设置为“有效”,否则设置为“UNKNOWN_AUTHENTICATION_STATUS”。 |
| 解析器逻辑 | extensions.auth.mechanism |
如果登录成功事件和登录事件的 logintype 包含“Remote”,则设置为“REMOTE”;如果为 LoginEventStream,则设置为“USERNAME_PASSWORD”;如果事件包含 login_url,则设置为“MECHANISM_OTHER”;如果为登录成功事件和注销事件,则设置为“AUTHTYPE_UNSPECIFIED”。 |
| 解析器逻辑 | extensions.auth.type |
对于登录、注销、LogoutEvent、LoginAs、IdentityProviderEventStore、LoginHistory、LoginAsEvent(如果 LoginType 为“SAML Sfdc Initiated SSO”),设置为“SSO”;对于登录:成功、注销、LoginAsEvent(如果 LoginType 为“Application”),设置为“AUTHTYPE_UNSPECIFIED”。 |
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。