活动跟踪事件
作为一名安全官员、审计员或经理,您可以使用 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 参考文档。
有关事件的历史信息
参考信息 | 当前事件名称 |
---|---|
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 |
关键事件
下表列出了生成事件的关键操作:
操作 | 描述 |
---|---|
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 |
解包密钥 |
密钥环事件
下表列出了产生事件的关键环操作:
操作 | 描述 |
---|---|
kms.key-rings.create |
创建密钥环 |
kms.key-rings.delete |
删除密钥环 |
kms.key-rings.list |
列出实例中的密钥环 |
kms.key-rings.request |
密钥环请求无效 |
策略事件
下表列出了生成事件的策略操作:
操作 | 描述 |
---|---|
kms.policies.read |
列出关键策略 |
kms.policies.write |
设置关键策略 |
kms.instance-policies.read |
列出实例策略 |
kms.instance-policies.write |
设置实例策略 |
kms.policies.default |
策略请求事件无效 |
kms.instance-policies.request |
策略请求事件无效 |
导入令牌事件
下表列出了生成事件的导入标记操作:
操作 | 描述 |
---|---|
kms.import-token.create |
创建导入令牌 |
kms.import-token.read |
检索导入令牌 |
kms.import-token.request |
导入令牌请求事件无效 |
注册事件
针对任何密钥的列表注册或针对特定密钥的列表注册的相应操作都会生成此事件。
下表列出了可生成事件的注册操作:
操作 | 描述 |
---|---|
kms.registrations.list |
列出任何密钥的注册 |
kms.registrations.default |
注册请求事件无效 |
查看事件
由实例生成的事件 Key Protect 会自动转发到 实例。的实例。IBM Cloud Logs
每个位置只能有一个 IBM Cloud Logs 实例。 要查看事件,必须访问 IBM Cloud Logs 在您的 Key Protect 实例可用。
部署区域 | 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 |
分析成功事件
大多数成功请求都具有与每个相关事件关联的唯一 requestData
和 responseData
。 以下各节将介绍每个 Key Protect 服务操作事件。
除非请求成功,否则不保证显示字段。
公共字段
有一些公共字段 Key Protect 在 CADF 事件模型外部使用以提供对数据的更多洞察。
字段 | 描述 |
---|---|
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 事件模型外部使用,以提供对数据的更多洞察。 在特定条件下使用密钥环时,将显示这些字段。
字段 | 描述 |
---|---|
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
参数查询处于“已删除”状态的密钥,或者调整 offset
和 limit
参数。
对具有注册的密钥执行的生命周期操作未完成
responseData.reasonForFailure
和 responseData.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 服务请求。
下表列出了与每个严重性级别关联的操作:
严重性 | 操作 |
---|---|
严重 | 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 |
下表列出了与每个严重性级别关联的状态码:
严重性 | 状态代码 |
---|---|
严重 | 401,403,503,507 |
警告 | 400,409,424,502,504,505 |