如何以相同政策和許可重新建立已刪除的 IAM 使用者或角色?
我想以相同政策和許可重新建立某個已刪除的 AWS Identity and Access Management (IAM) 使用者或角色。
簡短說明
當您使用 AWS 管理主控台移除 IAM 使用者時,IAM 會自動刪除與該使用者關聯的資源。這些資源包括任何群組成員資格、密碼、存取金鑰、內嵌政策以及 MFA 裝置。
當您使用 AWS 管理主控台刪除使用者群組時,IAM 會自動刪除或移除與該群組關聯的資源。所有群組成員都會移除、受管政策會分離,且所有內嵌政策都會刪除。
解決方法
您無法復原已刪除的 IAM 使用者或角色,不過可以使用下列 AWS 服務來檢視與特定 IAM 使用者和群組關聯的 API 和資源:
接著,重新建立該 IAM 使用者或 IAM 群組,並重新組態任何關聯的資源。
使用 CloudTrail 事件歷史記錄來檢閱已刪除的 IAM 使用者或角色
使用 CloudTrail 搜尋事件歷史記錄中已刪除的 IAM 使用者或角色名稱,以取得關聯資源的 API 歷史記錄。
**注意:**您可以使用 CloudTrail 搜尋事件歷史記錄中過去 90 天內的事件。
- 開啟 CloudTrail 主控台。
- 在導覽窗格中,選擇 Event history (事件歷史記錄)。
- 選擇 Lookup attributes (查詢屬性) 下拉式清單,然後選擇 Resource Name. (資源名稱。)
- 在 Enter a lookup value (輸入查詢值) 文字方塊中,輸入 IAM 使用者或角色名稱。
**注意:**您也可以為 CloudTrail 事件 設定自訂篩選條件。
結果可能包含下列與已刪除 IAM 使用者或角色關聯的 API:
- DetachUserPolicy 和 DetachRolePolicy: 識別使用者或角色的受管政策。
- PutUserPolicy 和 PutRolePolicy: 識別使用者或角色的內嵌政策。
- CreateRole: 識別您建立 IAM 角色時,與該角色關聯的信任政策文件和任何許可界限政策。
- CreateUser: 識別您建立 IAM 使用者時,與該使用者關聯的任何許可界限政策。
- PutUserPermissionsBoundary 和 PutRolePermissionsBoundary: 識別您建立 IAM 使用者或角色之後,與其關聯的任何許可界限政策。
使用 CloudWatch 日誌群組
使用 CloudWatch 日誌群組來搜尋超過過去 90 天的 API 歷史記錄。
**注意:**您必須建立並設定追蹤,以將日誌記錄到 Amazon CloudWatch Logs 日誌群組。如需更多資訊,請參閱 Creating a trail with the CloudTrail console (使用 CloudTrail 主控台建立追蹤)。
- 開啟 CloudWatch 主控台。
- 在導覽窗格中展開 Logs (日誌),然後選擇 Log groups (日誌群組)。
- 在 Log groups (日誌群組) 中,選擇您的日誌群組。
- 從日誌群組頁面中,選擇 Search log group (搜尋日誌群組)。
- 在 Filter events (篩選事件) 中,輸入查詢以搜尋使用者的 API 呼叫或特定的 API 動作。接著,選擇重新整理圖示。
- 在日誌群組搜尋輸出中,展開 Timestamp (時間戳記) 以檢視 API 呼叫結果詳細資訊。
搜尋使用者 API 呼叫的日誌的查詢範例:
{ $.userIdentity.userName = "Alice" }
**注意:**請將 Alice 替換為您搜尋查詢的 IAM 使用者名稱。
搜尋角色 API 呼叫的日誌的查詢範例:
{ $.userIdentity.sessionContext.sessionIssuer.userName = "AliceRole" }
**注意:**請將 AliceRole 替換為您搜尋查詢的 IAM 角色名稱。
**注意:**您也可以 使用 CloudWatch Logs Insights 分析日誌資料。如需更多資訊,請參閱如何使用 CloudWatch Logs Insights 來擷取並分析我的 CloudTrail Logs?
使用 Athena 查詢 CloudTrail 追蹤日誌以檢閱已刪除的 IAM 使用者或角色
您可以使用 Athena 查詢過去 90 天內的 CloudTrail 日誌。如果您的追蹤已設定為記錄資料事件,則您也可以找到資料事件。您無法在 CloudTrail 事件歷史記錄中檢視資料事件。
**注意:**若要使用 Athena 查詢 CloudTrail 日誌,您必須設定追蹤以登入 Amazon Simple Storage Service (Amazon S3) 儲存貯體。
- 開啟 Athena 主控台,然後選擇 Query editor (查詢編輯器)。
- 根據您的使用案例輸入下列其中一個範例查詢,然後選擇 Run (執行)。
用來傳回與套用至特定 IAM 使用者的組態變更相關之所有 CloudTrail 事件的查詢範例:
SELECT * FROM example-athena-table WHERE eventsource = 'iam.amazonaws.com' AND requestParameters LIKE '%DeletedIAMUserName%' AND readonly = 'false'
用來傳回與套用至特定 IAM 角色的組態變更相關之所有 CloudTrail 事件的查詢範例:
SELECT * FROM example-athena-table WHERE eventsource = 'iam.amazonaws.com' AND requestParameters LIKE '%DeletedIAMRoleName%' AND readonly = 'false'
**注意:**請將 athena-table 替換為您的 Athena 資料表名稱,並將 DeletedIAMUserName 或 DeletedIAMRoleName 替換為您的 IAM 使用者或角色。
您也可以使用 CloudTrail 日誌來建立 Athena 資料表以執行查詢。如需更多資訊,請參閱 Query AWS CloudTrail logs (查詢 AWS CloudTrail 日誌)。
使用 AWS Config 檢閱已刪除的 IAM 使用者或角色
您可以檢視 AWS Config 在您的 AWS 帳戶中記錄的資源,例如已刪除的 IAM 使用者或角色。
- 在 us-east-1 AWS 區域中開啟 AWS Config 主控台。
- 在導覽窗格中,選擇 Resources (資源)。
- 在 Resource Inventory (資源庫存) 頁面的 Resource type, (資源類型) 中,選取下拉式清單。
- 選擇 AWS IAM Role (AWS IAM 角色) 或 AWS IAM User (AWS IAM 使用者)。
- 將 Included deleted resources (包含已刪除的資源) 切換為開啟,然後選擇 Apply (套用)。
- 從 Resource identifier (資源識別碼) 欄中,選擇標記為 "deleted" (已刪除) 的 IAM 使用者或角色。
- 在 Resources (資源) 頁面上,選擇 Resource Timeline (資源時間軸)。
- 在 Timeline (時間軸) 頁面上,檢閱已刪除 IAM 使用者或角色的 General details (一般詳細資訊) 和 Events (事件)。
AWS Config 資源時間軸包含刪除前與 IAM 角色或使用者關聯的內嵌政策、受管政策和許可的詳細資訊。如需更多資訊,請參閱 Viewing resources referenced with AWS Config (檢視使用 AWS Config 參考的資源)。
相關資訊
Viewing Compliance History for your AWS Resources with AWS Config (使用 AWS Config 查看 AWS 資源的合規性歷史記錄)
- 語言
- 中文 (繁體)

相關內容
已提問 3 年前