IBM Cloud Docs
活动跟踪事件

活动跟踪事件

作为一名安全官员、审计员或经理,您可以使用 IBM Cloud Logs 服务,以跟踪用户和应用程序如何与 IBM® Key Protect for IBM Cloud®.

IBM Cloud Logs 记录服务和用户发起的活动 中改变服务状态的活动。IBM Cloud 您可以使用此服务来调查异常活动和关键操作,并满足监管审计需求。 此外,还可以在发生操作时收到相关警报。 收集的事件符合 Cloud Auditing Data Federation (CADF) 标准。

有关 IBM Cloud Logs 服务的更多信息,请查看 关于 IBM Cloud Logs

要确定哪些 Key Protect API 请求与以下操作相关,请参阅 Key Protect API 参考文档

有关事件的历史信息

表 1. 事件名称的历史参考映射
参考信息 当前事件名称
kms.governance.configread kms.governance-config.read
kms.importtoken.create kms.import-token.create
kms.importtoken.read kms.import-token.read
kms.importtoken.default kms.import-token.request
kms.instance.readallowedipport kms.instance-allowed-ip-port.read
kms.instance.readipwhitelistport kms.instance-ip-allowlist-port.read
kms.instancepolicies.write kms.instance-policies.write
kms.instancepolicies.read kms.instance-policies.read
kms.instancepolicies.default kms.instance-policies.request
kms.keyrings.create kms.key-rings.create
kms.keyrings.delete kms.key-rings.delete
kms.keyrings.list kms.key-rings.list
kms.keyrings.default kms.key-rings.request
kms.secrets.defaultalias kms.secrets-alias.request
kms.secrets.createalias kms.secrets-alias.create
kms.secrets.deletealias kms.secrets-alias.delete
kms.secrets.eventack kms.secrets-event.ack
kms.secrets.listkeyversions kms.secrets-key-versions.list
kms.secrets.readmetadata kms.secrets-metadata.read

关键事件

下表列出了生成事件的关键操作:

表 2. 生命周期关键行动
操作 描述
kms.secrets.create 创建密钥
kms.secrets-alias.create 创建密钥别名
kms.secrets.default 密钥请求事件无效
kms.secrets.delete 删除密钥
kms.secrets-alias.delete 删除密钥别名
kms.secrets.disable 对密钥禁用操作
kms.secrets.enable 对密钥启用操作
kms.secrets-event.ack 确认对密钥执行生命周期操作
kms.secrets.expire 使密钥到期
kms.secrets.head 检索密钥总计
kms.secrets.list 列出密钥
kms.secrets-key-versions.list 列出密钥的所有版本
kms.secrets.wrap 打包密钥
kms.secrets.patch 修补密钥
kms.secrets.purge 清除密钥
kms.secrets.read 检索所有密钥信息
kms.secrets-metadata.read 检索密钥元数据 (不包括密钥有效内容 (如果适用))
kms.secrets.restore 复原密钥
kms.secrets.rewrap 重新打包密钥
kms.secrets.rotate 轮换密钥
kms.secrets.setkeyfordeletion 使用双重授权策略授权删除密钥
kms.secrets.unsetkeyfordeletion 取消删除具有双重授权策略的密钥
kms.secrets.unwrap 解包密钥

密钥环事件

下表列出了产生事件的关键环操作:

表 3. 钥匙圈行动
操作 描述
kms.key-rings.create 创建密钥环
kms.key-rings.delete 删除密钥环
kms.key-rings.list 列出实例中的密钥环
kms.key-rings.request 密钥环请求无效

策略事件

下表列出了生成事件的策略操作:

表 4. 政策行动
操作 描述
kms.policies.read 列出关键策略
kms.policies.write 设置关键策略
kms.instance-policies.read 列出实例策略
kms.instance-policies.write 设置实例策略
kms.policies.default 策略请求事件无效
kms.instance-policies.request 策略请求事件无效

导入令牌事件

下表列出了生成事件的导入标记操作:

表 5. 导入令牌操作
操作 描述
kms.import-token.create 创建导入令牌
kms.import-token.read 检索导入令牌
kms.import-token.request 导入令牌请求事件无效

注册事件

针对任何密钥的列表注册或针对特定密钥的列表注册的相应操作都会生成此事件。

下表列出了可生成事件的注册操作:

表 6. 登记行动
操作 描述
kms.registrations.list 列出任何密钥的注册
kms.registrations.default 注册请求事件无效

查看事件

由实例生成的事件 Key Protect 会自动转发到 实例。的实例。IBM Cloud Logs

每个位置只能有一个 IBM Cloud Logs 实例。 要查看事件,必须访问 IBM Cloud Logs 在您的 Key Protect 实例可用。

表 7. IBM Cloud Logs 地区
部署区域 IBM Cloud Logs 区域
au-syd au-syd
br-sao br-sao
ca-tor ca-tor
eu-de eu-de
eu-gb eu-gb
jp-osa jp-osa
jp-tok jp-tok
us-east us-east
us-south us-south

分析成功事件

大多数成功请求都具有与每个相关事件关联的唯一 requestDataresponseData。 以下各节将介绍每个 Key Protect 服务操作事件。

除非请求成功,否则不保证显示字段。

公共字段

有一些公共字段 Key Protect 在 CADF 事件模型外部使用以提供对数据的更多洞察。

表 8. 描述了 IBM Cloud Logs 事件中 Key Protect 服务操作的常用字段。
字段 描述
requestData.requestURI 发出的 API 请求的 URI用于在 Web 上标识内容的唯一地址。 URI 的最常见形式是网页地址,这是 URI 的特定形式或子集,称为统一资源定位符 (URL)。 URI 通常描述如何访问资源、包含该资源的计算机以及该资源在该计算机上的位置。
requestData.instanceID Key Protect 实例的唯一标识。
correlationId 生成事件的 API 请求的唯一标识。

有关云审计数据联盟 (CADF) 事件模型中事件字段的更多信息,请参阅 (CADF) 事件模型中事件字段的信息,请参阅 活动跟踪事件 IBM Cloud Logs

虽然 initiator.host.address 是属于 Cloud Auditing Data Federation 模型的字段,但对于通过专用网络发出的请求,将不会显示主机地址字段。

条件公共字段

有一些条件字段 当您使用密钥环功能时,Key Protect 将在 CADF 事件模型外部使用,以提供对数据的更多洞察。 在特定条件下使用密钥环时,将显示这些字段。

表 9. 描述了在 IBM Cloud Logs 事件中与关键环配合使用的条件字段,用于 Key Protect 服务操作。
字段 描述
requestData.keyRingId 密钥环的标识 (如果在请求的头 (X-Kms-Key-Ring) 中指定了密钥环)。
responseData.keyRingId 密钥环的标识 (如果在请求中或在密钥标识 (或别名) 位于请求 URI用于在 Web 上标识内容的唯一地址。 URI 的最常见形式是网页地址,这是 URI 的特定形式或子集,称为统一资源定位符 (URL)。 URI 通常描述如何访问资源、包含该资源的计算机以及该资源在该计算机上的位置。的路径中的 API 方法中指定了密钥环)。

关键操作事件

由于加密密钥的信息敏感度,当由于 API 调用而生成事件时, Key Protect 服务,生成的事件不包含有关密钥的详细信息,例如有效内容和加密现时标志。

responseData.keyState 字段是整数,对应于预激活 = 0,活动 = 1,已暂挂 = 2,已取消激活 = 3 和已销毁 = 5 值。 有关密钥状态的更多信息,请参阅 密钥状态和转换

创建密钥

以下字段包含额外信息:

  • requestData.keyType 字段包含已创建的密钥的类型。

  • responseData.keyId 字段包含与密钥关联的唯一标识。

  • responseData.keyVersionId 字段包含当前密钥版本的唯一标识,当前密钥版本用于在打包请求时对输入密文进行打包。

  • responseData.keyVersionCreationDate 字段包含创建密钥的当前版本的日期。

  • responseData.keyState 字段包含与密钥状态相关的整数。

  • responseData.expirationDate 包含密钥将到期的日期。

删除密钥

以下字段包含额外信息:

  • responseData.keyState 字段包含与密钥状态相关的整数。

到期密钥

以下字段包含额外信息:

  • requestData.keyType 字段包含已创建的密钥的类型。

  • responseData.keyId 字段包含与密钥关联的唯一标识。

  • requestData.expirationDate 字段包含密钥到期日期。

  • responseData.initialValue.keyState 字段包含与键的先前状态相关的整数。

  • responseData.newValue.keyState 字段包含与键的当前状态相关的整数。

合并或解包密钥

以下字段包含额外信息:

  • responseData.keyVersionId 字段包含当前密钥版本的唯一标识,当前密钥版本用于在打包请求时对输入密文进行打包。

  • responseData.expirationDate 包含密钥将到期的日期。

重新打包密钥

以下字段包含额外信息:

  • responseData.keyVersionId 字段包含当前密钥版本的唯一标识,当前密钥版本用于在打包请求时对输入密文进行打包。

  • responseData.rewrappedKeyVersionId 字段包含用于在打包请求时打包输入密文的新密钥版本的唯一标识。

复原密钥

以下字段包含额外信息:

  • responseData.keyVersionId 字段包含当前密钥版本的唯一标识,当前密钥版本用于在打包请求时对输入密文进行打包。

轮换密钥

旋转键没有任何其他字段在来自以下对象的字段之外 公共字段 部分

补丁密钥

以下字段包含额外信息:

  • requestData.initialValue.keyRingId 字段包含密钥先前作为其组成部分的密钥环的标识。

  • requestData.newValue.keyRingId 字段包含密钥当前属于的密钥环的标识。

清除密钥

以下字段包含额外信息:

  • responseData.deletionDate 字段表示删除密钥的日期。

  • responseData.purgeAllowedFrom 字段表示允许执行清除操作的日期。

  • responseData.purgeEligibleOn 字段表示 Key Protect有资格从系统中永久除去密钥元数据的日期。

获取密钥总数

以下字段包含额外信息:

  • responseData.totalResources 字段包含 Key Protect 实例中的密钥总量。

列出密钥

以下字段包含额外信息:

  • responseData.totalResources 字段包含响应中返回的密钥总数。

获取密钥或密钥元数据

以下字段包含额外信息:

  • requestData.keyType 字段包含检索到的密钥类型。

  • responseData.keyState 字段包含与密钥状态相关的整数。

  • responseData.keyVersionId 字段包含用于在打包请求上打包输入密文的密钥版本的唯一标识。

  • responseData.keyVersionCreationDate 字段包含创建密钥的当前版本的日期。

  • responseData.expirationDate 包含密钥将到期的日期。

列出密钥版本

以下字段包含额外信息:

  • responseData.totalResources 字段包含响应中返回的密钥版本总数。

设置或取消设置要删除的密钥

以下字段包含额外信息:

  • responseData.initialValue.authID 字段包含设置双重授权策略的人员的发起方标识。

  • responseData.initialValue.authExpiration 字段包含双重授权策略的截止日期。

  • responseData.newValue.authID 字段包含设置双重授权策略的人员的发起方标识。

  • responseData.newValue.authExpiration 字段包含双重授权策略的截止日期。

initialValue 是上次设置双重授权策略的人员的 initiatorID,newValue 是设置双重授权策略的人员的新 initiatorID。

策略事件

设置实例策略

允许的网络策略

以下字段包含额外信息:

  • 如果先前已启用或禁用允许的网络策略,那么 requestData.initialValue.policyAllowedNetworkEnabled 字段将包含在内。

  • 如果允许的网络策略先前仅适用于公用网络或公用和专用网络,那么 requestData.initialValue.policyAllowedNetworkAttribute 字段将包括在内。

  • 如果当前已启用或禁用允许的网络策略,那么 requestData.newValue.policyAllowedNetworkEnabled 字段将包含在内。

  • 如果允许的网络策略当前仅适用于公用网络,或者同时适用于公用和专用网络,那么 requestData.newValue.policyAllowedNetworkAttribute 字段将包括在内。

双重授权删除策略

以下字段包含额外信息:

  • 如果先前已启用或禁用双重认证删除策略,那么 requestData.initialValue.policyDualAuthDeleteEnabled 字段将包含在内。

  • 如果当前已启用或禁用双认证删除策略,那么 requestData.newValue.policyDualAuthDeleteEnabled 字段将包含在内。

允许的 IP 策略

以下字段包含额外信息:

  • 如果先前已启用或禁用允许的 IP 策略,那么 requestData.initialValue.policyAllowedIPAttribute 字段将包括在内。

  • 如果当前已启用或禁用允许的 IP 策略,那么 requestData.newValue.policyAllowedIPAttribute 字段将包含在内。

密钥创建和导入访问策略

以下字段包含额外信息:

  • 如果先前已启用或禁用密钥创建和导入策略,那么 requestData.initialValue.PolicyKCIAEnabled 字段将包括在内。

  • 如果当前已启用或禁用密钥创建和导入策略,那么 requestData.newValue.PolicyKCIAEnabled 字段将包含在内。

  • requestData.initialValue.PolicyKCIAAttrCRK 字段包含先前允许创建根密钥的密钥创建和导入策略。

  • 如果密钥创建和导入策略允许创建根密钥,那么 requestData.newValue.PolicyKCIAAttrCRK 字段将包含在内。

  • requestData.initialValue.PolicyKCIAAttrCSK 字段包含先前允许创建标准密钥的密钥创建和导入策略。

  • 如果密钥创建和导入策略允许创建标准密钥,那么 requestData.newValue.PolicyKCIAAttrCSK 字段将包含在内。

  • requestData.initialValue.PolicyKCIAAttrIRK 字段包含先前允许导入的根密钥的密钥创建和导入策略。

  • 如果密钥创建和导入策略允许导入的根密钥,那么 requestData.newValue.PolicyKCIAAttrIRK 字段将包括在内。

  • requestData.initialValue.PolicyKCIAAttrISK 字段包含先前允许导入的标准密钥的密钥创建和导入策略。

  • 如果密钥创建和导入策略允许导入标准密钥,那么 requestData.newValue.PolicyKCIAAttrISK 字段将包含在内。

  • 如果密钥创建和导入策略先前需要通过导入令牌导入密钥,那么 requestData.initialValue.PolicyKCIAAttrET 字段将包含在内。

  • 如果您的密钥创建和导入策略要求通过导入令牌导入密钥,那么 requestData.newValue.PolicyKCIAAttrET 字段将包含在内。

导入令牌事件

创建导入令牌

以下字段包含额外信息:

  • responseData.expirationDate 字段包含导入令牌的截止日期。

  • responseData.maxAllowedRetrievals 字段包含在无法再访问导入令牌之前,可以在其到期时间内检索该令牌的最大次数。

检索导入令牌

以下字段包含额外信息:

  • responseData.maxAllowedRetrievals 字段包含在无法再访问导入令牌之前,可以在其到期时间内检索该令牌的最大次数。

  • responseData.remainingRetrievals 字段包含在无法再访问导入令牌之前,可以在其到期时间内检索该令牌的次数。

已完成密钥轮换操作

以下字段包含额外信息:

  • responseData.eventAckData.eventId 字段包含与事件关联的唯一标识。

  • responseData.eventAckData.eventType 字段包含与事件关联的生命周期操作的类型。

  • responseData.eventAckData.newKeyVersionId 字段包含用于在打包请求上打包输入密文的最新密钥版本的唯一标识。

  • responseData.eventAckData.newKeyVersionCreationDate 字段包含创建最新密钥版本的日期。

  • responseData.eventAckData.oldKeyVersionId 字段包含用于在打包请求时打包输入密文的先前密钥版本的唯一标识。

  • responseData.eventAckData.oldKeyVersionCreationDate 字段包含创建先前密钥版本的日期。

已完成密钥复原操作

以下字段包含额外信息:

  • responseData.eventAckData.eventId 字段包含与事件关联的唯一标识。

  • responseData.eventAckData.eventType 字段包含与事件关联的生命周期操作的类型。

  • responseData.eventAckData.keyState 字段包含与事件关联的键的状态相关的整数。

  • responseData.eventAckData.eventAckTimeStamp 字段包含确认事件的日期和时间。

已完成已启用密钥的操作

以下字段包含额外信息:

  • responseData.eventAckData.eventId 字段包含与事件关联的唯一标识。

  • responseData.eventAckData.eventType 字段包含与事件关联的生命周期操作的类型。

  • responseData.eventAckData.keyState 字段包含与事件关联的键的状态相关的整数。

  • responseData.eventAckData.eventAckTimeStamp 字段包含确认事件的日期和时间。

已完成禁用密钥的操作

以下字段包含额外信息:

  • responseData.eventAckData.eventId 字段包含与事件关联的唯一标识。

  • responseData.eventAckData.eventType 字段包含与事件关联的生命周期操作的类型。

  • responseData.eventAckData.keyState 字段包含与事件关联的键的状态相关的整数。

  • responseData.eventAckData.eventAckTimeStamp 字段包含确认事件的日期和时间。

KMIP 管理事件

下表列出了生成事件的 KMIP 管理操作:

| 行动 | - | - | | kms.kmip-management.create | 创建 KMIP 适配器或 KMIP 适配器客户机证书。| | kms.kmip-management.delete | 删除 KMIP 适配器,KMIP 适配器客户机证书或 KMIP 对象。| | kms.kmip-management.list | 列示 KMIP 适配器,KMIP 适配器客户机证书或 KMIP 对象。| | kms.kmip-management.read | 获取 KMIP 适配器,KMIP 适配器客户机证书或 KMIP 对象。| | kms.kmip-management.default | 无效的 KMIP managmenet API 请求。|

KMIP 事件

下表列出了生成事件的 KMIP 协议操作行为:

| 行动 | - | - | | kms.kmip.create | 创建 KMIP 对称密钥,或向 KMIP 对象添加 KMIP 属性。| | kms.kmip.get | 从服务器获取 KMIP 对称密钥,KMIP 属性或受支持的 KMIP 协议版本。| | kms.kmip.activate | 激活 KMIP 对象。| | kms.kmip.revoke | 撤销 KMIP 对象。| | kms.kmip.destroy | 销毁 KMIP 对象。| | kms.kmip.locate | 列出 KMIP 对象。| | kms.kmip.default | KMIP 操作请求无效。|

分析失败事件

无法删除密钥

如果删除密钥事件的 reason.reasonCode 值为 409,那么无法删除密钥,因为它可能保护具有保留时间策略的一个或多个云资源。 向 /keys/{id}/registrations 发出 GET 请求,以了解此密钥与哪些资源相关联。 注册 "preventKeyDeletion": true 指示相关联的资源具有保留时间策略。 要启用删除,请联系帐户所有者以除去与此密钥关联的每个资源上的保留时间策略。

由于密钥上存在双重授权删除策略,因此删除密钥事件还可能接收到 reason.reasonCode 值 409。 发出 GET 请求 /api/v2/keys/{id}/policies 以查看是否存在与密钥关联的双重授权策略。 如果存在策略集,请与其他授权用户联系以调度要删除的密钥。

发出请求时无法认证

如果事件的 reason.reasonCode 为 401,那么您没有正确的权限在指定的 Key Protect 实例中执行 Key Protect 操作。 向管理员验证是否在适用的服务实例中为您分配了正确的平台和服务访问角色。 有关角色的更多信息,请参阅角色和许可权

请检查您是否正在使用与有权执行服务操作的帐户相关联的有效令牌。

无法查看或列示 Key Protect 实例中的密钥

如果调用 GET api/v2/keys 以列出 Key Protect 实例和 responseData.totalResources 为 0,您可能需要使用 state 参数查询处于“已删除”状态的密钥,或者调整 offsetlimit 参数。

对具有注册的密钥执行的生命周期操作未完成

responseData.reasonForFailureresponseData.resourceCRN 字段包含有关无法完成操作的原因的信息。

如果事件的 reason.reasonCode 为 409,那么由于采用服务的密钥状态与以下密钥状态冲突,因此无法完成操作: Key Protect 具有。

如果事件的 reason.reasonCode 值为 408,那么无法完成操作,因为未通知 Key Protect 在操作请求的 4 小时内执行了所有相应的操作。

事件严重性

IBM Cloud Logs 的所有事件的严重程度 Key Protect 基于发出的请求类型,然后是状态码。 例如,如果您发出具有无效密钥的创建密钥请求,但对于 包含在请求中的 Key Protect 实例,取消认证将优先,并且事件将评估为 401 严重性为 critical 的错误请求调用。

Key Protect 返回 401 reason.resasonCode 表示未经授权/禁止 Key Protect 服务请求。

下表列出了与每个严重性级别关联的操作:

表 10. 描述 Key Protect 服务操作的严重性级别。
严重性 操作
严重 kms.secrets.delete
kms.registrations.delete
警告 kms.secrets.rotate, kms.secrets.restore
kms.secrets.enable, kms.secrets.disable
kms.secrets.setkeyfordeletion, kms.secrets.unsetkeyfordeletion
kms.policies.write, kms.instance-policies.write
正常 kms.secrets.create, kms.secrets.read
kms.secrets-metadata.read, kms.secrets.head
kms.secrets.list, kms.secrets.wrap
kms.secrets.unwrap, kms.secrets.rewrap
kms.secrets-key-versions.list, kms.secrets-event.ack
kms.policies.read, kms.instance-policies.read
kms.import-token.create, kms.import-token.read
kms.registrations.create, kms.registrations.write
kms.registrations.merge, kms.registrations.list
kms.secrets.ack-delete, kms.secrets.ack-restore
kms.secrets.ack-rotate, kms.secrets.ack-enable
kms.secrets.ack-disable

下表列出了与每个严重性级别关联的状态码:

表 11. 描述 Key Protect 响应状态代码的严重程度。
严重性 状态代码
严重 401,403,503,507
警告 400,409,424,502,504,505