AWS IAM 身份中心正在簡化其 AWS CloudTrail 事件,僅包含必要的欄位,以支援審計和事件響應等工作流程。此變更簡化了 CloudTrail 中的用戶識別,回應了客戶的反饋。它還增強了 IAM 身份中心用戶與外部目錄服務(如 Okta Universal Directory 或 Microsoft Active Directory)之間的關聯。
自 2025 年 1 月 13 日起,IAM 身份中心將停止在 CloudTrail 事件的用戶身份元素中發出 userName 和 principalId 欄位。這些欄位將不再包含在用戶登錄 IAM 身份中心、使用 AWS 存取入口網站和通過 AWS CLI 存取 AWS 帳戶時所發起的 CloudTrail 事件中。取而代之的是,IAM 身份中心目前發出用戶 ID 和身份商店 Amazon 資源名稱 (ARN) 欄位,以取代 userName 和 principalId 欄位,簡化用戶識別。IAM 身份中心的 CloudTrail 事件還將指定 IdentityCenterUser 作為身份類型,而不是 Unknown,為用戶提供清晰的標識。此外,當您創建或更新群組時,IAM 身份中心將省略群組的 displayName 值在 CloudTrail 事件中。您可以通過使用身份商店 DescribeGroup API 操作來訪問群組屬性,例如 displayName,以便於授權的工作流程。
我們建議您在 2025 年 1 月 13 日之前,更新處理 CloudTrail 事件中 userName、principalId、userIdentity 類型或群組 displayName 欄位的工作流程,以便這些變更生效。這篇部落格文章提供了這些更新的指導。
如何為即將到來的 IAM 身份中心用戶識別變更準備您的工作流程
為了簡化用戶識別,IAM 身份中心正在對其 CloudTrail 事件的用戶身份元素進行變更。根據這些變更,您可以更新工作流程,以將 CloudTrail 事件鏈接到特定用戶,將用戶與其外部目錄關聯,並追蹤同一會話中的用戶活動。此部分結尾分享了一個樣本 CloudTrail 事件的更新用戶身份元素。
IAM 身份中心將更新用戶身份類型,用於用戶登錄、使用 AWS 存取入口網站和通過 AWS CLI 存取 AWS 帳戶時發出的 CloudTrail 事件。對於經過身份驗證的用戶,userIdentity 類型將從 Unknown 變更為 IdentityCenterUser。對於未經身份驗證的用戶,userIdentity 類型將保持為 Unknown。我們建議您更新工作流程以接受這兩個值。
為了識別與 CloudTrail 事件相關聯的用戶,IAM 身份中心現在發出 userId 和 identityStoreArn 欄位以取代 userName 和 principalId 欄位。userId 是 IAM 身份中心為身份商店中的每個用戶分配的唯一且不可變的用戶標識符,身份商店是由 identityStoreArn 引用的其本地目錄。這些新欄位增強了 CloudTrail 中的用戶識別和操作追蹤,並出現在用戶身份類型為 IdentityCenterUser 的 CloudTrail 條目中。關於新欄位的用戶身份元素示例及使用用戶 ID 和身份商店 ARN 檢索用戶屬性的 describe-user CLI 命令,請參見 IAM 身份中心用戶指南中的識別用戶和會話部分。
在其他用戶屬性中,您可以使用 describe-user CLI 命令檢索與身份商店中的用戶相關聯的外部 ID。您可以使用外部 ID 將身份商店用戶與其外部目錄關聯。外部 ID 將用戶映射到其外部目錄中的不可變用戶標識符,例如 Microsoft Active Directory 或 Okta Universal Directory。
注意:IAM 身份中心不會在 CloudTrail 中發出外部 ID。您需要訪問身份商店才能根據 CloudTrail 中的 userId 和 identityStoreArn 欄位檢索外部 ID。
如果您可以訪問 CloudTrail 事件但無法訪問身份商店,您可以使用在 additionalEventData 元素下發出的 UserName 欄位來將您的用戶與其外部目錄關聯。此欄位表示用戶在登錄 IAM 身份中心時進行身份驗證或聯合的用戶名。更多詳細信息,請參見 IAM 身份中心用戶指南中的 IAM 身份中心與外部目錄之間的用戶關聯部分。
注意:
當身份來源為 AWS 目錄服務時,CloudTrail 中 additionalEventData 元素中記錄的 UserName 值等於用戶在身份驗證過程中輸入的用戶名。例如,擁有用戶名 anyuser@company.com 的用戶可以用 anyuser、anyuser@company.com 或 company.com\anyuser 進行身份驗證,在每種情況下,輸入的值都會在 CloudTrail 中分別發出。
由於用戶名輸入可能包含敏感信息(例如用戶的密碼),因此因輸入錯誤的用戶名而導致的登錄失敗時,IAM 身份中心在其 CloudTrail 事件中發出 UserName 欄位,固定文本值為 HIDDEN_DUE_TO_SECURITY_REASONS。
為了追蹤同一會話中的用戶活動,IAM 身份中心現在在 AWS 存取入口網站中或使用 AWS CLI 進行的用戶操作的 CloudTrail 事件中發出 credentialId 欄位。credentialId 欄位包含用戶的 AWS 存取入口網站會話 ID,以幫助您追蹤用戶在其會話中的操作。
以下表格顯示了一個 CloudTrail 事件示例,突出了將在 2025 年 1 月 13 日變更的欄位,以黃色標示。IAM 身份中心最近開始在其 CloudTrail 事件的額外事件數據中發出 userId、identityStoreArn、credentialId 和 UserName。因此,此示例將其視為現有欄位。
即將到來的變更之前
“eventName”: “CredentialChallenge”,
“eventSource”: “signin.amazonaws.com”,
“userIdentity”: {
“type”: “Unknown”,
“userName”: “anyuser”,
“accountId”: “123456789012”,
“principalId”: “123456789012”,
“onBehalfOf”: {
“userId”: “a11111-1111-1111-11a1-111aa111aa11”,
“identityStoreArn”: “arn:aws:identitystore::111111111:identitystore/d-111111a1a”
},
“credentialId”: “1111a111111111a1a11111a1a[…]”
},
“additionalEventData”: {
“CredentialType”: “PASSWORD”,
“UserName”: “anyuser”
}
即將到來的變更之後
“eventName”: “CredentialChallenge”,
“eventSource”: “signin.amazonaws.com”,
“userIdentity”: {
“type”: “IdentityCenterUser”,
“accountId”: “123456789012”,
“onBehalfOf”: {
“userId”: “a11111-1111-1111-11a1-111aa111aa11”,
“identityStoreArn”: “arn:aws:identitystore::111111111:identitystore/d-111111a1a”
},
“credentialId”: “1111a111111111a1a11111a1a[…]”
},
“additionalEventData”: {
“CredentialType”: “PASSWORD”,
“UserName”: “anyuser”
}
如何為即將到來的 IAM 身份中心群組管理事件變更準備您的工作流程
您的工作流程如果需要訪問群組屬性,如 displayName,可以使用身份商店 DescribeGroup API 操作來檢索。自 2025 年 1 月 13 日起,IAM 身份中心將在 CreateGroup 和 UpdateGroup 的管理 CloudTrail 事件中將 displayName 值替換為固定文本值 HIDDEN_DUE_TO_SECURITY_REASONS。此更新限制了對群組 displayName 的訪問僅限於有權訪問身份商店中群組屬性的工作流程。
以下表格顯示了一個 CloudTrail 事件示例,突出了即將變更的 displayName 欄位,以黃色標示。
即將到來的變更之前
“eventName”: “CreateGroup”,
“eventSource”: “sso-directory.amazonaws.com”,
“userIdentity”: {
“type”: “AssumedRole”,
“userName”: “GroupManagerRole”,
“accountId”: “123456789012”,
“principalId”: “123456789012”
}
…
“group”: {
“groupId”: “11a1a111-1111-1010-aaa1-01111a1111a0”,
“displayName”: “PowerUserGroup”,
“groupAttributes”: {
“description”: {
“stringValue”: “HIDDEN_DUE_TO_SECURITY_REASONS”
}
}
}
即將到來的變更之後
“eventName”: “CreateGroup”,
“eventSource”: “sso-directory.amazonaws.com”,
“userIdentity”: {
“type”: “AssumedRole”,
“userName”: “GroupManagerRole”,
“accountId”: “123456789012”,
“principalId”: “123456789012”
}
…
“group”: {
“groupId”: “11a1a111-1111-1010-aaa1-01111a1111a0”,
“displayName”: “HIDDEN_DUE_TO_SECURITY_REASONS”,
“groupAttributes”: {
“description”: {
“stringValue”: “HIDDEN_DUE_TO_SECURITY_REASONS”
}
}
}
深入了解受變更影響的特定 CloudTrail 事件
在本篇文章的早些時候,我們提到 IAM 身份中心在用戶登錄 IAM 身份中心、使用 AWS 存取入口網站和通過 AWS CLI 存取 AWS 帳戶時,或當管理員創建和更新群組時,會發出相關的 CloudTrail 事件。這些 CloudTrail 事件屬於 IAM 身份中心用戶指南中所提到的四個事件組,分別為 AWS 存取入口網站、OIDC、登錄和身份商店事件。以下列表提供了導致這些 CloudTrail 事件發出的用例的更多詳細信息:
AWS 存取入口網站事件涵蓋從 AWS 存取入口網站的登錄和登出,以及檢索用戶的帳戶和應用程式分配,這些都是顯示入口網站所必需的。當 IAM 身份中心用戶配置 AWS CLI 或 IDE 工具包以存取 AWS 帳戶時,IAM 身份中心也會發出這些事件。
相關的 OpenID Connect (OIDC) 事件是 CreateToken。當為經過身份驗證的用戶啟動會話(例如,通過 AWS CLI 或 IDE 工具包存取分配的 AWS 帳戶)時,IAM 身份中心會發出此事件。
登錄事件涵蓋基於密碼和聯合的身份驗證,以及多因素身份驗證 (MFA)。
相關的身份商店事件包括終端用戶在 AWS 存取入口網站內部管理 MFA 設備以及兩個管理身份商店事件,CreateGroup 和 UpdateGroup。
請注意,某些 CloudTrail 事件背後的 API 操作也可作為 AWS CLI 命令使用:
本部分的兩個表格提供了變更的詳細記錄及其與 CloudTrail 事件的關係。
以下表格列出了 IAM 身份中心發出的欄位變更及相關的 CloudTrail 事件。
變更
AWS 存取入口網站(使用入口網站)
OIDC(通過 AWS CLI 和 IDE 工具包登錄 IAM 身份中心)
登錄(身份驗證,包括 MFA、聯合)
身份商店(MFA 設備和群組管理)
自 2025 年 1 月 13 日起可用
從經過身份驗證的用戶的 userIdentity 元素中排除 userName
是
是,僅限於 CreateToken 事件
是
是,僅限於 AWS 存取入口網站中的 MFA 管理
從 userIdentity 元素中排除 principalId
是
是,僅限於 CreateToken 事件
是
是,僅限於 AWS 存取入口網站中的 MFA 管理
將 userIdentity 的類型值從 Unknown 修改為 IdentityCenterUser
是
是,僅限於 CreateToken 事件
是,僅限於成功的身份驗證
是,僅限於 AWS 存取入口網站中的 MFA 管理
從 requestParameters 和 responseElements 元素中排除群組 displayName 值
否
否
否
是,僅限於管理的 CreateGroup 和 UpdateGroup 事件
從用戶在身份驗證失敗嘗試中鍵入的 UserName(在 additionalEventData 元素中)中排除
否
否
是,僅限於 CredentialChallenge 事件
否
自 2024 年 10 月起可用
在 userIdentity 元素中添加帶有 userId 和 identityStoreArn 的 onBehalfOf 元素,以及 credentialId
是
是,僅限於 CreateToken 事件
是,僅限於成功的身份驗證
是,僅限於 AWS 存取入口網站中的 MFA 管理
在 additionalEventData 元素中添加 UserName
否
否
是,僅限於 CredentialChallenge 和 UserAuthentication 事件中的特定情況
否
以下表格總結了相關的 IAM 身份中心 CloudTrail 事件組、事件來源和事件名稱。
事件組
來源
事件名稱
AWS 存取入口網站
sso.amazonaws.com
AuthenticateFederateListAccountRolesListAccountsListApplicationsListProfilesForApplicationGetRoleCredentialsLogout
OIDC
sso.amazonaws.com
CreateToken
登錄
signin.amazon.com
CredentialChallengeCredentialVerificationUserAuthentication
身份商店
sso-directory.amazonaws.com 或 identitystore.amazonaws.com
ListMfaDevicesForUserDeleteMfaDeviceForUserUpdateMfaDeviceForUserStartWebAuthnDeviceRegistrationStartVirtualMfaDeviceRegistrationCompleteWebAuthnDeviceRegistrationCompleteVirtualMfaDeviceRegistrationCreateGroupUpdateGroup
結論
在這篇文章中,我們回顧了 IAM 身份中心發出的 CloudTrail 事件中即將來臨和最近完成的幾項重要變更。我們建議您在 2025 年 1 月 13 日之前更新基於 CloudTrail 的工作流程,如果它們依賴於用戶登錄 IAM 身份中心、使用 AWS 存取入口網站、通過 AWS CLI 存取 AWS 帳戶或在群組管理管理事件中設置群組的 displayName 欄位時,使用 CloudTrail 用戶身份元素中的 userName、principalId 或 type 欄位。AWS 最近在 CloudTrail 用戶身份元素中引入了 userId、identityStoreArn 和 credentialId 欄位,以幫助您完成更新。
如果您需要額外的協助,請聯繫您的 AWS 帳戶團隊或 AWS 支援。