[アップデート] AWS Certificate Manager で証明書をドメイン名やステータスなどで検索できるようになりました
いわさです。
ACM で発行した証明書や外部からインポートした証明書は ACM コンソールや ListCertificates API で一覧表示することが出来ます。[1]
ただし、従来の ListCertificates API ではステータスやキータイプなど限定的なフィルタリングしかサポートされておらず、ドメイン名や有効期限で証明書を絞り込むことが出来ませんでした。証明書を多数管理しているアカウントでは、特定のドメインの証明書を探したり、期限切れが近い証明書を特定したりする際に不便な状態でした。
今回のアップデートで、ACM に新しい SearchCertificates API とコンソールの検索バーが追加され、ドメイン名、証明書 ARN、有効期限、ステータスなど様々なパラメータで証明書を検索出来るようになりました。
AND、OR、NOT の論理演算子を使った複合フィルターもサポートされているようです。
This operation provides more flexible filtering than ListCertificates by supporting complex filter statements.
今回こちらを確認してみたので紹介します。
実際に確認してみる
では早速 ACM コンソールから検索機能を確認してみましょう。
事前にいくつか証明書を用意しています。発行済みのものや期限切れのもの、使用中のものなど様々なステータスの証明書が8件あります。

ACM コンソールの証明書一覧画面に「証明書を検索」というプロパティフィルターバーが追加されています。
検索バーをクリックすると、フィルタリングに使えるプロパティの一覧がドロップダウンで表示されます。

使用できるプロパティはドキュメントでは以下のように説明されています。
You can filter certificates using the following categories:
- Certificate ARN – Filter by the Amazon Resource Name of the certificate.
- X.509 attributes – Filter by subject common name, subject alternative name, extended key usage, key usage, key algorithm, serial number, expiration date range (NotAfter), or validity start date range (NotBefore).
- ACM metadata – Filter by status, type, in-use, exported, export option, managed-by, validation method, renewal status, or renewal eligibility.
複数条件で絞り込んでみる
では実際にフィルターを使ってみます。「使用中ですか? = false」および「ステータス = ISSUED」の AND 条件で絞り込んでみました。

8件あった証明書が2件に絞り込まれました。フィルター条件はタグのように表示され、「および」で結合されていることが確認できます。「すべてのフィルターを削除」ボタンでフィルターをリセットすることも出来ます。
AWS CLI で search-certificates を使ってみる
AWS CLI からも search-certificates コマンドで検索出来ます。コンソールと同様に「ISSUED ステータスかつ未使用」の複合フィルターで検索してみます。
$ aws acm search-certificates \
--filter-statement '{
"And": [
{"Filter": {"AcmCertificateMetadataFilter": {"Status": "ISSUED"}}},
{"Filter": {"AcmCertificateMetadataFilter": {"InUse": false}}}
]
}' \
--max-results 10 \
--region ap-northeast-1
{
"Results": [
{
"CertificateArn": "arn:aws:acm:ap-northeast-1:123456789012:certificate/1f81fd34-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"X509Attributes": {
"Issuer": {
"CommonName": "Amazon RSA 2048 M02",
"Country": "US",
"Organization": "Amazon"
},
"Subject": {
"CommonName": "export.example.com"
},
"SubjectAlternativeNames": [
{
"DnsName": "export.example.com"
}
],
"ExtendedKeyUsages": [
"TLS_WEB_SERVER_AUTHENTICATION"
],
"KeyAlgorithm": "RSA_2048",
"KeyUsages": [
"DIGITAL_SIGNATURE",
"KEY_ENCIPHERMENT"
],
"SerialNumber": "0b:99:0a:9c:f1:cf:ed:69:dc:f2:bd:de:3f:49:00:a8",
"NotAfter": "2026-07-29T08:59:59+09:00",
"NotBefore": "2025-06-29T09:00:00+09:00"
},
"CertificateMetadata": {
"AcmCertificateMetadata": {
"CreatedAt": "2025-06-30T06:04:25.633000+09:00",
"Exported": true,
"InUse": false,
"IssuedAt": "2025-06-30T06:13:14.180000+09:00",
"RenewalEligibility": "ELIGIBLE",
"Status": "ISSUED",
"Type": "AMAZON_ISSUED",
"ExportOption": "ENABLED",
"ValidationMethod": "DNS"
}
}
},
...
]
}
コンソールと同じ2件が返ってきました。レスポンスには CertificateArn に加えて X509Attributes(発行者、サブジェクト、キーアルゴリズム、有効期限など)や CertificateMetadata(ステータス、タイプ、使用状況、エクスポート状況など)が含まれており、従来の ListCertificates よりも詳細な情報が返ってきます。
なお、ソート機能もサポートされているようです。--sort-by と --sort-order パラメータで結果の並び順を制御出来るみたいですね。
Specifies the field to sort results by. Valid values are CREATED_AT, NOT_AFTER, STATUS, RENEWAL_STATUS, EXPORTED, IN_USE, NOT_BEFORE, KEY_ALGORITHM, TYPE, CERTIFICATE_ARN, COMMON_NAME, REVOKED_AT, RENEWAL_ELIGIBILITY, ISSUED_AT, MANAGED_BY, EXPORT_OPTION, VALIDATION_METHOD, and IMPORTED_AT.
さいごに
本日は AWS Certificate Manager に証明書の検索機能(SearchCertificates API)が追加されたので確認してみました。
地味なアップデートではありますが、今回の検証環境のように証明書が数件程度であれば目視で十分なものの、大量の証明書を管理している環境では重宝しそうです。
発行済みだけど使われていない証明書の棚卸しや、期限切れが近い証明書の特定など、コンソール上でサクッと出来るようになったのはちょっと便利ですね。AND/OR/NOT の論理演算子による複合フィルターもサポートされているので、複雑な条件での絞り込みにも対応出来ます。







