AWS Certificate Manager (ACM) のプライベート証明書を取り消すにはどうすればよいですか?
簡単な説明
AWS コマンドラインインターフェイス (AWS CLI) コマンド revoke-certificate を使用して、ACM プライベート証明書を取り消すことができます。
解決方法
ACM プライベート証明書が IssueCertificate API を使用して作成されたか、または AWS マネジメントコンソールで RequestCertificate API を使用して作成されたかに応じて、以下の手順に従ってください。
注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
IssueCertificate API を使用して作成された ACM プライベート証明書を取り消す
ステップ 1: 証明書のシリアル番号を取得する
次の AWS CLI コマンド get-certificate は、base64 でエンコードされた PEM 形式の証明書を出力し、certificate.pem ファイルに保存します。
注: これらの例の ARN を自分の ARN に置き換えてください。
aws acm-pca get-certificate --certificate-authority-arn
arn:aws:acm-pca:eu-west-1:111111111111:certificate-authority/12345678-1234-1234-1234-123456789012
\ --certificate-arn
arn:aws:acm-pca:eu-west-1:111111111111:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/3d295f5691637e577f3c192acd79d401
\ --query 'Certificate' > certificate.pem --output text
ステップ 2: OpenSSL で証明書をデコードしてシリアル番号を取得する
openssl x509 -in certificate.pem -noout -text
出力例:
Serial Number: 3d:29:5f:56:91:63:7e:57:7f:3c:19:2a:cd:79:d4:01 \
ステップ 3: 証明書を取り消す
以下のような AWS CLI コマンド revoke-certificate を実行します。
注: シリアル番号の例を、ステップ 2 で出力したシリアル番号に置き換えてください。
aws acm-pca revoke-certificate \
--certificate-authority-arn arn:aws:acm-pca:eu-west-1:111111111111:certificate-authority/12345678-1234-1234-1234-123456789012 \
--certificate-serial 3d:29:5f:56:91:63:7e:57:7f:3c:19:2a:cd:79:d4:01 \
--revocation-reason "KEY_COMPROMISE"
証明書を取り消した理由を指定するには、次のいずれかの値を使用します。
- UNSPECIFIED
- KEY_COMPROMISE
- CERTIFICATE_AUTHORITY_COMPROMISE
- AFFILIATION_CHANGED
- SUPERSEDED
- CESSATION_OF_OPERATION
- PRIVILEGE_WITHDRAWN
- A_A_COMPROMISE
注: revoke-certificate コマンドは応答を返しません。
AWS マネジメントコンソールまたは RequestCertificate API を使用して作成された ACM プライベート証明書を取り消す
ステップ 1: 証明書のシリアル番号を取得する
以下のような AWS CLI コマンド describe-certificate を実行します。
aws acm describe-certificate --certificate-arn arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012
出力例:
"Serial" : "3d:29:5f:56:91:63:7e:57:7f:3c:19:2a:cd:79:d4:01"
ステップ 2: 証明書を取り消す
以下のような AWS CLI コマンド revoke-certificate を実行します。
注: シリアル番号の例を、ステップ 1 で出力したシリアル番号に置き換えてください。
aws acm-pca revoke-certificate \
--certificate-authority-arn
arn:aws:acm-pca:eu-west-1:111111111111:certificate-authority/12345678-1234-1234-1234-123456789012
\
--certificate-serial 3d:29:5f:56:91:63:7e:57:7f:3c:19:2a:cd:79:d4:01 \
--revocation-reason "KEY_COMPROMISE"
証明書を取り消した理由を指定するには、次のいずれかの値を使用します。
- A_A_COMPROMISE
- PRIVILEGE_WITHDRAWN
- CESSATION_OF_OPERATION
- SUPERSEDED
- AFFILIATION_CHANGED
- CERTIFICATE_AUTHORITY_COMPROMISE
- KEY_COMPROMISE
- UNSPECIFIED
注: revoke-certificate コマンドは応答を返しません。
ACM プライベート証明書が取り消されたことを確認する
AWS CLI を使用して監査レポートを作成する
CA プライベートキーが使用されるたびに一覧表示する監査レポートを作成するには、AWS CLI コマンド create-certificate-authority-audit-report を実行します。
aws acm-pca create-certificate-authority-audit-report \
--certificate-authority-arn arn:aws:acm-pca:eu-west-1:111111111111:certificate-authority/12345678-1234-1234-1234-123456789012 \
--s3-bucket-name acmcrl2 \
--audit-report-response-format JSON
出力例:
{
"AuditReportId": "10e5767f-6259-4a23-90bb-628f5a5e1fee",
"S3Key": "audit-report/12345678-1234-1234-1234-123456789012/10e5767f-6259-4a23-90bb-628f5a5e1fee.json"
}
Amazon Simple Storage Service (Amazon S3) のキー ID を書き留めます。
AWS CLI コマンド get-object を使用して Amazon S3 オブジェクトを取得します。
aws s3api get-object --bucket acmcrl2 --key
audit-report/12345678-1234-1234-1234-123456789012/10e5767f-6259-4a23-90bb-628f5a5e1fee.json
revoked.txt
出力例:
"revokedAt": "2021-01-30T15:24:55+0000"
revokedAt 値のタイムスタンプを書き留めます。revokedAt 値は、証明書ステータスが REVOKED の場合にのみ存在します。
AWS マネジメントコンソールを使用して監査レポートを作成する
指示に従って、AWS マネジメントコンソールを使用して監査レポートを作成します。
詳細については、「Revoking a private certificate (プライベート証明書の取り消し)」を参照してください。
関連情報
ACM Private CA best practices (ACM プライベート CA のベストプラクティス)