IBM Cloud Docs
IAM 的活動追蹤事件

IAM 的活動追蹤事件

IBM CloudIdentity 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
True

從可觀察性頁面啟動IBM Cloud Logs

有關啟動IBM Cloud Logs UI 的信息,請參閱 在IBM Cloud Logs中啟動 UI。

查看 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-amiam-identityiam-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 事件

下表列出會產生事件的動作:

為服務 ID 操作產生的事件
動作 說明
iam-identity.account-serviceid.create 起始者建立服務 ID 時會產生事件。
iam-identity.account-serviceid.update 起始者重新命名服務 ID 或修改其說明時會產生事件。
iam-identity.account-serviceid.delete 起始者刪除服務 ID 時會產生事件。

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 起始者建立服務 ID 的 API 金鑰時會產生事件。
iam-identity.serviceid-apikey.delete 起始者刪除服務 ID 的 API 金鑰時會產生事件。
iam-identity.serviceid-apikey.update 起始者重新命名服務 ID 的 API 金鑰或修改其說明時會產生事件。

登入和登出事件

下表列出會產生事件的動作:

為使用者登入和登出操作產生的事件
動作 說明
iam-identity.user-apikey.login 使用者使用 API 金鑰登入 IBM Cloud 時會產生事件。
iam-identity.serviceid-apikey.login 起始者使用與服務 ID 相關聯的 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 策略範本指派時,會產生一個事件。

訪問群組模板事件

下表列出會產生事件的動作:

為使用者企業管理的 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 存取群組範本指派時,會產生一個事件。

可信任個人資料範本事件

下表列出會產生事件的動作:

為使用者企業管理的 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 可信任設定檔範本指派時,會產生事件。

設定模板事件

下表列出會產生事件的動作:

為使用者企業管理的 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 中,管理者或在帳戶中具有正確存取權的使用者具有不同的選項來管理使用者的登入設定。 例如,管理者可以訂購外部鑑別選項、允許在登入期間使用一次性密碼、允許在登入時使用安全問題,或者設定密碼有效期限時段。 如需相關資訊,請參閱多因子鑑別的類型

  • 使用者可以使用使用者 ID 和密碼登入。
  • 使用公司或企業單一登入 ID 的聯合使用者可以使用一次性密碼或 API 金鑰,從指令行介面 (CLI) 登入 IBM Cloud。 如需相關資訊,請參閱使用聯合 ID 登入
  • 使用者可以使用 API 金鑰登入。
  • 使用公司或企業單一登入 ID 的聯合使用者可以透過應用可信任設定檔登入IBM Cloud。

下列欄位包含額外的資訊:

  • initiator.name 包含登入帳戶之使用者的相關資訊。
  • X-Global-Transaction-Id 包含一個 ID,您開立支援問題單時如果需要相關資訊時便可以使用。

從 IBM Cloud UI 登入

使用者從 IBM Cloud 使用者介面登入時,您可以取得帳戶中具有動作 iam-identity.user-refreshtoken.login 的事件。

下列欄位包含額外的資訊:

  • 在 requestData 中,client_id 欄位設為 HOP55v1CCT。 這個值指出為使用者介面要求。

透過使用一次性密碼或 API 金鑰,從 IBM Cloud CLI 使用聯合 ID 登入

使用者使用一次性密碼從 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 時,系統會先驗證使用者 ID (IBM ID) 和憑證。 此時,使用者尚未選取帳戶。 請注意,一個使用者可以屬於多個帳戶。

在 IBM Cloud 中順利鑑別使用者 ID 後,使用者可以選擇帳戶。 在處理程序的這個時間點,帳戶會與登入要求相關聯,並且會在帳戶中產生具有動作 iam-identity.user-refreshtoken.loginiam-identity.user-apikey.login 的事件。

在 IBM Cloud Activity Tracker Event Routing 中,您可以看到與您帳戶相關的事件。 失敗的登入動作不會產生可在帳戶中監視的事件。

註銷事件

當使用者登出IBM Cloud時,會產生 iam-identity.user.logout 事件。

更新帳戶服務 ID

服務 ID 識別服務或應用程式的方式,與使用者 ID 識別使用者的方式類似。 進一步瞭解

要求用於更新服務 ID 的動作時,您會在帳戶中取得具有動作 iam-identity.account-serviceid.update 的事件。

下列欄位包含額外的資訊:

  • initiator.name 欄位包含有關誰要求更新服務 ID 的資訊。
  • target.name 欄位包含有關變更的服務 ID 的資訊。
  • initiator.host.agent 欄位指出要求來自使用者介面還是 CLI。 當此欄位設定為 Not Set 時,請求會在使用者介面中產生。 當此欄位設定為 IBM Cloud CLI 時,請求源自命令列。

鎖定和解除鎖定服務 ID

下列欄位包含額外的資訊:

  • 在 requestData 中,服務 ID 已鎖定時,lock 欄位設定為 true,服務 ID 未鎖定時,此欄位設定為 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 金鑰或服務 ID API 金鑰

要求用於更新 API 金鑰的動作時,您會在帳戶中取得具有下列其中一個動作的事件:

  • 若要更新使用者 API 金鑰,動作為 iam-identity.user-apikey.update
  • 若要更新服務 ID API 金鑰,動作為 iam-identity.account-serviceid.update

下列欄位包含額外的資訊:

  • initiator.name 欄位包含有關誰要求更新 API 金鑰的資訊。
  • target.name 欄位包含有關變更的 API 金鑰的資訊。
  • initiator.host.agent 欄位指出要求來自使用者介面還是 CLI。 當此欄位設定為 Not Set 時,請求會在使用者介面中產生。 當此欄位設定為 IBM Cloud CLI 時,請求源自命令列。

鎖定和解除鎖定服務 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 金鑰或服務 ID 的要求失敗

例如,使用者使用 API 金鑰登入帳戶時,會鑑別該使用者以存取帳戶。 但是,此 API 金鑰可能無權執行用於修改帳戶中的 API 金鑰或服務 ID 的動作。 發生這種情況時,您會收到下列其中一則訊息:

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

若要尋找已要求變更 API 金鑰或服務 ID 的使用者的資訊,請查看事件中的起始者欄位。

使用者無權在您的帳戶中執行此動作時,您會收到失敗事件:

  • initiator.name 欄位是空的。 產生事件時,此資訊無法使用。
  • 使用者 ID 已在 IBM Cloud 帳戶中經過鑑別。
  • 動作將帳戶設定為目標。
  • 使用者 ID 無權在帳戶中執行此動作。

若要找出嘗試修改 API 金鑰或服務 ID 的使用者,請完成下列步驟:

  1. 複製 initiator.id 的值。 此欄位包含嘗試在帳戶中執行此動作的使用者的 ID。

  2. 取得與使用者相關聯的電子郵件位址。 若要完成此步驟,您必須具有帳戶中的管理者許可權。 執行下列指令:

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

    其中,InitiatorID 是 initiator.id 欄位的值,格式為 IBMid-XXXXXXXXXX。

    此指令的輸出會傳回 2 個欄位。 ibmUniqueId 欄位顯示與事件 initiator.name 欄位相符的使用者的 ID。 email 欄位顯示與該 ID 相關聯的電子郵件位址。

若要取得已要求對其執行動作但失敗的 API 金鑰,請參閱 requestData 中的 prev_instance_name 欄位。

資源已鎖定。 更新服務 ID 或 API 金鑰的要求失敗

服務 ID 或 API 金鑰已鎖定時,無法變更其任何屬性。 所產生事件的 outcomefailure

根據資源類型,您可以取得下列任何訊息:

  • 服務 ID:收到的訊息為 IAM Identity Service: update account-serviceid ServiceIDName -failure,其中 ServiceIDName 是服務 ID 的名稱。
  • 使用者 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。 這是此動作失敗的原因。 若要順利變更服務 ID 的屬性,lock 欄位必須設定為 false

請注意,severity 欄位設定為 critical。 因為有人正在嘗試修改帳戶中鎖定的服務 ID。