AWS CloudFormation:编写 Lambda 函数来验证 ACM 证书的域所有权



我正在CloudFormation中创建ACM Cert。 根据此文档,AWS 会向在 WHOIS 中注册的地址发送电子邮件。

CloudFormation 的文档说:

重要

当您使用 AWS::证书管理器::证书时 资源在 AWS CloudFormation 堆栈中,该堆栈将保留在 CREATE_IN_PROGRESS状态和任何进一步的堆栈操作将是 延迟,直到您按照证书中的说明进行操作 验证电子邮件。

通常对于类似的事情,例如创建和接受VPC peering connection in multiple accounts,或启用在 CFN 中创建的SNS Topic subscriptions,我编写一个 lambda 函数作为自定义资源来处理这个问题。

验证域所有权所需的 API 调用是什么? 这甚至可以在 Lambda 函数中完成吗?

电子邮件很可能会发送给IT经理,但将其自动化会很好。

没有 API 调用来验证域所有权,因为这需要在您的 whois 记录中使用电子邮件进行验证。

您也可以通过这种方式自动化它。将 whois 记录的技术联系电子邮件地址更改为 ses 域电子邮件地址。

SES 电子邮件 -->

S3 存储桶(触发器)--> Lambda(使用电子邮件内容中的链接进行确认)。

您需要将您的电子邮件地址恢复到收件箱,以防需要向与您的域或子域相关的技术联系人发送任何电子邮件。

有关域验证的文档:

http://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate.html

感谢!

此存储库 aws-cfn-acm 包含一个 CloudFormation 模板,其中包含一个 Lambda 函数,该函数的工作方式与您的要求类似。

Lambda 函数通过 DNS 方法(而不是您正在使用的EMAIL方法)自动执行证书验证。它要求与证书相关的域名必须托管在name.com 中。name.com 提供了 Lambda 函数可以利用的 API 服务。它应该易于扩展以支持其他 DNS 服务提供商。

该模板使用的是内联 Lambda 函数,代码不容易阅读,这是 Lambda 函数的格式良好的版本。

最新更新