利用 ACM 服务,快速申请免费的公有证书,你 get 到了吗?

培训与认证
0
0
{"value":"![image.png](https://dev-media.amazoncloud.cn/de30e7ea25fa40e283315f396503952e_image.png)\n\n前言:**SSL/TLS** 证书广泛用于保护网络通信的安全,包括加密通信双方的消息内容,以及确认网站的合法身份等。以前,您可能需要支付高昂的费用来购买SSL证书,或者使用一些有效期很短的免费证书,此外,还不得不花精力来维护证书的续订、轮换等。现在,您可以利用 ACM 服务,来快速申请免费的公有证书,并在 云上资源 (如 Elastic Load Balancer、Amazon CloudFront 和 API Gateway)上部署该证书,证书续订操作也可以放心交给 ACM 帮您自动处理。在本篇文章中,**Dream 会带大家从零开始带大家到 ACM 的世界中去,介绍ACM公有证书的申请方法**,然后分别以 Amazon Application Load Balancer(ALB),Amazon CloudFront, Amazon API Gateway 为例,**指导如何配置 ACM 公有证书**。\n\n### **背景故事**\n大家好,我是是 Dream 呀,最近很多朋友在问 Dream,你知道怎么利用ACM快速申请免费的公有整数吗?emmmm 这个我确实是了解过,不过也还没有真正学习过。于是趁着这个机会,我立马学习了起来!经过一天的摸索前进,Dream 终于是把这个东西从头到尾搞明白啦!**接下来我把一些具体详细的操作过程告诉大家**:如果你是小白的话建议从头开始阅读,如果你对这方面有所涉猎可以跳过[1.知识储备](https://kvdgyiqubs.feishu.cn/docs/doccnVgXkqOiO8XSzjAOVrmx69g#OT61Yc)和[2.准备工作](https://kvdgyiqubs.feishu.cn/docs/doccnVgXkqOiO8XSzjAOVrmx69g#cS908l)这两个环节,直接进入到[3.申请证书](https://kvdgyiqubs.feishu.cn/docs/doccnVgXkqOiO8XSzjAOVrmx69g#22dTai)的实战中去!\n**你将学到:**\n1. ACM 以及 SSL/TLS 证书相关知识\n2. 利用 ACM 申请免费证书\n3. 在 ALB 上启用 HTTPS 并配置 ACM 公有证书\n4. 在 CloudFront 上启用 HTTPS 并配置 ACM 公有证书\n5. 在 Amazon API Gateway 上启用 HTTPS 并配置 ACM 公有证书\n### **1.知识储备**\n#### **1.1 什么是 Amazon Certificate Manager (ACM)?**\nACM 是一项服务,可帮助您轻松地预置、管理和部署公有和私有安全套接字层/传输层安全性 (SSL/TLS) 证书,以便用于 Amazon 产品和您的内部互联资源。SSL/TLS 证书用于保护网络通信的安全,并确认网站在 Internet 上的身份以及资源在私有网络上的身份。使用 ACM,您无需再为购买、上传和续订 SSL/TLS 证书而经历耗时的手动流程。利用 Amazon Certificate Manager,您可以快速请求证书,在 Amazon 资源上部署该证书,并让 ACM 处理证书续订事宜。它还让您能够为内部资源创建私有证书并集中管理证书生命周期。通过 ACM预置的专用于 ACM 集成服务的公有和私有 SSL/TLS 证书均免费。您只需为您创建的用于运行应用程序的 Amazon资源付费。您需要按月支付每个 CA 的操作费用,直至您将其删除,并为您颁发的并非专用于 [ACM 集成服务](https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html)的私有证书付费。\n#### **1.2 什么是 SSL/TLS 证书?**\nSSL/TLS 证书使 Web 浏览器能够标识使用安全套接字层/传输层安全性 (SSL/TLS) 协议的网站并与之建立加密的网络连接。证书在名为公有密钥基础设施 (PKI) 的加密系统中使用。通过 PKI,在双方都信任同一个第三方(称为证书颁发机构)的情况下,一方可以确认使用证书的另一方的身份。ACM 用户指南中的[概念](https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html)主题提供了更多背景信息和定义。\n#### **1.3 什么是私有证书?**\n私有证书可以识别和保护组织内的应用程序、服务、设备和用户等资源。在建立安全的加密通信通道时,每个终端节点都使用证书和加密技术向另一终端节点证明其身份。内部 API 终端节点、Web 服务器、VPN 用户、物联网设备以及许多其他应用程序都使用私有证书来建立其安全操作所需的加密通信通道。\n#### **1.4 公有证书和私有证书有什么区别?**\n公有证书和私有证书都可以帮助客户识别网络上的资源,并确保这些资源之间的通信安全。公有证书用于识别公共 Internet 上的资源,私有证书用于识别私有网络上的资源。其主要区别在于,应用程序和浏览器默认自动信任公有证书,而管理员必须显式配置应用程序以信任私有证书。公有 CA(颁发公有证书的实体)必须遵守严格的规则、提供操作可见性,并遵循浏览器和操作系统供应商规定的安全标准,这些标准决定他们的浏览器和操作系统自动信任哪些 CA。私有 CA 由私有组织管理,私有 CA 管理员可以制定自己的私有证书颁发规则,包括颁发证书的实践以及证书可以包含的信息。请参阅下面的 ACM 私有证书颁发机构,了解有关私有证书和私有证书颁发机构的更多信息。\n#### **1.5 使用 Amazon Certificate Manager (ACM) 和 ACM 私有证书颁发机构 (CA) 有什么好处?**\n借助 ACM,我们可以更加轻松地为 Amazon 平台上的网站或应用程序启用 SSL/TLS。使用 ACM,就不需要大量手动流程。ACM 还可管理证书续订,从而帮助我们避免因证书配置错误、撤销或过期而导致的停机。同时我们可获得 SSL/TLS 保护并轻松管理证书。为面向 Internet 的站点启用 SSL/TLS 有助于提高站点的搜索排名,满足加密动态数据的合规性要求。\n当我们使用 ACM 管理证书时,它会应用强加密和密钥管理最佳实践来确保证书私有密钥得到安全保护和存储。通过 ACM,我们可以使用 Amazon 管理控制台、Amazon CLI 或 Amazon Certificate Manager API 来集中管理 Amazon 区域中 ACM 提供的所有 SSL/TLS 证书。ACM 与其他Amazon 产品集成,因此您可以请求 SSL/TLS 证书,然后通过 Amazon 管理控制台、Amazon CLI 命令或 API 调用为 Elastic Load Balancing 负载均衡器或 Amazon CloudFront 分配预置证书。\nACM 私有 CA 是一种托管的私有 CA 服务,可让我们以安全方式轻松管理私有证书的生命周期。ACM 私有 CA 为您提供高度可用的私有 CA 服务,而无需前期投资和操作私有 CA 所需的持续维护费用。ACM 私有 CA 将 ACM 的证书管理功能扩展到私有证书,从而使您能够集中管理公有证书和私有证书。通过为开发人员提供 API,ACM 私有 CA 允许他们以编程方式更敏捷地创建和部署私有证书。我们也可以针对需要自定义证书生命周期或资源名称的应用程序,灵活创建私有证书。借助 ACM 私有 CA,可以使用安全、按需支付的托管私有 CA 服务集中为您的关联资源创建、管理和跟踪私有证书。\nCA 管理员可以使用 ACM 私有 CA 创建完整的 CA 层次结构,包括在线根 CA 和从属 CA,无需外部 CA。CA 层次结构为信任链顶部最可信的的根 CA 提供强大的安全和限制访问控制,同时允许对信任链较下层的从属 CA 进行更宽松的访问和批量证书颁发。我们使用人员可以创建安全CA,无需构建和维持自己的本地 CA 基础设施。\n### **2.准备工作**\n#### **2.1 进入开发环境**\n如果大家之前有账户的话,可以点击右侧按钮“登陆控制台”进入开发环境:[登陆控制台](https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fconsole.aws.amazon.com%2Fconsole%2Fhome%3Ffromtb%3Dtrue%26hashArgs%3D%2523%26isauthcode%3Dtrue%26state%3DhashArgsFromTB_us-west-1_723d4f45f7ffdc5d&client_id=arn%3Aaws%3Asignin%3A%3A%3Aconsole%2Fcanvas&forceMobileApp=0&code_challenge=EI7WC40PlZAOtPvZBhckh03hHS7YMLmPlxnshzEPIfo&code_challenge_method=SHA-256)\n如果大家没有的话:\n1. 海外区域业务或个人使用,请注册“海外区域账户”:[海外注册Amazon](https://portal.aws.amazon.com/billing/signup#/start/email)\n2. 中国区域业务(需企业营业执照认证),请注册“中国区域账户”:[国内注册 Amazon](https://signin.amazonaws.cn/signup?request_type=register&refid=347c8537-576d-44ff-bcaa-6d9d87b6cd0d)\n以海外账号注册流程为例,进行操作:\n1.首先点击国外注册 Amazon 的链接:[海外账号注册流程](https://portal.aws.amazon.com/billing/signup#/start/email),进入注册页面,填写我们的信息:\n\n![image.png](https://dev-media.amazoncloud.cn/22b7e3d5e1574ff0bc39edd94bdfe1b2_image.png)\n\n2.然后填写完毕之后完善我们的个人资料以及公司信息:\n\n![image.png](https://dev-media.amazoncloud.cn/5173d2eeb6e5490f81a40a4ad342bea3_image.png)\n\n3.然后填写完我们的信用卡信息:\n\n![image.png](https://dev-media.amazoncloud.cn/663dce8e38884912b73e166b688f7752_image.png)\n\n4.接着我们需要填写我们的手机号来进行验证:\n\n![image.png](https://dev-media.amazoncloud.cn/528e1de4e25b4db5844e93eff05b88b5_image.png)\n\n5.选择免费的服务,完成我们的注册:\n\n![image.png](https://dev-media.amazoncloud.cn/53e425bb75534f5ca364f07e315dca4e_image.png)\n\n6.最后我们便可以进入到我们的账号进入管理控制台啦:\n\n![image.png](https://dev-media.amazoncloud.cn/ec745c7628254d3f875c6e13eb1f491d_image.png)\n\n#### **2.2 开始使用 ACM**\n要开始使用 Amazon Certificate Manager,我们首先需要将导航到 Amazon 管理控制台中的“证书管理”,然后使用向导请求 SSL/TLS 证书。\n如果已经创建了 ACM 私有 CA,我们可以选择需要公有证书还是私有证书,然后输入站点名称。也可以使用 Amazon CLI 或 API 请求证书。证书颁发后,您可以将其用于与 ACM 集成的“其他 Amazon 产品”。对于每项集成的服务,我们只需从 Amazon 管理控制台的下拉列表中选择您要部署的 SSL/TLS 证书即可。或者,您也可以执行一个 Amazon CLI 命令或调用一个 Amazon API,将该证书与您的资源关联起来。集成的服务随后会将该证书部署到您选择的资源。\n同时我们可以将公有和私有 ACM 证书用于以下 Amazon 产品,这里就不再一一列举出来,打击可以自行查看:\n• Elastic Load Balancing – 请参阅 [Elastic Load Balancing 文档](https://aws.amazon.com/documentation/elastic-load-balancing/)\n• Amazon CloudFront – 请参阅 [CloudFront 文档](https://aws.amazon.com/documentation/cloudfront/)\n• Amazon API Gateway – 请参阅 [API Gateway 文档](https://aws.amazon.com/documentation/apigateway/)\n• Amazon Elastic Beanstalk – 请参阅 [Amazon Elastic Beanstalk 文档](https://aws.amazon.com/documentation/elastic-beanstalk/)\n• Amazon CloudFormation – 目前仅支持 ACM 管理的公有和私有证书。请参阅 [AmazonCloudFormation 文档](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html)\n此外,我们还可以将 ACM 私有 CA 颁发的私有证书用于 EC2 实例、容器、物联网设备和您自己的服务器,这都需要我们自己去亲手操作。\n\n#### **2.3 区域确认**\n对于 ALB 或者 Amazon API Gateway 服务,您需要选择在与之相同的区域来申请 ACM 证书;如果您使用的是海外区域 Amazon CloudFront,则需要将证书配置在**弗吉尼亚北部区域(us-east-1)**。您可以在页面右上角确认当前所处区域。\n\n![image.png](https://dev-media.amazoncloud.cn/c6f24461c66042e49d9ebe43203b8a84_image.png)\n\n#### **3.申请证书**\n#### **3.1 打开 ACM 服务控制台**\n在 Service 下拉框中,选择 “Security, Identity, & Compliance” > “Certificate Manager”\n\n![image.png](https://dev-media.amazoncloud.cn/b606191cdc8a47b586745be2875f503e_image.png)\n\n#### **3.2 在证书管理页面,点击请求证书**\n\n![image.png](https://dev-media.amazoncloud.cn/20364f59b05a44d6b58acdf34acbe593_image.png)\n\n选择请求公有证书,\n\n![image.png](https://dev-media.amazoncloud.cn/608e13b940eb4db697663ee3b5c85825_image.png)\n\n#### **3.3 添加域名**\n您可以添加通配符域名,比如*.[example.com](http://example.com/), 这样对于同一个顶级的多个二级域名,可以使用同一个 ACM 公有证书,而不需要多次申请。\n\n![image.png](https://dev-media.amazoncloud.cn/67a5d20721004b6bbc14b0c1b7f44d2f_image.png)\n\n#### **3.4 选择验证方式**\n如果您的域名托管在 Route 53,则建议您使用 DNS 验证,并在验证页面,点击在 Route 53中创建记录。否则,您可以按照页面提示,任意验证方式。\n\n![image.png](https://dev-media.amazoncloud.cn/49f4ec2c0b1c4392ac44d39038dd3979_image.png)\n\n完成选择认证之后,我们只需要一直点击下一步即可,直到“步骤5:验证”页面,如果使用的是 Route53托管域名,点击“在 Route53中创建记录”就能一键完成验证。如果域名托管在其他 DNS 解析服务商,需要在对应的域名托管处创建如图中的所示 CNAME 记录:\n\n![image.png](https://dev-media.amazoncloud.cn/5c3ac2b33b35469bb3e9cfd24eda5485_image.png)\n\n#### **3.5 配置成功后,过一会后即可查看状态为已颁发。**\n当我们发现我们的证书状态为已颁发状态时,这时就可以说明我们的认证证书已经申请成功啦!\n\n![image.png](https://dev-media.amazoncloud.cn/f8b01f7bf3a74bdfac45706185e8b66b_image.png)\n\n### **4.选项一:在 ALB 上启用 HTTPS 并配置 ACM 公有证书**\n要在 ALB 上启用 HTTPS 并配置 ACM 公有证书,首先我们需要先找到 ALB,并选择添加侦听器:\n1. 选择 **HTTPS 协议**,端口默认**443**并添加转发。\n2. 选择默认安全策略。\n3. 选择刚才创建的 SSL 证书,并保存。\n\n![image.png](https://dev-media.amazoncloud.cn/081517334a5945218e539dafdccaa7bd_image.png)\n\n4. 接下来您就可以使用 HTTPS 协议访问域名,测试是否配置成功。如果我们使用 HTTPS 协议访问域名没有出现拒接或者丢失的信息就说明我们已经配置完成啦,这里的每一步大家都需要认证操作,如果出现错误的话就自己多操作几次,我自身而言就是操作了好几次才成功的,多一点耐心其实就会成功!\n### **5.在 Amazon CloudFront 上启用HTTPS并配置 ACM 公有证书**\n#### **5.1 海外区域的配置方法如下:**\n在 CloudFront 上配置 ACM 公有证书需要在**弗吉尼亚北部区域(us-east-1)**预置 ACM 公 有证书。\n1. 创建 DNS 记录,域名指向 CloudFront 域名。\n2. 编辑 CloudFront 分配。\n3. 在备用域名部分输入域名,并选择刚才之前创建的自定义 SSL 证书。\n\n![image.png](https://dev-media.amazoncloud.cn/c1d9f441a0444c23bbe34ecef552a0ee_image.png)\n\n#### **5.2 中国区域的配置方法:**\n如果您使用的是中国区域,则需要先申请第三方证书,然后上传到 Amazon Identity & Access Management(IAM)服务中,以下步骤展示上传证书的方法。\n首先,进入 CloudFront 的编辑页面,然后选择 Custom SSL Certificate,点击 Upload a Certificate to IAM 。然后需要我们尤其重视的是 Certificate Name 是不允许出现一些特殊字符的,例如横杠以及各种标点符号,否则将不能正确执行。\n\n![image.png](https://dev-media.amazoncloud.cn/63abffb9650d4c6388168d6bd46c30fc_image.png)\n\n然后在证书下拉框中选择上传完成的证书即可。\n### **6.在 Amazon API Gateway 上启用 HTTPS 并配置 ACM 公有证书**\n您需要使用 HTTP API 或者 REST API 的自定义域名,本文以 HTTP API 为例。这里,我们假定您已经部署好 API Gateway 并且可以正常访问,如 test API。\n1. 选择自定义域名,点击创建:\n\n![image.png](https://dev-media.amazoncloud.cn/62dd9ee4938b4ebfb2b7ed2d1090681c_image.png)\n\n2. 填入域名,创建区域性域名以及选择刚才创建的 ACM 证书,然后点击创建域名:\n\n![image.png](https://dev-media.amazoncloud.cn/60b4eb813aef47069e2aeb73866d135a_image.png)\n\n3. 创建完成后,点击 API 映射,点击 配置 API 映射:\n\n![image.png](https://dev-media.amazoncloud.cn/3b84821d01e04997a6e7add497d8885b_image.png)\n\n4. 点击 添加新映射,API 选择之前部署的 API Gateway,选择阶段、路径,这里的阶段要选择$default,路径可以选择不填入,最后点击保存,映射配置完成:\n\n![image.png](https://dev-media.amazoncloud.cn/da17d013aa9f48f5bcb6e5551dcd8e0e_image.png)\n\n5. 观察域名详细信息,记录下 **API Gateway** 域名,这里的域名还需要我们下一步去填入,可以提前复制在一边,需要时再使用,不然还需要回到上一步:\n\n![image.png](https://dev-media.amazoncloud.cn/da47fa37ffae4caeb78e9ade6a1a204a_image.png)\n\n6. 添加 DNS 记录,将自定义域名解析到刚才记录的 API Gateway 域名:\n首先点击添加**新的映射**,然后把我们的新的映射放到 API 框中,接着将阶段选择框中的选项进行选择 **$default** ,然后路径的话我们可以自己选择,**也可以选择不填**,最后只需要保存即可!\n\n![image.png](https://dev-media.amazoncloud.cn/e7426f0cfabe41648af8afe36b15af0a_image.png)\n\n至此,您就可以在域名解析生效后,使用自定义域名访问 **API Gateway**了。\n\n### **7.实战总结**\n本篇文章Dream向大家介绍了 ACM 证书的申请方法,以及我们如何在 ALB 上启用 HTTPS 并配置 ACM 公有证书,和在 CloudFront 上启用 HTTPS 并配置 ACM 公有证书,以及在 Amazon API Gateway 上启用 HTTPS 并配置 ACM 公有证书。希望大家可以从中收获到一些经验以及亲手部署的成就感和满足感~\n如果你顺利的完成了以上操作,相信你对 ACM 证书的相关知识和申请方法以及各种配置过程已经了如指掌啦!也快快去给身边需要申请ACM证书的小伙伴去露一手吧~如果还有任何问题的话,欢迎在评论区或者私信告诉我吧!\n 🌲🌲🌲 最后,作者很感谢能够阅读到这里的读者。如果看完觉得好的话,还请轻轻点一下赞或者分享给更多的人,你们的鼓励就是作者继续行文的动力。\n❤️❤️❤️如果你喜欢的话,就不要吝惜你的一键三连了,我们下期再见~\n","render":"<p><img src=\"https://dev-media.amazoncloud.cn/de30e7ea25fa40e283315f396503952e_image.png\" alt=\"image.png\" /></p>\n<p>前言:<strong>SSL/TLS</strong> 证书广泛用于保护网络通信的安全,包括加密通信双方的消息内容,以及确认网站的合法身份等。以前,您可能需要支付高昂的费用来购买SSL证书,或者使用一些有效期很短的免费证书,此外,还不得不花精力来维护证书的续订、轮换等。现在,您可以利用 ACM 服务,来快速申请免费的公有证书,并在 云上资源 (如 Elastic Load Balancer、Amazon CloudFront 和 API Gateway)上部署该证书,证书续订操作也可以放心交给 ACM 帮您自动处理。在本篇文章中,<strong>Dream 会带大家从零开始带大家到 ACM 的世界中去,介绍ACM公有证书的申请方法</strong>,然后分别以 Amazon Application Load Balancer(ALB),Amazon CloudFront, Amazon API Gateway 为例,<strong>指导如何配置 ACM 公有证书</strong>。</p>\n<h3><a id=\"_4\"></a><strong>背景故事</strong></h3>\n<p>大家好,我是是 Dream 呀,最近很多朋友在问 Dream,你知道怎么利用ACM快速申请免费的公有整数吗?emmmm 这个我确实是了解过,不过也还没有真正学习过。于是趁着这个机会,我立马学习了起来!经过一天的摸索前进,Dream 终于是把这个东西从头到尾搞明白啦!<strong>接下来我把一些具体详细的操作过程告诉大家</strong>:如果你是小白的话建议从头开始阅读,如果你对这方面有所涉猎可以跳过<a href=\"https://kvdgyiqubs.feishu.cn/docs/doccnVgXkqOiO8XSzjAOVrmx69g#OT61Yc\" target=\"_blank\">1.知识储备</a>和<a href=\"https://kvdgyiqubs.feishu.cn/docs/doccnVgXkqOiO8XSzjAOVrmx69g#cS908l\" target=\"_blank\">2.准备工作</a>这两个环节,直接进入到<a href=\"https://kvdgyiqubs.feishu.cn/docs/doccnVgXkqOiO8XSzjAOVrmx69g#22dTai\" target=\"_blank\">3.申请证书</a>的实战中去!<br />\n<strong>你将学到:</strong></p>\n<ol>\n<li>ACM 以及 SSL/TLS 证书相关知识</li>\n<li>利用 ACM 申请免费证书</li>\n<li>在 ALB 上启用 HTTPS 并配置 ACM 公有证书</li>\n<li>在 CloudFront 上启用 HTTPS 并配置 ACM 公有证书</li>\n<li>在 Amazon API Gateway 上启用 HTTPS 并配置 ACM 公有证书</li>\n</ol>\n<h3><a id=\"1_12\"></a><strong>1.知识储备</strong></h3>\n<h4><a id=\"11__Amazon_Certificate_Manager_ACM_13\"></a><strong>1.1 什么是 Amazon Certificate Manager (ACM)?</strong></h4>\n<p>ACM 是一项服务,可帮助您轻松地预置、管理和部署公有和私有安全套接字层/传输层安全性 (SSL/TLS) 证书,以便用于 Amazon 产品和您的内部互联资源。SSL/TLS 证书用于保护网络通信的安全,并确认网站在 Internet 上的身份以及资源在私有网络上的身份。使用 ACM,您无需再为购买、上传和续订 SSL/TLS 证书而经历耗时的手动流程。利用 Amazon Certificate Manager,您可以快速请求证书,在 Amazon 资源上部署该证书,并让 ACM 处理证书续订事宜。它还让您能够为内部资源创建私有证书并集中管理证书生命周期。通过 ACM预置的专用于 ACM 集成服务的公有和私有 SSL/TLS 证书均免费。您只需为您创建的用于运行应用程序的 Amazon资源付费。您需要按月支付每个 CA 的操作费用,直至您将其删除,并为您颁发的并非专用于 <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html\" target=\"_blank\">ACM 集成服务</a>的私有证书付费。</p>\n<h4><a id=\"12__SSLTLS__15\"></a><strong>1.2 什么是 SSL/TLS 证书?</strong></h4>\n<p>SSL/TLS 证书使 Web 浏览器能够标识使用安全套接字层/传输层安全性 (SSL/TLS) 协议的网站并与之建立加密的网络连接。证书在名为公有密钥基础设施 (PKI) 的加密系统中使用。通过 PKI,在双方都信任同一个第三方(称为证书颁发机构)的情况下,一方可以确认使用证书的另一方的身份。ACM 用户指南中的<a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html\" target=\"_blank\">概念</a>主题提供了更多背景信息和定义。</p>\n<h4><a id=\"13__17\"></a><strong>1.3 什么是私有证书?</strong></h4>\n<p>私有证书可以识别和保护组织内的应用程序、服务、设备和用户等资源。在建立安全的加密通信通道时,每个终端节点都使用证书和加密技术向另一终端节点证明其身份。内部 API 终端节点、Web 服务器、VPN 用户、物联网设备以及许多其他应用程序都使用私有证书来建立其安全操作所需的加密通信通道。</p>\n<h4><a id=\"14__19\"></a><strong>1.4 公有证书和私有证书有什么区别?</strong></h4>\n<p>公有证书和私有证书都可以帮助客户识别网络上的资源,并确保这些资源之间的通信安全。公有证书用于识别公共 Internet 上的资源,私有证书用于识别私有网络上的资源。其主要区别在于,应用程序和浏览器默认自动信任公有证书,而管理员必须显式配置应用程序以信任私有证书。公有 CA(颁发公有证书的实体)必须遵守严格的规则、提供操作可见性,并遵循浏览器和操作系统供应商规定的安全标准,这些标准决定他们的浏览器和操作系统自动信任哪些 CA。私有 CA 由私有组织管理,私有 CA 管理员可以制定自己的私有证书颁发规则,包括颁发证书的实践以及证书可以包含的信息。请参阅下面的 ACM 私有证书颁发机构,了解有关私有证书和私有证书颁发机构的更多信息。</p>\n<h4><a id=\"15__Amazon_Certificate_Manager_ACM__ACM__CA__21\"></a><strong>1.5 使用 Amazon Certificate Manager (ACM) 和 ACM 私有证书颁发机构 (CA) 有什么好处?</strong></h4>\n<p>借助 ACM,我们可以更加轻松地为 Amazon 平台上的网站或应用程序启用 SSL/TLS。使用 ACM,就不需要大量手动流程。ACM 还可管理证书续订,从而帮助我们避免因证书配置错误、撤销或过期而导致的停机。同时我们可获得 SSL/TLS 保护并轻松管理证书。为面向 Internet 的站点启用 SSL/TLS 有助于提高站点的搜索排名,满足加密动态数据的合规性要求。<br />\n当我们使用 ACM 管理证书时,它会应用强加密和密钥管理最佳实践来确保证书私有密钥得到安全保护和存储。通过 ACM,我们可以使用 Amazon 管理控制台、Amazon CLI 或 Amazon Certificate Manager API 来集中管理 Amazon 区域中 ACM 提供的所有 SSL/TLS 证书。ACM 与其他Amazon 产品集成,因此您可以请求 SSL/TLS 证书,然后通过 Amazon 管理控制台、Amazon CLI 命令或 API 调用为 Elastic Load Balancing 负载均衡器或 Amazon CloudFront 分配预置证书。<br />\nACM 私有 CA 是一种托管的私有 CA 服务,可让我们以安全方式轻松管理私有证书的生命周期。ACM 私有 CA 为您提供高度可用的私有 CA 服务,而无需前期投资和操作私有 CA 所需的持续维护费用。ACM 私有 CA 将 ACM 的证书管理功能扩展到私有证书,从而使您能够集中管理公有证书和私有证书。通过为开发人员提供 API,ACM 私有 CA 允许他们以编程方式更敏捷地创建和部署私有证书。我们也可以针对需要自定义证书生命周期或资源名称的应用程序,灵活创建私有证书。借助 ACM 私有 CA,可以使用安全、按需支付的托管私有 CA 服务集中为您的关联资源创建、管理和跟踪私有证书。<br />\nCA 管理员可以使用 ACM 私有 CA 创建完整的 CA 层次结构,包括在线根 CA 和从属 CA,无需外部 CA。CA 层次结构为信任链顶部最可信的的根 CA 提供强大的安全和限制访问控制,同时允许对信任链较下层的从属 CA 进行更宽松的访问和批量证书颁发。我们使用人员可以创建安全CA,无需构建和维持自己的本地 CA 基础设施。</p>\n<h3><a id=\"2_26\"></a><strong>2.准备工作</strong></h3>\n<h4><a id=\"21__27\"></a><strong>2.1 进入开发环境</strong></h4>\n<p>如果大家之前有账户的话,可以点击右侧按钮“登陆控制台”进入开发环境:<a href=\"https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fconsole.aws.amazon.com%2Fconsole%2Fhome%3Ffromtb%3Dtrue%26hashArgs%3D%2523%26isauthcode%3Dtrue%26state%3DhashArgsFromTB_us-west-1_723d4f45f7ffdc5d&amp;client_id=arn%3Aaws%3Asignin%3A%3A%3Aconsole%2Fcanvas&amp;forceMobileApp=0&amp;code_challenge=EI7WC40PlZAOtPvZBhckh03hHS7YMLmPlxnshzEPIfo&amp;code_challenge_method=SHA-256\" target=\"_blank\">登陆控制台</a><br />\n如果大家没有的话:</p>\n<ol>\n<li>海外区域业务或个人使用,请注册“海外区域账户”:<a href=\"https://portal.aws.amazon.com/billing/signup#/start/email\" target=\"_blank\">海外注册Amazon</a></li>\n<li>中国区域业务(需企业营业执照认证),请注册“中国区域账户”:<a href=\"https://signin.amazonaws.cn/signup?request_type=register&amp;refid=347c8537-576d-44ff-bcaa-6d9d87b6cd0d\" target=\"_blank\">国内注册 Amazon</a><br />\n以海外账号注册流程为例,进行操作:<br />\n1.首先点击国外注册 Amazon 的链接:<a href=\"https://portal.aws.amazon.com/billing/signup#/start/email\" target=\"_blank\">海外账号注册流程</a>,进入注册页面,填写我们的信息:</li>\n</ol>\n<p><img src=\"https://dev-media.amazoncloud.cn/22b7e3d5e1574ff0bc39edd94bdfe1b2_image.png\" alt=\"image.png\" /></p>\n<p>2.然后填写完毕之后完善我们的个人资料以及公司信息:</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/5173d2eeb6e5490f81a40a4ad342bea3_image.png\" alt=\"image.png\" /></p>\n<p>3.然后填写完我们的信用卡信息:</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/663dce8e38884912b73e166b688f7752_image.png\" alt=\"image.png\" /></p>\n<p>4.接着我们需要填写我们的手机号来进行验证:</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/528e1de4e25b4db5844e93eff05b88b5_image.png\" alt=\"image.png\" /></p>\n<p>5.选择免费的服务,完成我们的注册:</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/53e425bb75534f5ca364f07e315dca4e_image.png\" alt=\"image.png\" /></p>\n<p>6.最后我们便可以进入到我们的账号进入管理控制台啦:</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/ec745c7628254d3f875c6e13eb1f491d_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"22__ACM_57\"></a><strong>2.2 开始使用 ACM</strong></h4>\n<p>要开始使用 Amazon Certificate Manager,我们首先需要将导航到 Amazon 管理控制台中的“证书管理”,然后使用向导请求 SSL/TLS 证书。<br />\n如果已经创建了 ACM 私有 CA,我们可以选择需要公有证书还是私有证书,然后输入站点名称。也可以使用 Amazon CLI 或 API 请求证书。证书颁发后,您可以将其用于与 ACM 集成的“其他 Amazon 产品”。对于每项集成的服务,我们只需从 Amazon 管理控制台的下拉列表中选择您要部署的 SSL/TLS 证书即可。或者,您也可以执行一个 Amazon CLI 命令或调用一个 Amazon API,将该证书与您的资源关联起来。集成的服务随后会将该证书部署到您选择的资源。<br />\n同时我们可以将公有和私有 ACM 证书用于以下 Amazon 产品,这里就不再一一列举出来,打击可以自行查看:<br />\n• Elastic Load Balancing – 请参阅 <a href=\"https://aws.amazon.com/documentation/elastic-load-balancing/\" target=\"_blank\">Elastic Load Balancing 文档</a><br />\n• Amazon CloudFront – 请参阅 <a href=\"https://aws.amazon.com/documentation/cloudfront/\" target=\"_blank\">CloudFront 文档</a><br />\n• Amazon API Gateway – 请参阅 <a href=\"https://aws.amazon.com/documentation/apigateway/\" target=\"_blank\">API Gateway 文档</a><br />\n• Amazon Elastic Beanstalk – 请参阅 <a href=\"https://aws.amazon.com/documentation/elastic-beanstalk/\" target=\"_blank\">Amazon Elastic Beanstalk 文档</a><br />\n• Amazon CloudFormation – 目前仅支持 ACM 管理的公有和私有证书。请参阅 <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html\" target=\"_blank\">AmazonCloudFormation 文档</a><br />\n此外,我们还可以将 ACM 私有 CA 颁发的私有证书用于 EC2 实例、容器、物联网设备和您自己的服务器,这都需要我们自己去亲手操作。</p>\n<h4><a id=\"23__68\"></a><strong>2.3 区域确认</strong></h4>\n<p>对于 ALB 或者 Amazon API Gateway 服务,您需要选择在与之相同的区域来申请 ACM 证书;如果您使用的是海外区域 Amazon CloudFront,则需要将证书配置在<strong>弗吉尼亚北部区域(us-east-1)</strong>。您可以在页面右上角确认当前所处区域。</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/c6f24461c66042e49d9ebe43203b8a84_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"3_73\"></a><strong>3.申请证书</strong></h4>\n<h4><a id=\"31__ACM__74\"></a><strong>3.1 打开 ACM 服务控制台</strong></h4>\n<p>在 Service 下拉框中,选择 “Security, Identity, &amp; Compliance” &gt; “Certificate Manager”</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/b606191cdc8a47b586745be2875f503e_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"32__79\"></a><strong>3.2 在证书管理页面,点击请求证书</strong></h4>\n<p><img src=\"https://dev-media.amazoncloud.cn/20364f59b05a44d6b58acdf34acbe593_image.png\" alt=\"image.png\" /></p>\n<p>选择请求公有证书,</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/608e13b940eb4db697663ee3b5c85825_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"33__87\"></a><strong>3.3 添加域名</strong></h4>\n<p>您可以添加通配符域名,比如*.<a href=\"http://example.com/\" target=\"_blank\">example.com</a>, 这样对于同一个顶级的多个二级域名,可以使用同一个 ACM 公有证书,而不需要多次申请。</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/67a5d20721004b6bbc14b0c1b7f44d2f_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"34__92\"></a><strong>3.4 选择验证方式</strong></h4>\n<p>如果您的域名托管在 Route 53,则建议您使用 DNS 验证,并在验证页面,点击在 Route 53中创建记录。否则,您可以按照页面提示,任意验证方式。</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/49f4ec2c0b1c4392ac44d39038dd3979_image.png\" alt=\"image.png\" /></p>\n<p>完成选择认证之后,我们只需要一直点击下一步即可,直到“步骤5:验证”页面,如果使用的是 Route53托管域名,点击“在 Route53中创建记录”就能一键完成验证。如果域名托管在其他 DNS 解析服务商,需要在对应的域名托管处创建如图中的所示 CNAME 记录:</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/5c3ac2b33b35469bb3e9cfd24eda5485_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"35__101\"></a><strong>3.5 配置成功后,过一会后即可查看状态为已颁发。</strong></h4>\n<p>当我们发现我们的证书状态为已颁发状态时,这时就可以说明我们的认证证书已经申请成功啦!</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/f8b01f7bf3a74bdfac45706185e8b66b_image.png\" alt=\"image.png\" /></p>\n<h3><a id=\"4_ALB__HTTPS__ACM__106\"></a><strong>4.选项一:在 ALB 上启用 HTTPS 并配置 ACM 公有证书</strong></h3>\n<p>要在 ALB 上启用 HTTPS 并配置 ACM 公有证书,首先我们需要先找到 ALB,并选择添加侦听器:</p>\n<ol>\n<li>选择 <strong>HTTPS 协议</strong>,端口默认<strong>443</strong>并添加转发。</li>\n<li>选择默认安全策略。</li>\n<li>选择刚才创建的 SSL 证书,并保存。</li>\n</ol>\n<p><img src=\"https://dev-media.amazoncloud.cn/081517334a5945218e539dafdccaa7bd_image.png\" alt=\"image.png\" /></p>\n<ol start=\"4\">\n<li>接下来您就可以使用 HTTPS 协议访问域名,测试是否配置成功。如果我们使用 HTTPS 协议访问域名没有出现拒接或者丢失的信息就说明我们已经配置完成啦,这里的每一步大家都需要认证操作,如果出现错误的话就自己多操作几次,我自身而言就是操作了好几次才成功的,多一点耐心其实就会成功!</li>\n</ol>\n<h3><a id=\"5_Amazon_CloudFront_HTTPS_ACM__115\"></a><strong>5.在 Amazon CloudFront 上启用HTTPS并配置 ACM 公有证书</strong></h3>\n<h4><a id=\"51__116\"></a><strong>5.1 海外区域的配置方法如下:</strong></h4>\n<p>在 CloudFront 上配置 ACM 公有证书需要在**弗吉尼亚北部区域(us-east-1)**预置 ACM 公 有证书。</p>\n<ol>\n<li>创建 DNS 记录,域名指向 CloudFront 域名。</li>\n<li>编辑 CloudFront 分配。</li>\n<li>在备用域名部分输入域名,并选择刚才之前创建的自定义 SSL 证书。</li>\n</ol>\n<p><img src=\"https://dev-media.amazoncloud.cn/c1d9f441a0444c23bbe34ecef552a0ee_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"52__124\"></a><strong>5.2 中国区域的配置方法:</strong></h4>\n<p>如果您使用的是中国区域,则需要先申请第三方证书,然后上传到 Amazon Identity &amp; Access Management(IAM)服务中,以下步骤展示上传证书的方法。<br />\n首先,进入 CloudFront 的编辑页面,然后选择 Custom SSL Certificate,点击 Upload a Certificate to IAM 。然后需要我们尤其重视的是 Certificate Name 是不允许出现一些特殊字符的,例如横杠以及各种标点符号,否则将不能正确执行。</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/63abffb9650d4c6388168d6bd46c30fc_image.png\" alt=\"image.png\" /></p>\n<p>然后在证书下拉框中选择上传完成的证书即可。</p>\n<h3><a id=\"6_Amazon_API_Gateway__HTTPS__ACM__131\"></a><strong>6.在 Amazon API Gateway 上启用 HTTPS 并配置 ACM 公有证书</strong></h3>\n<p>您需要使用 HTTP API 或者 REST API 的自定义域名,本文以 HTTP API 为例。这里,我们假定您已经部署好 API Gateway 并且可以正常访问,如 test API。</p>\n<ol>\n<li>选择自定义域名,点击创建:</li>\n</ol>\n<p><img src=\"https://dev-media.amazoncloud.cn/62dd9ee4938b4ebfb2b7ed2d1090681c_image.png\" alt=\"image.png\" /></p>\n<ol start=\"2\">\n<li>填入域名,创建区域性域名以及选择刚才创建的 ACM 证书,然后点击创建域名:</li>\n</ol>\n<p><img src=\"https://dev-media.amazoncloud.cn/60b4eb813aef47069e2aeb73866d135a_image.png\" alt=\"image.png\" /></p>\n<ol start=\"3\">\n<li>创建完成后,点击 API 映射,点击 配置 API 映射:</li>\n</ol>\n<p><img src=\"https://dev-media.amazoncloud.cn/3b84821d01e04997a6e7add497d8885b_image.png\" alt=\"image.png\" /></p>\n<ol start=\"4\">\n<li>点击 添加新映射,API 选择之前部署的 API Gateway,选择阶段、路径,这里的阶段要选择$default,路径可以选择不填入,最后点击保存,映射配置完成:</li>\n</ol>\n<p><img src=\"https://dev-media.amazoncloud.cn/da17d013aa9f48f5bcb6e5551dcd8e0e_image.png\" alt=\"image.png\" /></p>\n<ol start=\"5\">\n<li>观察域名详细信息,记录下 <strong>API Gateway</strong> 域名,这里的域名还需要我们下一步去填入,可以提前复制在一边,需要时再使用,不然还需要回到上一步:</li>\n</ol>\n<p><img src=\"https://dev-media.amazoncloud.cn/da47fa37ffae4caeb78e9ade6a1a204a_image.png\" alt=\"image.png\" /></p>\n<ol start=\"6\">\n<li>添加 DNS 记录,将自定义域名解析到刚才记录的 API Gateway 域名:<br />\n首先点击添加<strong>新的映射</strong>,然后把我们的新的映射放到 API 框中,接着将阶段选择框中的选项进行选择 <strong>$default</strong> ,然后路径的话我们可以自己选择,<strong>也可以选择不填</strong>,最后只需要保存即可!</li>\n</ol>\n<p><img src=\"https://dev-media.amazoncloud.cn/e7426f0cfabe41648af8afe36b15af0a_image.png\" alt=\"image.png\" /></p>\n<p>至此,您就可以在域名解析生效后,使用自定义域名访问 <strong>API Gateway</strong>了。</p>\n<h3><a id=\"7_160\"></a><strong>7.实战总结</strong></h3>\n<p>本篇文章Dream向大家介绍了 ACM 证书的申请方法,以及我们如何在 ALB 上启用 HTTPS 并配置 ACM 公有证书,和在 CloudFront 上启用 HTTPS 并配置 ACM 公有证书,以及在 Amazon API Gateway 上启用 HTTPS 并配置 ACM 公有证书。希望大家可以从中收获到一些经验以及亲手部署的成就感和满足感~<br />\n如果你顺利的完成了以上操作,相信你对 ACM 证书的相关知识和申请方法以及各种配置过程已经了如指掌啦!也快快去给身边需要申请ACM证书的小伙伴去露一手吧~如果还有任何问题的话,欢迎在评论区或者私信告诉我吧!<br />\n🌲🌲🌲 最后,作者很感谢能够阅读到这里的读者。如果看完觉得好的话,还请轻轻点一下赞或者分享给更多的人,你们的鼓励就是作者继续行文的动力。<br />\n❤️❤️❤️如果你喜欢的话,就不要吝惜你的一键三连了,我们下期再见~</p>\n"}
0
目录
关闭
contact-us