此內容已過時。這個版本的 Well-Architected 框架現在可以在以下位置找到: https://docs.aws.amazon.com/zh_tw/wellarchitected/2022-03-31/framework/security.html

SEC 2: 如何管理人員和機器的身分?

處理操作安全的 AWS 工作負載時,您需要管理兩種身分類型。了解您需要管理和授予存取權的身分類型,有助於確保正確的身分在適當的條件下存取正確的資源。人員身分:您的管理員、開發人員、操作員和最終使用者需要身分才能存取您的 AWS 環境和應用程式。這些人是組織的成員,或與您協作的外部使用者,以及透過 Web 瀏覽器、用戶端應用程式或互動式命令列工具與 AWS 資源互動的使用者。機器身分:您的服務應用程式、操作工具和工作負載需要身分,才能向 AWS 服務發出請求,例如讀取資料。這些身分包括在 AWS 環境中執行的機器,例如 Amazon EC2 執行個體或 AWS Lambda 函數。您也可以為需要存取權的外部人員管理機器身分。此外,您可能也有在 AWS 外部,需要存取 AWS 環境的機器。

資源

Mastering identity at every layer of the cake
Managing user permissions at scale with AWS SSO
Best Practices for Managing, Retrieving, and Rotating Secrets at Scale
IAM Best Practices
The AWS Account Root User
Getting Started with AWS Secrets Manager
Temporary Security Credentials
Identity Providers and Federation
Security Partner Solutions: Access and Access Control

最佳實務:

改進方案

使用強式登入機制

  • 建立強制執行 MFA 登入的 IAM 政策: 建立一個客戶管理的 IAM 政策,禁止所有 IAM 操作,除了允許使用者在「我的安全登入資料」頁面上假設角色、變更自己的登入資料,以及管理 MFA 裝置。
    https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html#tutorial_mfa_step1
  • 在您的身分供應商中啟用 MFA: 在您使用的身分供應商或單一登入服務 (例如 AWS Single Sign-On (SSO)) 中啟用 MFA。
    https://aws.amazon.com/iam/details/mfa/
  • 設定強式密碼政策: 在 IAM 和聯合身分系統中設定強式密碼政策,以幫助防止暴力密碼破解攻擊。
    http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_account-policy.html
  • 定期輪換登入資料: 確保工作負載的管理員會定期變更其密碼和存取金鑰 (若使用)。
    Rotate credentials regularly
  • 使用臨時登入資料

  • 實作最低權限政策: 將具有最低權限的存取政策指派給 IAM 群組和角色,以反映您已定義的使用者角色或職能。
    Grant least privilege
  • 移除不需要的權限: 透過移除不必要的許可來實作最低權限。
    Reducing policy scope by viewing user activity
    View role access
  • 考慮使用許可界限: 許可界限是使用受管政策的進階功能,可設定以身分為基礎的政策可授與 IAM 實體的最大許可。實體的許可界限只允許執行其以身分為基礎的政策和許可界限同時允許的動作。
    Lab: IAM permissions boundaries delegating role creation
  • 考慮使用資源標籤的許可: 您可以使用標籤來控制對支援標記之 AWS 資源的存取。您也可以標記 IAM 使用者和角色,以控制他們可以存取的內容。
    Lab: IAM tag based access control for EC2
    Attribute-based access control (ABAC)
  • 安全地存放和使用機密

  • 使用 AWS Secrets Manager: AWS Secrets Manager 是一項 AWS 服務,可讓您更輕鬆地管理機密。機密可以是資料庫登入資料、密碼、第三方 API 金鑰,甚至是任意文字。
    AWS Secrets Manager
  • 倚賴集中化的身分供應商

  • 集中管理存取: 建立 IAM 身分供應商實體,在您的 AWS 帳戶和身分供應商 (IdP) 之間建立信任關係。IAM 支援與 OpenID Connect (OIDC) 或 SAML 2.0 (安全聲明標記語言 2.0) 相容的 IdP。
    Identity Providers and Federation
  • 集中應用程式存取: 請考慮使用 Amazon Cognito 集中存取應用程式。它可讓您快速輕鬆地將使用者註冊、登入和存取控制新增到 Web 和行動應用程式。Amazon Cognito 可擴展到數百萬使用者,並支援透過 SAML 2.0 使用社交身分供應商 (例如 Facebook、Google 和 Amazon) 以及企業身分供應商進行登入。
    Amazon Cognito
  • 移除舊的 IAM 使用者和群組: 在您開始使用身分供應商 (IdP) 後,請移除不再需要的 IAM 使用者和群組。
    Finding unused credentials
    Deleting an IAM group
  • 定期稽核和輪換登入資料

  • 定期稽核登入資料: 使用登入資料報告和 IAM Access Analyzer 來稽核 IAM 登入資料和許可。
    IAM Access Analyzer
    Getting credential report
    Lab: Automated IAM user cleanup
  • 使用存取層級來檢閱 IAM 許可: 為了改善 AWS 帳戶的安全性,請定期檢閱和監控每個 IAM 政策。請確定您的政策授予僅執行必要動作所需的最低權限。
    Use access levels to review IAM permissions
  • 考慮自動化 IAM 資源建立和更新: AWS CloudFormation 可用於自動化 IAM 資源 (包括角色和政策) 的部署,以減少人為錯誤,因為範本可以進行驗證和進行版本控制。
    Lab: Automated deployment of IAM groups and roles
  • 利用使用者群組和屬性

  • 如果您使用的是 AWS Single Sign-On (SSO),請設定群組: AWS SSO 可讓您設定使用者群組,並將所需的許可層級指派給群組。
    AWS Single Sign-On - Manage Identities
  • 了解屬性型存取控制 (ABAC): 屬性型存取控制 (ABAC) 是一種授權策略,可根據屬性定義許可。
    What Is ABAC for AWS?
    Lab: IAM Tag Based Access Control for EC2