本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用私有 CA 简化AWS私有证书管理和 AWS RAM
由 Everett Hinckley (AWS) 和 Vivek Goyal () 创作 AWS
摘要
您可以使用AWS私有证书颁发机构(AWS私有 CA)颁发私有证书,用于对内部资源进行身份验证和对计算机代码进行签名。此模式为快速部署多级 CA 层次结构和一致的配置体验提供了一个AWS CloudFormation 模板。或者,您可以使用 Res AWS ource Access Manager (AWSRAM) 在组织内或组织中的组织单位 (OUs) 中AWS安全地共享 CA,并在使用AWSRAM管理权限的同时集中管理 CA。无需在每个账户中都使用私有 CA,因此这种方法可为您节省资金。此外,您还可以使用亚马逊简单存储服务 (Amazon S3) 来存储证书吊销列表 CRL () 和访问日志。
此实施提供以下功能和优点:
使用AWS私有 CA 集中并简化私有 CA 层次结构的管理。
将证书和密钥导出到本地AWS和本地客户管理的设备。
使用AWS CloudFormation 模板实现快速部署和一致的配置体验。
创建私有根 CA 以及 1、2、3 或者 4 个从属 CA 层次结构。
(可选)AWSRAM用于在组织或 OU 级别与其他账户共享最终实体下属 CA。
通过使用,无需在每个账户中都使用私有 CA,从而节省资金AWSRAM。
为创建可选的 S3 存储桶CRL。
为CRL访问日志创建可选的 S3 存储桶。
先决条件和限制
先决条件
如果要在 Organizations AWS 结构中共享 CA,请确定或设置以下内容:
用于创建 CA 层次结构与共享的安全账户。
单独 OU 或用于测试的账户。
在 Organization AWS s 管理账户中启用共享。有关更多信息,请参阅AWSRAM文档中的在 Organizati AWSons 中启用资源共享。
限制
CAs是区域资源。所有账户都CAs位于一个AWS账户和一个AWS区域中。
不支持用户生成的证书与密钥。对于此情况,我们建议您自定义此解决方案,以使用外部根 CA。
不支持公共CRL存储桶。我们建议您保CRL密。如果需要访问互联网,请参阅AWS私有 CA 文档CRLs中启用 S3 阻止公共访问 (BPA) 功能中有关使用 Amaz CloudFront on 提供服务的部分。CRL
这种模式实现单区域方法。如果您需要多区域证书颁发机构,则可以在第二个AWS区域或本地实施下属机构。这种复杂性超出了该模式的范围,因为实现取决于您的特定用例、工作负载量、依赖性和要求。
架构
目标技术堆栈
AWS 私有 CA
AWS RAM
Amazon S3
AWS Organizations
AWS CloudFormation
目标架构
此模式提供了两个共享给 Organizations AWS 的选项:
选项 1 ─ 在组织级别创建共享。组织中的所有账户都可使用共享 CA 颁发私有证书,如下图所示。
选项 2 ─ 在组织单位 (OU) 级创建共享。仅指定 OU 中的账户才能使用共享 CA 颁发私有证书。例如,在下图中,如果共享是在沙盒 OU 级创建的,则开发人员 1 和开发人员 2 都可以使用共享 CA 颁发私有证书。
工具
AWS 服务
AWS私有 CA — AWS 私有证书颁发机构(AWS私有 CA)是一项用于颁发和撤销私有数字证书的托管私有 CA 服务。它可以帮助您创建私有 CA 层次结构,包括根和下级 CACAs,而无需支付运营本地 CA 的投资和维护成本。
AWSRAM— Res AWS ource Access Manager (AWSRAM) 可帮助你在不同AWS账户、组织内部或AWS组织OUs中安全地共享资源。为了减少多账户环境中的运营开销,您可以创建资源并使用AWSRAM该资源在账户之间共享该资源。
AWSO rgani AWS zations — Organizations 是一项AWS账户管理服务,可让您将多个账户整合到一个由您创建和集中管理的组织中。
Amazon S3 – Amazon Simple Storage Service (Amazon S3) 是一项对象存储服务。您可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。此模式使用 Amazon S3 存储证书吊销列表 (CRL) 和访问日志。
AWS CloudFormation— AWS CloudFormation 帮助您建模和设置AWS资源,快速一致地配置资源,并在资源的整个生命周期中对其进行管理。您可以使用模板来描述资源及其依赖关系,然后将它们作为堆栈一起启动和配置,而不必单独管理资源。此模式AWS CloudFormation 用于自动部署多级 CA 层次结构。
代码
此模式的源代码可在AWS私有 CA 层次结构
AWS CloudFormation 模板
ACMPCA-RootCASubCA.yaml
。您可使用此模板为此实现部署 CA 层次结构。测试请求、导出、描述和删除证书等用例的文件。
若要使用这些文件,请按照操作说明部分中的说明操作。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
收集证书主题信息。 | 收集有关证书所有者的证书主题信息:组织名称、组织单位、国家、州、地区以及公用名。 | 云架构师、安全架构师、PKI工程师 |
收集有关AWS组织的可选信息。 | 如果 CA 将成为 Or AWS ganizations 结构的一部分,并且您想在该结构内共享 CA 层次结构,请收集管理账号、组织 ID 以及可选的 OU ID(如果您只想与特定 OU 共享 CA 层次结构)。此外,还要确定要AWS与之共享 CA 的 Organizations 帐户(如果有)。OUs | 云架构师、安全架构师、PKI工程师 |
设计 CA 层次结构。 | 确定哪个账户将容纳根和下属CAs。确定根证书和最终实体证书之间的层次结构需要多少个从属级别。有关更多信息,请参阅AWS私有 CA 文档中的设计 CA 层次结构。 | 云架构师、安全架构师、PKI工程师 |
确定 CA 层次结构的命名和标记约定。 | 确定AWS资源的名称:根 CA 和每个从属 CA。确定应将哪些标签分配给每个 CA。 | 云架构师、安全架构师、PKI工程师 |
确定所需加密与签名算法。 | 确定了以下内容:
| 云架构师、安全架构师、PKI工程师 |
确定 CA 层次结构证书吊销要求。 | 如果需要证书吊销功能,请为包含证书吊销列表的 S3 存储桶建立命名约定 () CRL。 | 云架构师、安全架构师、PKI工程师 |
确定 CA 层次结构日志记录要求。 | 如果需要访问日志记录功能,请为包含访问日志的 S3 存储桶建立命名约定。 | 云架构师、安全架构师、PKI工程师 |
确定证书到期时间。 | 确定根证书(默认为 10 年)、最终实体证书(默认为 13 个月)和从属 CA 证书(默认为 3 年)的到期日期。从属 CA 证书应早于层次结构中较高级别的 CA 证书过期。有关更多信息,请参阅私有 CA 文档中的管理私AWS有 CA 生命周期。 | 云架构师、安全架构师、PKI工程师 |
任务 | 描述 | 所需技能 |
---|---|---|
完成 必备任务。 | 完成此模式先决条件部分中的步骤。 | 云管理员、安全工程师、PKI工程师 |
为各种角色创建 CA 角色。 |
| 云管理员、安全工程师、PKI工程师 |
部署 CloudFormation 堆栈。 |
| 云管理员、安全工程师、PKI工程师 |
设计一个用于更新用户管理资源使用的证书的解决方案。 | 集成AWS服务的资源(例如 Elastic Load Balancing)会在证书到期前自动更新证书。但是,用户管理的资源,例如在亚马逊弹性计算云 (AmazonEC2) 实例上运行的 Web 服务器,需要另一种机制。
| 云管理员、安全工程师、PKI工程师 |
任务 | 描述 | 所需技能 |
---|---|---|
验证可选AWSRAM共享。 | 如果 CA 层次结构与 Organizations 中的其他账户共享,请从AWS管理控制台登录其中一个账户,导航到AWS私有 CA 控制台 | 云管理员、安全工程师、PKI工程师 |
通过证书生命周期测试验证 CA 层次结构。 | 在此模式的GitHub 存储库 | 云管理员、安全工程师、PKI工程师 |
将证书链导入信任存储库。 | 要使浏览器和其他应用程序信任证书,证书的颁发者必须包含在浏览器的信任存储库中,即可信列表CAs。将新 CA 层次结构的证书链添加到浏览器与应用程序的信任存储中。确认终端实体证书是可信证书。 | 云管理员、安全工程师、PKI工程师 |
创建运行手册来记录 CA 层次结构。 | 创建一份运行手册文档来描述 CA 层次结构的架构、可以申请最终实体证书的账户结构、构建过程以及基本管理任务,例如颁发最终实体证书(除非您想允许子账户进行自助服务)、使用情况和跟踪。 | 云管理员、安全工程师、PKI工程师 |
相关资源
设计 CA 层次结构(AWS私有 CA 文档)
创建私有 CA(AWS私有 CA 文档)
AWSRAM如何使用共享您的AWS私有 CA 跨账户
(AWS博客文章) AWS私有 CA 最佳实践(AWS博客文章)
在 Organizati@@ on AWS s 中启用资源共享(AWSRAM文档)
管理私有 CA 生命周期(AWS私有 CA 文档)
acm-certificate-expiration-check AWSfor Con AWS fig(配置文档)
其他信息
导出证书时,请使用加密强度高且符合组织的数据丢失防护策略的密码。