本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
基于证书的访问控制架构 AWS
您可以使用 AWS Identity and Access Management Roles Anywhere 在 AWS Identity and Access Management (IAM) 中为在外部运行的服务器、容器和应用程序等工作负载获取临时安全证书 AWS。您的工作负载可以使用与访问 AWS 资源相同的 IA M 策略和 IAM 角色。 IAM Roles Anywhere 无需为在之外运行的工作负载管理长期凭证 AWS Cloud。
要使用 IAM Roles Anywhere,您的工作负载必须使用您的证书颁发机构 (CA) 颁发的 X.509 证书。您可以将 CA 注册 IAM Roles Anywhere 为信任锚点,以便在您的公钥基础设施和 IAM Roles Anywhere之间建立信任。在本指南中,您使用 AWS 私有证书颁发机构 (AWS 私有 CA) 作为 CA,然后与建立信任 IAM Roles Anywhere。在的上下文中 IAM Roles Anywhere, AWS 私有 CA 充当颁发具有特定属性的证书的可信来源,这些属性可用于通过细粒度策略控制对 AWS 资源的访问。
本指南提供了两个不同的选项,用于配置对目标 AWS 账户 和中 AWS 资源的基于证书的访问权限。 AWS 区域下图显示了两个选项之间的共同资源。 AWS 私有 CA 是在同一个账户和部署区域中设置 IAM Roles Anywhere 的。 IAM Roles Anywhere 和之间存在信任锚点 AWS 私有 CA。默认情况下, AWS 私有 CA 生成的所有证书都允许在签名过程中使用并存储在 AWS Certificate Manager (ACM) 中。就本指南而言,应用程序正在访问中的一个或多个亚马逊简单存储服务 (Amazon S3) Service 存储桶。 AWS 账户
该架构必须具有以下功能:
-
证书-您可以使用 ACM 生成证书。由于 ACM 是一项区域服务,因此其部署方式必须与 AWS 区域 相同 AWS 私有 CA。由于跨账户限制,我们建议您在与之相同的账户中部署 ACM。 AWS 私有 CA有关更多信息,请参阅 ACM 文档中的AWS 私有 CA 用于签署 ACM 私有证书的条件。
-
证书颁发机构-您可以使用 AWS 私有 CA 或使用外部 CA。由于 AWS 私有 CA 是区域服务,因此其部署方式必须与 ACM 和证书 AWS 区域 相同。
-
IAM 角色 — 根据贵组织的业务或用例要求,将 IAM 策略和权限映射到 IAM 角色。有关更多信息,请参阅 IAM 文档中的 IAM 角色创建。
-
IAM Roles Anywhere 配置文件-设置配置文件以指定 IAM Roles Anywhere 扮演哪些角色以及您的工作负载可以用临时证书做什么。在配置文件中,定义 IAM 会话策略以限制为会话创建的权限。有关更多信息,请参阅 IAM Roles Anywhere 文档中的配置角色。
-
凭证助手工具-使用 IAM Roles Anywhere 提供的凭证帮助工具获取临时安全证书。有关更多信息,请参阅 IAM Roles Anywhere 文档 IAM Roles Anywhere中的从中获取临时安全证书。
要委托通过访问资源的权限 IAM Roles Anywhere,您需要创建一个具有权限策略和信任策略的 IAM 角色。权限策略向假设实体授予在资源上执行预期任务所需的权限。信任策略指定允许哪些可信账户成员担任该角色。在本指南中,权限策略定义了实体可以访问哪些 Amazon S3 存储桶,信任策略定义了哪个应用程序可以担任该角色。
本指南涵盖以下场景,以说明 IAM 角色信任策略的配置选项:
-
选项 1:应用程序可以扮演与 IAM Roles Anywhere 配置文件关联的任何角色— 已在 ACM 中配置了一个或多个证书, AWS 私有 CA 并已与需要 AWS 访问资源的应用程序共享。这些应用程序可以扮演与 IAM Roles Anywhere 个人资料关联的任何角色。这是因为信任策略并未限制哪个应用程序可以假设它。
-
选项 2:应用程序只能扮演信任策略允许的角色— 已在 ACM 中配置了来自的两个证书, AWS 私有 CA 并与需要 AWS 访问资源的应用程序共享。由于信任策略中存在基于证书的访问控制,因此应用程序 1 只能扮演角色 1,而应用程序 2 只能担任角色 2。
先决条件
要设置这些选项,必须完成以下操作:
-
需要访问您 AWS 账户 和目标中的资源的外部应用程序 AWS 区域。
-
证书颁发机构设置在与该区域相同的区域 IAM Roles Anywhere。有关设置的说明 AWS 私有证书颁发机构,请参阅入门 IAM Roles Anywhere。
-
您已为应用程序颁发证书。有关更多信息和说明,请参阅AWS Certificate Manager 证书。