收集 Cloud Identity Device Users 日志
本文档介绍了如何使用 Cloud Storage 将 Cloud Identity 设备用户日志导出到 Google 安全运营中心。解析器首先从 JSON 格式的 Cloud Identity Device Users
日志中提取数据,并将时间戳转换为标准化格式。然后,它会将原始日志数据中的特定字段映射到用户实体、用户与资产的关系以及管理状态和密码状态等其他用户属性在统一数据模型 (UDM) 中的对应字段。
准备工作
- 确保您的 Google Cloud 项目中已启用 Google Cloud Identity。
- 确保您拥有 Google SecOps 实例。
- 确保您对 Google Cloud Identity 和 Cloud Logging 拥有特权访问权限。
创建 Cloud Storage 存储桶
- 登录 Google Cloud 控制台。
前往 Cloud Storage 存储分区页面。
点击创建。
在创建存储桶页面上,输入您的存储桶信息。完成以下各步骤后,点击继续以进入下一步:
在开始使用部分中,执行以下操作:
- 输入符合存储分区名称要求的唯一名称;例如 gcp-cloudidentity-users-logs。
如需启用分层命名空间,请点击展开箭头以展开优化文件导向型和数据密集型工作负载部分,然后选择在此存储分区上启用分层命名空间。
如需添加存储分区标签,请点击展开箭头以展开标签部分。
点击添加标签,然后为标签指定键和值。
在选择数据存储位置部分中,执行以下操作:
- 选择位置类型。
使用位置类型菜单选择一个位置,用于永久存储存储分区中的对象数据。
如需设置跨存储分区复制,请展开设置跨存储分区复制部分。
在为数据选择一个存储类别部分中,为存储分区选择默认存储类别,或者选择 Autoclass 对存储分区数据进行自动存储类别管理。
在选择如何控制对对象的访问权限部分中,选择否以强制执行禁止公开访问,然后为存储分区对象选择访问权限控制模型。
在选择如何保护对象数据部分中,执行以下操作:
- 在数据保护下,选择您要为存储分区设置的任何选项。
- 如需选择对象数据的加密方式,请点击标有数据加密的展开箭头,然后选择数据加密方法。
点击创建。
配置 Cloud Identity 设备用户日志导出
- 登录 Google Cloud 控制台。
- 依次前往日志记录 > 日志路由器。
- 点击创建接收器。
提供以下配置参数:
- 接收器名称:输入一个有意义的名称,例如
Cloudidentity-Users-Sink
。 - 接收器目标位置:选择 Cloud Storage 存储,然后输入存储分区的 URI;例如
gs://gcp-cloudidentity-users-logs
。 日志过滤器:
logName="projects/<your-project-id>/logs/cloudaudit.googleapis.com%2Factivity" resource.type="cloud_identity_user"
设置导出选项:包含所有日志条目。
- 接收器名称:输入一个有意义的名称,例如
点击创建。
配置 Cloud Storage 权限
- 依次前往 IAM 和管理 > IAM。
- 找到 Cloud Logging 服务账号。
- 向存储分区授予 roles/storage.admin。
在 Google SecOps 中配置 Feed 以提取 Cloud Identity 设备用户日志
- 依次前往 SIEM 设置 > Feed。
- 点击新增。
- 在Feed 名称字段中,输入 Feed 的名称;例如,Cloud Identity DU 日志。
- 选择 Google Cloud Storage 作为来源类型。
- 选择 GCP Cloud Identity Device Users 作为日志类型。
- 点击 Chronicle 服务账号字段旁边的获取服务账号。
- 点击下一步。
为以下输入参数指定值:
- 存储分区 URI:Cloud Storage 存储分区网址;例如
gs://gcp-cloudidentity-users-logs
。 - URI 类型:选择包含子目录的目录。
来源删除选项:根据您的偏好选择删除选项。
资源命名空间:资源命名空间。
提取标签:应用于此 Feed 中的事件的标签。
- 存储分区 URI:Cloud Storage 存储分区网址;例如
点击下一步。
在最终确定界面中查看新的 Feed 配置,然后点击提交。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
collection_time.nanos | timestamp.nanos | 直接从日志字段映射。表示事件时间戳(以纳秒为单位)。 |
collection_time.seconds | timestamp.seconds | 直接从日志字段映射。表示事件时间戳(以秒为单位)。 |
createTime | entity.metadata.creation_timestamp | 由 date 过滤器解析后,直接从日志字段映射。表示用户的创建时间戳。 |
managementState | entity.additional.fields.value.string_value | 直接从日志字段映射。表示用户的管理状态。 |
name | entity.entity.resource.name | 直接从日志字段映射。表示设备用户的完整资源名称。 |
passwordState | entity.additional.fields.value.string_value | 直接从日志字段映射。表示用户的密码状态。只有在原始日志中存在 passwordState 字段时,系统才会映射此字段。 |
userEmail | entity.entity.user.email_addresses | 直接从日志字段映射。表示用户的电子邮件地址。 |
entity.additional.fields.key | 在解析器中设置为常量值 Management State 。此字段用于为 managementState 值提供上下文。 |
|
entity.additional.fields.key | 在解析器中设置为常量值 Password State 。此字段用于为 passwordState 值提供上下文,并且只有在原始日志中存在 passwordState 时才会出现。 |
|
entity.entity.user.product_object_id | 使用 grok 过滤器从 name 字段中提取,捕获 deviceuser_id 部分。表示设备用户的唯一标识符。 |
|
entity.metadata.collected_timestamp.nanos | 从 collection_time.nanos 复制。表示收集日志时的时间戳。 |
|
entity.metadata.collected_timestamp.seconds | 从 collection_time.seconds 复制。表示收集日志时的时间戳。 |
|
entity.metadata.entity_type | 在解析器中设置为常量值 USER 。 |
|
entity.metadata.product_name | 在解析器中设置为常量值 GCP Cloud Identity Device Users 。 |
|
entity.metadata.vendor_name | 在解析器中设置为常量值 Google Cloud Platform 。 |
|
relations.entity.asset.product_object_id | 使用 grok 过滤器从 name 字段中提取,捕获 device_id 部分。表示设备的唯一标识符。 |
|
relations.entity_type | 在解析器中设置为常量值 ASSET 。 |
|
relations.relationship | 在解析器中设置为常量值 MEMBER 。 |
变化
2022-10-01
bug 修复:
- 移除了字段
firstSyncTime
、lastSyncTime
的映射。 - 添加了检查
passwordState
是否不为空的条件。
2022-04-21
增强功能:
- 将
relationships.entity_type
的值更改为ASSET
,将relations.relationship
的值更改为MEMBER
- 将
firstSyncTime
和lastSyncTime
的映射从additional.fields
更改为了entity.metadata.interval
2022-04-13
- 新创建的解析器。
需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。