IBM Cloud Docs
IAM 的活动跟踪事件

IAM 的活动跟踪事件

IBM Cloud Identity and Access Management(IAM)会生成活动跟踪事件。

活动跟踪事件会报告改变IBM Cloud 中服务状态的活动。 您可以使用这些事件来调查异常活动和关键操作,并遵守监管审计要求。

您可以使用IBM Cloud Activity Tracker Event Routing 这一平台服务,通过配置定义活动跟踪事件发送位置的目标和路由,将账户中的审计事件路由到您选择的目的地。 有关更多信息,请参阅关于 IBM Cloud Activity Tracker Event Routing

您可以使用IBM Cloud Logs对账户中生成并由IBM Cloud Activity Tracker Event Routing路由到IBM Cloud Logs实例的事件进行可视化处理并发出警报。

IBM Cloud Activity Tracker Event Routing发送活动跟踪事件的位置

IAM 通过IBM Cloud Activity Tracker Event Routing在下表所示区域发送活动跟踪事件。

美洲各地发送活动跟踪事件的区域
达拉斯 (us-south) 华盛顿 (us-east) 多伦多 (ca-tor) 圣保罗 (br-sao)
亚太地区发送活动跟踪事件的地区
东京 (jp-tok) 悉尼 (au-syd) 大板 (jp-osa) 钦奈 (in-che)
在欧洲位置发送活动跟踪事件的区域
法兰克福 (eu-de) 伦敦 (eu-gb) 马德里 (eu-es)

从 Observability 页面启动IBM Cloud Logs

有关启动 "IBM Cloud Logs用户界面的信息,请参阅 "在 "IBM Cloud Logs中启动用户界面。

查看 IAM 的活动跟踪事件

您可以使用IBM Cloud Logs对账户中生成并由IBM Cloud Activity Tracker Event Routing路由到IBM Cloud Logs实例的事件进行可视化处理并发出警报。

IAM 服务会为本文档中列出的操作生成 全局活动跟踪事件。 配置 IBM Cloud Activity Tracker Event Routing 路由时,选择 Platform events (global) 作为发送审计事件的位置。

要在IBM Cloud Logs仪表板中查看 IAM 事件,请转到子系统过滤器并选择前缀为 "iam- 的值。 例如,"iam-am、"iam-identity 或 "iam-groups

访问组事件

账户事件

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

为访问组生成的事件
操作 描述
iam-groups.account-settings.read 当发起者查看访问组服务的账户设置时,就会生成一个事件。
iam-groups.account-settings.update 当发起者更新访问组服务的账户设置时,就会生成一个事件。

访问组事件

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

为访问组生成的事件
操作 描述
iam-groups.group.create 发起方创建访问组时,将生成事件。
iam-groups.group.read 当启动程序查看访问组时,就会生成一个事件。
iam-groups.group.update 发起方更新组名或描述时,将生成事件。
iam-groups.group.delete 发起方删除访问组时,将生成事件。
iam-groups.groups.list 当启动程序查看访问组时,就会生成一个事件。

成员活动

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

为访问组生成的事件
操作 描述
iam-groups.federated-member.add 发起方登录到帐户并获得访问组的联合成员资格时,将生成事件。
iam-groups.member.add 发起方将成员添加至访问组时,将生成事件。
iam-groups.member.delete 发起方从访问组除去成员时,将生成事件。
iam-groups.member.read 当发起者查看某个成员的会员资格时,就会生成一个事件。
iam-groups.members.list 当发起者查看访问组的成员时,就会生成一个事件。

规则活动

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

为访问组生成的事件
操作 描述
iam-groups.rule.read 发起方查看访问组中的规则时,将生成事件。
iam-groups.rule.create 发起方将规则添加至访问组时,将生成事件。
iam-groups.rule.update 发起方修改规则名称时,将生成事件。
iam-groups.rule.delete 发起方从访问组删除规则时,将生成事件。
iam-groups.rules.list 当发起者查看访问组的规则时,就会生成一个事件。

可信档案事件

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

为受信任的配置文件生成的事件
操作 描述
iam-identity.account-profile.create 启动程序创建受信任配置文件时会生成一个事件。
iam-identity.account-profile.update 启动程序更新受信任配置文件时会生成一个事件。
iam-identity.account-profile.delete 启动程序删除受信任配置文件时会生成一个事件。

策略事件

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

为政策行动生成的事件
操作 描述
iam-am.policy.create 发起方将策略添加到用户或访问组时,将生成事件。
iam-am.policy.update 发起方修改用户或访问组的策略的许可权时,将生成事件。
iam-am.policy.delete 发起方删除分配给用户或访问组的策略时,将生成事件。

服务标识事件

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

为服务 ID 操作生成的事件
操作 描述
iam-identity.account-serviceid.create 发起方创建服务标识时,将生成事件。
iam-identity.account-serviceid.update 发起方重命名服务标识或修改其描述时,将生成事件。
iam-identity.account-serviceid.delete 发起方删除服务标识时,将生成事件。

API 密钥事件

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

针对 API 密钥操作生成的事件
操作 描述
iam-identity.user-apikey.create 发起方创建 API 密钥时,将生成事件。
iam-identity.user-apikey.update 发起方重命名 API 密钥或修改其描述时,将生成事件。
iam-identity.user-apikey.delete 发起方删除 API 密钥时,将生成事件。
iam-identity.serviceid-apikey.create 发起方创建服务标识的 API 密钥时,将生成事件。
iam-identity.serviceid-apikey.delete 发起方删除服务标识的 API 密钥时,将生成事件。
iam-identity.serviceid-apikey.update 发起方重命名服务标识的 API 密钥或修改其描述时,将生成事件。

登录和注销事件

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

为用户登录和注销操作生成的事件
操作 描述
iam-identity.user-apikey.login 用户使用 API 密钥登录到 IBM Cloud 时,将生成事件。
iam-identity.serviceid-apikey.login 发起方使用与服务标识关联的 API 密钥登录 IBM Cloud 时,将生成事件。
iam-identity.user-identitycookie.login 这是发起方请求身份 cookie 以运行操作时生成的事件。
iam-identity.user-refreshtoken.login 当发起者登录 IBM Cloud 或已登录的发起者请求新的刷新令牌以运行操作时,就会生成该事件。
iam-identity.user-passcode.login iam-identity.trustedprofile-apikey.login 当启动程序通过应用受信任的配置文件登录IBM Cloud时,或当启动程序已通过应用受信任的配置文件登录后请求新的刷新令牌以运行操作时,都会生成此事件。
iam-identity.user.logout 这是启动程序退出IBM Cloud 时生成的事件。

企业 IAM 活动

政策性活动

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

为企业管理的 IAM 策略模板操作生成的事件
操作 描述
iam-access-management.policy-template.create 当用户创建企业管理的 IAM 策略模板时会生成一个事件。
iam-access-management.policy-template.update 当用户更新企业管理的 IAM 策略模板时,就会生成一个事件。
iam-access-management.policy-template.delete 当用户删除企业管理的 IAM 策略模板时会生成一个事件。
iam-access-management.policy-template.read 当用户读取企业管理的 IAM 策略模板时会生成一个事件。
iam-access-management.policy-assignment.create 当用户将企业管理的 IAM 策略模板分配给子账户时,就会生成一个事件。
iam-access-management.policy-assignment.update 当用户更新企业管理的 IAM 策略模板分配时,就会生成一个事件。
iam-access-management.policy-assignment.delete 当用户删除企业管理的 IAM 策略模板分配时会生成一个事件。
iam-access-management.policy-assignment.read 当用户读取企业管理的 IAM 策略模板分配时会生成一个事件。

访问群组 tempalte 活动

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

为用户企业管理的 IAM 访问组模板操作生成的事件
操作 描述
iam-groups.groups-template.create 当用户创建企业管理的 IAM 访问组模板时会生成一个事件。
iam-groups.groups-template.delete 当用户删除企业管理的 IAM 访问组模板时会生成一个事件。
iam-groups.groups-template.update 当用户更新企业管理的 IAM 访问组模板时会生成一个事件。
iam-groups.groups-template.read 当用户读取企业管理的 IAM 访问组模板时会生成一个事件。
iam-groups.groups-template.assign 当用户将企业管理的 IAM 访问组模板分配给子账户时,就会生成一个事件。
iam-groups.groups-template.remove 当用户删除企业管理的 IAM 访问组模板分配时会生成一个事件。
iam-groups.groups-template.assignment-read 当用户读取企业管理的 IAM 访问组模板分配时会生成一个事件。
iam-groups.groups-template.assignment-update 当用户更新企业管理的 IAM 访问组模板分配时,就会生成一个事件。

值得信赖的 tempalte 活动简介

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

为用户企业管理的 IAM 受信任配置文件模板操作生成的事件
操作 描述
iam-identity.profile-template.create 当用户创建企业管理的 IAM 受信任配置文件模板时会生成一个事件。
iam-identity.profile-template.delete 当用户删除企业管理的 IAM 受信任配置文件模板时会生成一个事件。
iam-identity.profile-template.update 当用户更新企业管理的 IAM 受信任配置文件模板时会生成一个事件。
iam-identity.profile-template.read 当用户读取企业管理的 IAM 受信任配置文件模板时会生成一个事件。
iam-identity.profile-template.assign 当用户将企业管理的 IAM 受信任配置文件模板分配给子账户时,就会生成一个事件。
iam-identity.profile-template.remove 当用户删除企业管理的 IAM 受信任配置文件模板分配时会生成一个事件。
iam-identity.profile-template.assignment-read 当用户读取企业管理的 IAM 受信任配置文件模板分配时会生成一个事件。
iam-identity.profile-template.assignment-update 当用户更新企业管理的 IAM 受信任配置文件模板分配时会生成一个事件。

设置 tempalte 活动

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

为用户企业管理的 IAM 设置模板操作生成的事件
操作 描述
iam-identity.account-settings-template.create 当用户创建企业管理的 IAM 设置模板时会生成一个事件。
iam-identity.account-settings-template.delete 当用户删除企业管理的 IAM 设置模板时会生成一个事件。
iam-identity.account-settings-template.update 当用户更新企业管理的 IAM 设置模板时会生成一个事件。
iam-identity.account-settings-template.read 当用户读取企业管理的 IAM 设置模板时会生成一个事件。
iam-identity.account-settings-template.assign 当用户将企业管理的 IAM 设置模板分配给子账户时,就会生成一个事件。
iam-identity.account-settings-template.remove 当用户删除企业管理的 IAM 设置模板分配时会生成一个事件。
iam-identity.account-settings-template.assignment-read 当用户读取企业管理的 IAM 设置模板分配时会生成一个事件。
iam-identity.account-settings-template.assignment-update 当用户更新企业管理的 IAM 设置模板分配时会生成一个事件。

分析 IAM 活动跟踪事件

登录事件

在 IBM Cloud 中,管理员或在帐户中具有正确访问权的用户具有不同的选项来管理用户的登录设置。 例如,管理员可以订购外部认证选项,允许在登录期间使用一次性密码,允许在登录时使用安全问题,或者设置密码到期时间段。 有关更多信息,请参阅多因子认证的类型

  • 用户可以使用用户标识和密码登录。
  • 使用公司或企业单点登录标识的联合用户可以使用一次性密码或 API 密钥通过命令行界面 (CLI) 登录到 IBM Cloud。 有关更多信息,请参阅使用联合标识登录
  • 用户可以使用 API 密钥登录。
  • 使用公司或企业单点登录 ID 的联合用户可通过应用可信配置文件登录IBM Cloud。

以下字段包含额外信息:

  • initiator.name 包含有关登录到帐户的用户的信息。
  • X-Global-Transaction-Id 包含您在开具支持凭单时可以使用的标识(如果需要获取更多信息)。

从 IBM Cloud 用户界面登录

用户通过 IBM Cloud UI 登录时,您可获取帐户中操作为 iam-identity.user-refreshtoken.login 的事件。

以下字段包含额外信息:

  • 在 requestData 中,client_id 字段设置为 HOP55v1CCT。 此值指示 UI 请求。

通过使用一次性密码或 API 密钥,使用联合 ID 从 IBM Cloud CLI 登录

用户使用一次性密码通过 IBM Cloud CLI 登录时,您可获取帐户中操作为 iam-identity.user-refreshtoken.login 的事件。

用户使用 API 密钥通过 IBM Cloud CLI 登录时,您可获取帐户中操作为 iam-identity.user-apikey.login 的事件。

以下字段包含额外信息:

  • 在 requestData 中,client_id 字段设置为 bx。 此值指示 CLI 请求。

通过使用受信任的配置文件使用联合 ID 登录

当用户 使用受信任配置文件以联合 ID 登录 时,会在账户中收到一个操作为 "iam-identity.trustedprofile-apikey.login 的事件。

登录操作失败

用户登录到 IBM Cloud 时,系统会首先验证用户标识(IBM 标识)和凭证。 此时,用户尚未选择帐户。 请注意,一个用户可以属于多个帐户。

在 IBM Cloud 中成功认证用户标识后,用户可以选择帐户。 在此过程中,此时帐户将与登录请求相关联,并且会在帐户中生成操作为 iam-identity.user-refreshtoken.loginiam-identity.user-apikey.login 的事件。

在 IBM Cloud Activity Tracker Event Routing 中,您可以查看与账户相关的事件。 失败的登录操作不会生成可在帐户中监视的事件。

注销事件

当用户注销IBM Cloud 时,会生成 "iam-identity.user.logout 事件。

更新帐户服务标识

服务标识识别服务或应用程序的方式与用户标识识别用户的方式相似。 了解更多信息

请求用于更新服务标识的操作时,您会在帐户中获得操作为 iam-identity.account-serviceid.update 的事件。

以下字段包含额外信息:

  • initiator.name 字段包含有关谁请求更新服务标识的信息。
  • target.name 字段包含有关更改的服务标识的信息。
  • initiator.host.agent 字段指示请求是来自 UI 还是 CLI。 当字段设置为“未设置”时,请求由用户界面发起。 当字段设置为 "IBM CloudCLI 时,请求来自命令行。

锁定和解锁服务 ID

以下字段包含额外信息:

  • 在 requestData 中,服务标识已锁定时,lock 字段设置为 true,服务标识未锁定时,此字段设置为 false

添加或修改说明

更改描述的请求生成事件时,以下字段包含的信息可帮助您确定此操作:

  • 在 requestData 中,lock 字段设置为 false
  • 在 requestData 中,prev_instance_name 字段和 instance_name 字段设置为相同的值。

更改服务 ID 名称

以下字段包含额外信息:

  • 在 requestData 中,lock 字段设置为 false
  • 在 requestData 中,instance_name 字段包含 API 密钥的新名称。
  • 在 requestData 中,prev_instance_name 字段包含 API 密钥名称更改之前的名称。

限制事件

一个账户允许使用的服务 ID、API 密钥、受信任配置文件和策略的数量都有 限制。 当账户中的服务 ID、API 密钥、受信任配置文件和策略达到 90% 的限制时,就会生成一个事件。

下面是当账户接近服务 ID 的最大数量时的信息示例:

警告:账户10t2tyv8d1f88940dfc56af370b1f109 中允许的服务 ID 数量已达到最大值的 90%。 您当前的计数是 1800,上限是 2000。 在达到限制之前减少服务 ID 的数量,以确保不会阻止您创建新的服务 ID。

应用以下搜索查询查看所有限制事件:

  • the maximum number of allowed

首先,删除不再需要的不活动身份。 更多信息,请参阅 识别非活动身份

更新用户 API 密钥或服务标识 API 密钥

请求用于更新 API 密钥的操作时,您会在帐户中获得操作为下列其中一项的事件:

  • 要更新用户 API 密钥,操作为 iam-identity.user-apikey.update
  • 要更新服务标识 API 密钥,操作为 iam-identity.account-serviceid.update

以下字段包含额外信息:

  • initiator.name 字段包含有关谁请求更新 API 密钥的信息。
  • target.name 字段包含有关更改的 API 密钥的信息。
  • initiator.host.agent 字段指示请求是来自 UI 还是 CLI。 当字段设置为“未设置”时,请求由用户界面发起。 当字段设置为 "IBM CloudCLI 时,请求来自命令行。

锁定和解锁服务 ID

以下字段包含额外信息:

  • 在 requestData 中,API 密钥已锁定时,lock 字段设置为 true,API 密钥未锁定时,此字段设置为 false

添加或修改说明

更改描述的请求生成事件时,以下字段包含的信息可帮助您确定此操作:

  • 在 requestData 中,lock 字段设置为 false
  • 在 requestData 中,prev_instance_name 字段和 instance_name 字段设置为相同的值。

更改服务 ID 名称

以下字段包含额外信息:

  • 在 requestData 中,lock 字段设置为 false
  • 在 requestData 中,instance_name 字段包含 API 密钥的新名称。
  • 在 requestData 中,prev_instance_name 字段包含 API 密钥名称更改之前的名称。

分析失败的事件

发起方未经授权。 更新 API 密钥或服务标识的请求失败

例如,用户使用 API 密钥登录到帐户时,该用户将经过认证才可访问帐户。 但是,此 API 密钥可能无权运行用于修改帐户中的 API 密钥或服务标识的操作。 发生这种情况时,您会收到下列其中一条消息:

  • IAM Identity Service: update user-apikey APIKeyName -failure
  • IAM Identity Service: update account-serviceid ServiceIDName -failure

要查找有关已请求更改 API 密钥或服务标识的用户的信息,请查看事件中的发起方字段。

用户无权在帐户中运行此操作时,您将获得失败事件:

  • initiator.name 字段为空。 生成事件时,此信息不可用。
  • 用户标识已在 IBM Cloud 帐户中经过认证。
  • 操作将帐户设定为目标。
  • 用户标识无权在帐户中运行此操作。

要了解尝试修改 API 密钥或服务标识的用户,请完成以下步骤:

  1. 复制 initiator.id 的值。 此字段包含尝试在帐户中运行此操作的用户的标识。

  2. 获取与用户关联的电子邮件地址。 要完成此步骤,您必须具有帐户中的管理员许可权。 运行以下命令:

    ibmcloud iam users --output json | grep -A 1 InitiatorID
    

    其中,InitiatorID 是 initiator.id 字段的值,格式为 IBMid-XXXXXXXXXX。

    此命令的输出会返回 2 个字段。 ibmUniqueId 字段显示与事件 initiator.name 字段匹配的用户的标识。 email 字段显示与该标识关联的电子邮件地址。

要获取已请求对其执行操作但失败的 API 密钥,请参阅 requestData 中的 prev_instance_name 字段。

资源已锁定。 更新服务标识或 API 密钥的请求失败

服务标识或 API 密钥已锁定时,无法更改其任何属性。 所生成事件的 outcomefailure

根据资源类型,可以获取以下任何消息:

  • 服务标识:收到的消息为 IAM Identity Service: update account-serviceid ServiceIDName -failure,其中 ServiceIDName 是服务标识的名称。
  • 用户 API 密钥:收到的消息为 IAM Identity Service: update user-apikey APIkeyName -failure,其中 APIkeyName 是 API 密钥的名称。
  • 帐户 API 密钥:收到的消息为 IAM Identity Service: update account-apikey APIkeyName -failure,其中 APIkeyName 是 API 密钥的名称。

在该事件中,requestData 中的 lock 字段设置为 true。 这是此操作失败的原因。 要成功更改服务标识的属性,lock 字段必须设置为 false

请注意,severity 字段设置为 critical。 因为有人正在尝试修改帐户中锁定的服务标识。