需要身份才能動態取得 臨時登入資料。若是人力身份,請使用 AWS IAM Identity Center 或與 AWS Identity and Access Management (IAM) 角色聯合來存取 AWS 帳戶。若是機器身份,例如 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體或 AWS Lambda 函數,需要使用 IAM 角色,而不是具有長期存取金鑰的 IAM 使用者。
若是使用 AWS Management Console的人類身份,需要使用者取得臨時登入資料並聯合至 AWS。您可以使用 AWS IAM Identity Center 使用者入口網站來執行此動作。針對需要 CLI 存取權的使用者,請確定他們使用 AWS CLI v2
若您需要授予取用者存取 AWS 資源,請使用 Amazon Cognito 身份集區,並為其指派一組臨時、有限權限的登入資料來存取您的 AWS 資源。每個使用者的許可都是透過您建立的 IAM 角色 來控制。您可以定義規則,根據使用者 ID 字符中的宣告,為每個使用者選擇角色。您可以對已驗證使用者定義預設角色。您還可以對未驗證訪客使用者定義具有限制許可的 IAM 角色。
若是機器身份,您應倚賴 IAM 角色來授予 AWS 存取權。若是 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,您可以使用 Amazon EC2 的角色。。您可以將 IAM 角色連接至 Amazon EC2 執行個體,讓在 Amazon EC2 上執行的應用程式能夠使用 AWS 透過執行個體中繼資料服務 (IMDS) 自動建立、分發和輪換的臨時安全登入資料。AWS Well-Architected 最新版本
定期稽核和輪換登入資料: 定期驗證 (最好是透過自動化工具) 是確認強制執行正確的控制項的必要項目。若是人類身份,您應要求使用者定期變更密碼,並使用臨時登入資料淘汰存取金鑰。當您從 IAM 使用者移至集中式身份時,可以 產生登入資料報告 來稽核您的 IAM 使用者。我們也建議您在身份供應商中強制執行 MFA 設定。您可以設定 AWS Config 規則 來監控這些設定。若是機器身份,您應倚賴使用 IAM 角色的臨時登入資料。在無法執行此操作的情況下,需要頻繁稽核和輪換存取金鑰。
安全地存放和使用機密: 針對與 IAM 無關且無法利用臨時登入資料的登入資料,例如資料庫登入,請使用專為處理機密管理而設計的服務,例如 Secrets Manager
若未建立此最佳實務,暴露的風險等級: 高
實作指引
-
實作最低權限政策:將具有最低權限的存取政策指派給 IAM 群組和角色,以反映您已定義的使用者角色或職能。
-
移除不需要的權限:透過移除不必要的許可來實作最低權限。
-
考慮使用許可界限:許可界限是使用受管政策的進階功能,可設定以身分為基礎的政策可授與 IAM 實體的最大許可。實體的許可界限只允許執行其以身分為基礎的政策和許可界限同時允許的動作。
-
考慮使用資源標籤的許可:您可以使用標籤來控制對支援標記之 AWS 資源的存取。您也可以標記 IAM 使用者和角色,以控制他們可以存取的內容。
資源
相關文件:
相關影片: