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
最佳實務:
-
使用強式登入機制: 強制執行密碼長度下限,並教育使用者避免使用常見密碼或重複使用密碼。透過軟體或硬體機制強制使用 Multi-Factor Authentication (MFA),以提供額外的保護層。
-
使用臨時登入資料: 需要身分才能動態取得臨時登入資料。若是人力身分,請使用 AWS Single Sign-On 或與 IAM 角色的聯合身分來存取 AWS 帳戶。若是機器身分,要求使用 IAM 角色,而非長期存取金鑰。
-
安全地存放和使用機密: 對於需要第三方應用程式密碼等機密的人力和機器身分,請在專業服務中使用最新的產業標準,以自動輪換的方式存放機密。
-
倚賴集中化的身分供應商: 若是人力身分,請倚賴可讓您在集中位置管理身分的身分供應商。這可讓您從單一位置建立、管理和撤銷存取權,以便更輕鬆地管理存取權。這可減少多個登入資料的需求,並提供與 HR 程序整合的機會。
-
定期稽核和輪換登入資料: 當您無法倚賴臨時登入資料且需要長期登入資料時,請稽核登入資料以確保定義的控制 (例如 MFA) 會定期強制執行、輪換,且具有適當的存取層級。
-
利用使用者群組和屬性: 將具有共同安全需求的使用者放在身分供應商定義的群組中,並設置機制,以確保可用於存取控制的使用者屬性 (例如,部門或位置) 正確並已更新。使用這些群組和屬性 (而非個別使用者) 來控制存取情形。這可讓您透過一次變更使用者的群組成員資格或屬性集中管理存取權,而不是在使用者存取需求變更時更新許多個別政策。
改進方案
使用強式登入機制
https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html#tutorial_mfa_step1
https://aws.amazon.com/iam/details/mfa/
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_account-policy.html
Rotate credentials regularly
使用臨時登入資料
Grant least privilege
Reducing policy scope by viewing user activity
View role access
Lab: IAM permissions boundaries delegating role creation
Lab: IAM tag based access control for EC2
Attribute-based access control (ABAC)
安全地存放和使用機密
AWS Secrets Manager
倚賴集中化的身分供應商
Identity Providers and Federation
Amazon Cognito
Finding unused credentials
Deleting an IAM group
定期稽核和輪換登入資料
IAM Access Analyzer
Getting credential report
Lab: Automated IAM user cleanup
Use access levels to review IAM permissions
Lab: Automated deployment of IAM groups and roles
利用使用者群組和屬性
AWS Single Sign-On - Manage Identities
What Is ABAC for AWS?
Lab: IAM Tag Based Access Control for EC2