SEC03-BP01 定义访问要求 - 安全支柱

SEC03-BP01 定义访问要求

管理员、最终用户或其他组件都需要访问工作负载的每个组件或资源。明确定义什么人或什么内容应该有权访问每个组件,选择适当的身份类型以及身份验证和授权方法。

常见反模式:

  • 在应用程序中进行硬编码或存储密码。

  • 向每个用户授予自定义权限。

  • 使用长期有效的凭证。

在未建立这种最佳实践的情况下暴露的风险等级:

实施指导

管理员、最终用户或其他组件都需要访问工作负载的每个组件或资源。明确定义什么人或什么内容应该有权访问每个组件,选择适当的身份类型以及身份验证和授权方法。

应提供对组织内 AWS 账户的常规访问,方法是使用联合身份访问或集中式身份提供者。您还应将身份管理集中处理,确保对于 AWS 将访问集成到员工访问生命周期中已建立了既定做法。例如,当员工转岗到具有不同访问级别的职位时,该员工的小组成员资格也应进行更改以反映新的访问要求。

在定义非人类身份的访问要求时,请确定哪些应用程序和组件需要访问权限以及如何向其授予权限。建议使用通过最低权限访问模型构建的 IAM 角色。AWS托管式策略提供了预定义的 IAM 策略,这些策略涵盖了大多数常见使用案例。

AWS 服务(例如 AWS Secrets ManagerAWS Systems Manager Parameter Store)可以帮助在无法使用 IAM 角色的情况下,安全地将密码与应用程序或工作负载分离。在 Secrets Manager 中,您可以为凭证建立自动轮换。您可以通过使用您在创建参数时指定的唯一名称,使用 Systems Manager 来引用脚本、命令、SSM 文档、配置和自动化工作流中的参数。

您可以使用 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 发出的编程请求。

按照您希望使用的界面的说明进行操作。

资源

相关文档:

相关视频: