証明書の並べ替えとフィルタリングを行う

このページでは、Certificate Authority Service の ListCertificates API 呼び出しによって返される証明書の並べ替えとフィルタリングの方法について説明します。

並べ替えのサポート

デフォルトでは、ListCertificates API 呼び出しは create_time フィールドで並べ替えられた証明書を返し、最新の証明書が最初に表示されます。他の並べ替え順序は指定できません。

フィルタリングのサポート

次のフィールドは、ListCertificates API 呼び出しによって返された証明書をフィルタリングするために使用できます。

フィールド名 フィールド タイプ サポートされている演算子
create_time timestamp <, >, <=, >=, =, !=
update_time timestamp <, >, <=, >=, =, !=
certificate_description.subject_description.not_after_time timestamp <, >, <=, >=, =, !=
certificate_description.subject_description.not_before_time timestamp <, >, <=, >=, =, !=
certificate_description.cert_fingerprint.sha256_hash 文字列 =, !=
certificate_description.subject_description.hex_serial_number 文字列 =, !=
certificate_description.subject_description.subject.common_name 文字列 =, !=
certificate_description.subject_description.subject.country_code 文字列 =, !=
certificate_description.subject_description.subject.organization 文字列 =, !=
certificate_description.subject_description.subject.organizational_unit 文字列 =, !=
certificate_description.subject_description.subject.locality 文字列 =, !=
certificate_description.subject_description.subject.province 文字列 =, !=
certificate_description.subject_description.subject.street_address 文字列 =, !=
certificate_description.subject_description.subject.postal_code 文字列 =, !=
certificate_description.subject_description.subject_alt_name.dns_names 文字列 :(HAS 演算子)
certificate_description.x509_description.key_usage.extended_key_usage.client_auth bool =, !=
certificate_description.x509_description.key_usage.extended_key_usage.server_auth bool =, !=
labels 地図 :(HAS 演算子)
certificate_template 文字列 =, !=

(https://google.aip.dev/160#has-operator)

: certificate_description.x509_description.key_usage.extended_key_usage.client_authcertificate_description.x509_description.key_usage.extended_key_usage.server_auth は、それぞれの Extended Key Usages が存在するかどうかを示すブール値です。

フィルタリング構文

フィルタリング構文は、AIP 160 で設定された API フィルタリング ガイダンスに従いますが、次の制限があります。

  • 最上位の AND 演算子のみがサポートされています。その他はすべてサポートされません(たとえば、ORNOT、ネストされた演算子、またはこれらの演算子の任意の組み合わせ)。

    • 有効: フィルタは最上位の AND 演算子のみを使用します。

      create_time>"2020-08-21T11:30:00.11-05:00" AND certificate_description.x509_description.key_usage.extended_key_usage.server_auth=true
      
    • 無効: フィルタは OR 演算子を使用します。

       create_time>"2020-08-21T11:30:00.11-05:00" OR certificate_description.x509_description.key_usage.extended_key_usage.server_auth=true
      
    • 無効: フィルタはネストされた演算子を使用します。

       (create_time>"2020-08-21T11:30:00.11-05:00" AND certificate_description.x509_description.key_usage.extended_key_usage.server_auth=true) AND certificate_description.subject_description.subject.common_name="foo.com"
      
  • DNS ラベルのサフィックス マッチングをサポートする certificate_description.subject_description.subject_alt_name.dns_names フィールドを除き、ワイルドカード マッチング(* を使用)はサポートされていません。

    • 有効: フィルタはワイルドカードの接尾辞の一致を比較します。

      certificate_description.subject_description.subject_alt_name.dns_names:"*.foo.com"
      
    • 無効: フィルタはワイルドカード接頭辞の一致を比較します。

      certificate_description.subject_description.subject_alt_name.dns_names:"foo.*"
      
    • 無効: フィルタはサポートされていないフィールドのワイルドカードを比較します。

      "certificate_description.subject_description.hex_serial_number"="*3d3"
      

次のステップ