AWS ACM 证书管理删除正在使用的证书

AWS ACM Certificate Management Delete Certificate In Use

我想删除我的 AWS Certificate Manager 中正在使用的 AWS 证书。为此,我使用建议的 AWS CLI 和以下命令:

aws iam delete-server-certificate --server-certificate-name <name>

问题是,我尝试删除的有问题的证书没有 'name',并且没有其他标志可用于删除它,例如使用其 ID。

jake@serenity ~ $ aws iam   list-server-certificates
{
    "ServerCertificateMetadataList": []
}

我可以删除这个证书吗?

命令 delete-server-certificate 适用于一组不同的证书 -- IAM Server Certificates -- 早于 ACM。所以这是 ACM 证书的错误命令。

在从任何关联资源(例如 ALB 或 ELB)分离证书后,改用 aws acm delete-certificate

示例:查找与您的 ACM 证书关联的 ELB

ACM 证书只能与 Application Load Balancer、Elastic Load Balancer 或 CloudFront 分配相关联。您可以使用 AWS CLI 列出您的资源并搜索 ACM 证书的结果。

既然你提到这是使用 ELB,那么我们可以完成在 ELB 上查找和删除证书的工作流程。此示例列出了您所有的负载均衡器,并找到包含正在使用您的证书的侦听器的负载均衡器 arn:

aws elb describe-load-balancers --query "LoadBalancerDescriptions[? ListenerDescriptions [? Listener.SSLCertificateId =='ACMArnHere' ]]"

示例:从 ELB 中删除证书

找到关联资源后,只需 replace/detach 证书,或者在完成后删除资源。从 ELB 分离证书的最简单方法是删除关联的侦听器,稍后使用新的或不同的证书重新创建它。

这是一个示例,其中指定负载均衡器上的 HTTPS 侦听器将被删除:

aws elb delete-load-balancer-listeners --load-balancer-name my-load-balancer --load-balancer-ports 443

示例:列出 ACM 证书并按 ARN 删除证书

aws acm list-certificates                             # List certificates to get ARN

aws acm delete-certificate --certificate-arn <value>  # Delete certificate with ARN

进一步阅读