AWS ACM Certificate Management Удалить используемый сертификат

Я хочу удалить используемый сертификат AWS в моем диспетчере сертификатов AWS. Для этого я использую предлагаемый интерфейс командной строки AWS со следующей командой:

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

Проблема в том, что рассматриваемый сертификат, который я пытаюсь удалить, не имеет «имени», и нет другого флага, который я мог бы использовать для его удаления, например, с использованием его идентификатора.

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

Можно ли как-нибудь удалить этот сертификат?


person djdavies7    schedule 03.04.2017    source источник
comment
Проверка работоспособности: можете ли вы aws iam list-server-certificates подтвердить, что этот сертификат не имеет значения для ServerCertificateName?   -  person Anthony Neace    schedule 03.04.2017
comment
Я только что отредактировал свой пост, чтобы включить это :-) Подтверждение: в консоли управления у меня действительно есть указанный сертификат, но его нет в выводе этой команды.   -  person djdavies7    schedule 03.04.2017
comment
Интересный. Можете ли вы подтвердить, является ли это сертификатом в IAM или в ACM? Если это в ACM, это неправильный набор команд. Вы можете попробовать aws acm list-certificates и посмотреть, присутствует ли он там?   -  person Anthony Neace    schedule 03.04.2017
comment
Я могу подтвердить, что это ACM. Запуск aws acm list-Certificates возвращает ответ JSON, включая значения CertificateArn и DomainName (ничего больше).   -  person djdavies7    schedule 03.04.2017


Ответы (1)


Команда delete-server-certificate предназначена для другого набора сертификатов - IAM Server Сертификаты - предшествующие ACM. Так что это неправильная команда для сертификатов ACM.

Вместо этого используйте aws acm delete-certificate после отсоединения сертификата от любых связанных ресурсов (таких как ALB или ELB).

Пример: Найдите ELB, связанные с вашим сертификатом ACM

Сертификаты ACM могут быть связаны только с балансировщиками нагрузки приложений, эластичными балансировщиками нагрузки или распределениями CloudFront. Вы можете использовать интерфейс командной строки AWS для вывода списка своих ресурсов и поиска результатов для вашего ACM Cert arn.

Поскольку вы упомянули, что это было использование ELB, мы можем выполнить рабочий процесс для поиска и удаления сертификата на ELB. В этом примере перечислены все ваши балансировщики нагрузки и найдены те, которые содержат прослушиватель, который использует ваш сертификат arn:

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

Пример: удалить сертификат из ELB

Как только вы найдете связанный ресурс, просто замените / отсоедините сертификат или просто удалите ресурс, если вы закончили с ним. Самый простой способ отсоединить сертификат от 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

Дальнейшее чтение

person Anthony Neace    schedule 03.04.2017
comment
Я пробовал это, и для флага я использовал aws acm delete-certificate --certificate-arn <value>, который сообщает мне, что сертификат используется (и не удаляет его). - person djdavies7; 03.04.2017
comment
@ djdavies7 Отключите его от всех ресурсов (ELB / ALB / и т. д.), которые его используют первыми, и повторите попытку. - person Anthony Neace; 03.04.2017
comment
Извините, я обновил его из-за неправильного использования IAM / ACM. Я предлагаю вам префикс команды удаления с aws acm list-certificates, чтобы получить ARN от ACM. - person djdavies7; 03.04.2017
comment
@ djdavies7 Обновленный ответ. - person Anthony Neace; 03.04.2017
comment
это отстранение ассоциации, с которой я борюсь. Не могли бы вы указать мне правильное направление? - person djdavies7; 03.04.2017
comment
@ djdavies7 Я не слежу - вы говорите, что не знаете, к каким ресурсам вы прикрепили свой собственный сертификат? Если это так, то здесь возникает немного другой вопрос, но вы обычно хотите указать свой ELB / ALB / Cloudfront, чтобы найти свой сертификат и отсоединиться от него. Не делайте этого с тем, что все еще используется, сначала убедитесь, что все списано с вашей стороны. Как это сделать, зависит от того, к какому типу ресурса он привязан. - person Anthony Neace; 03.04.2017
comment
Я не совсем уверен, к какому ресурсу (экземпляру ELB / EC2) он прикреплен как 1. Я его не создавал и 2. сертификат в ACM показывает ARN как связанный ресурс, но мой экземпляр ELB не показывает ARN вообще для меня, чтобы ссылаться на них). Основная проблема, с которой я столкнулся, заключается в том, как удалить связанный сертификат из ресурса моего экземпляра? В документации по удалению сертификата ACM говорится, что для удаления используемого сертификата необходимо сначала удалить ассоциацию сертификата. Хорошо, как мне удалить ассоциацию сертификата? - person djdavies7; 03.04.2017
comment
@ djdavies7 Попался. Сертификат ACM может быть прикреплен только к распределителю Load Balancer (ELB / ALB) или Cloudfront, что немного упрощает его, ограничивая то, что вам нужно для поиска. Я могу указать вам в правильном направлении, обновлю ответ через мгновение. - person Anthony Neace; 03.04.2017
comment
@ djdavies7 Я добавил примеры того, как это сделать с помощью ELB. - person Anthony Neace; 03.04.2017