SEC03-BP01 定义访问要求
管理员、最终用户或其他组件都需要访问工作负载的每个组件或资源。明确定义什么人或什么内容应该有权访问每个组件,选择适当的身份类型以及身份验证和授权方法。
常见反模式:
-
在应用程序中进行硬编码或存储密码。
-
向每个用户授予自定义权限。
-
使用长期有效的凭证。
在未建立这种最佳实践的情况下暴露的风险等级:高
实施指导
管理员、最终用户或其他组件都需要访问工作负载的每个组件或资源。明确定义什么人或什么内容应该有权访问每个组件,选择适当的身份类型以及身份验证和授权方法。
应提供对组织内 AWS 账户的常规访问,方法是使用联合身份访问
在定义非人类身份的访问要求时,请确定哪些应用程序和组件需要访问权限以及如何向其授予权限。建议使用通过最低权限访问模型构建的 IAM 角色。AWS托管式策略提供了预定义的 IAM 策略,这些策略涵盖了大多数常见使用案例。
AWS 服务(例如 AWS Secrets Manager
您可以使用 AWS IAM Roles Anywhere 来获取 IAM 中的临时安全凭证,这种凭证适用于在 AWS 外部运行的工作负载。您的工作负载可以使用与 AWS 应用程序相同的 IAM 策略和 IAM 角色来访问 AWS 资源。
如果可能,请优先选择短期临时凭证而不是长期静态凭证。在一些场景中,需要具有编程访问权限和长期凭证的用户,此时请使用访问密钥上次使用的信息来轮换和删除访问密钥。
如果用户需要在 AWS Management Console 之外与 AWS 交互,则需要编程式访问权限。授予编程式访问权限的方法取决于访问 AWS 的用户类型。
要向用户授予编程式访问权限,请选择以下选项之一。
哪个用户需要编程式访问权限? | 目的 | 方式 |
---|---|---|
人力身份 (在 IAM Identity Center 中管理的用户) |
使用临时凭证签署向 AWS CLI、AWS SDK 或 AWS API 发出的编程请求。 |
按照您希望使用的界面的说明进行操作。
|
IAM | 使用临时凭证签署向 AWS CLI、AWS SDK 或 AWS API 发出的编程请求。 | 按照《IAM 用户指南》中将临时凭证用于 AWS 资源中的说明进行操作。 |
IAM | (不推荐使用) 使用长期凭证签署向 AWS CLI、AWS SDK 或 AWS API 发出的编程请求。 |
按照您希望使用的界面的说明进行操作。
|
资源
相关文档:
相关视频: