微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何清理由 CloudFormation 堆栈创建的 ACM PCA 证书

如何解决如何清理由 CloudFormation 堆栈创建的 ACM PCA 证书

我在一个帐户中有一个私有 CA,该 CA 与许多其他帐户共享。 在这些帐户中,我通过 CloudFormation(嗯,实际上是 CDK)创建证书以附加到负载均衡器。 一般的问题是,每当堆栈被删除时(尤其是在开发环境中),证书在私有 CA 中仍然是“孤立的”,这些证书应该被清除。

经过大量挖掘后,我相信我了解大部分情况,但我想确认一下 - 谁知道呢,毕竟找到一个像样的解决方案: 从 AWS documentation 听起来可以使用 AWS 控制台或“aws acm delete-certificate”CLI 命令删除私有 CA 颁发的证书。但是,每当我尝试这样做时,我都会遇到内部故障,例如...

$ aws acm delete-certificate --certificate-arn arn:aws:acm-pca:eu-west-1:123456789012:certificate-authority/1234567890ab-1234-1234-1234-1234567890ab/certificate/1234567890ab1234123412341234567890ab

An error occurred (InternalFailure) when calling the DeleteCertificate operation (reached max retries: 2): 

通过查看 cloudtrail 日志,我相信会发生什么,当通过 cloudformation 为 AWS 托管资源创建证书时,会向 ACM 颁发“请求证书”,这会触发“颁发证书”和“获取证书”指定 ACM PCA 上的证书。 结果是这样的证书有两个 ARN:ACM 已知的 ARN(格式 arn:aws:acm:eu-west-1:123456789012:certificate/1234567890ab-1234-1234-1234-1234567890ab)正如 ACM PCA 所知(格式:arn:aws:acm-pca:eu-west-1:123456789012:certificate-authority/1234567890ab-1234-1234-1234-1234567890ab/certificate/1826342318230473734ab/certificate/1826345,18263457789345。有两个证书对象。 我相信上述文档允许在 ACM 中删除证书,但不能在 ACM PCA 中删除

这就留下了一个问题:当 ACM PCA 证书被创建它们的 CloudFormation 堆栈抛弃时,是否有适当的方法来清理它们?

我现在能想到的最佳选择是安排一个 lambda 表达式来检查多个具有相同通用名称的证书,如果有的话,撤销最旧的 - 但这不是 100% 防弹...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。