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