SSL証明書API

certificates APIは、Elasticsearchクラスター内の通信を暗号化するために使用されるX.509証明書に関する情報を取得することを可能にします。

リクエスト

GET /_ssl/certificates

前提条件

  • セキュリティ機能が有効になっている場合、このAPIを使用するにはmonitorクラスター権限が必要です。詳細については、セキュリティ権限を参照してください。

説明

証明書がトランスポート層セキュリティ(TLS)とどのように構成されているかについての詳細は、TLSを使用したノード間通信の暗号化を参照してください。

APIは、次のすべてのTLSコンテキストからの証明書を含むリストを返します:

  • トランスポートおよびHTTPインターフェースの設定
  • 認証領域内で使用されるTLS設定
  • リモートモニタリングエクスポータのTLS設定

リストには、xpack.security.transport.ssl.truststoreおよびxpack.security.transport.ssl.certificate_authorities設定で構成された信頼の設定に使用される証明書が含まれています。また、xpack.security.http.ssl.keystoreおよびxpack.security.http.ssl.certificate設定のように、サーバーのアイデンティティを構成するために使用される証明書も含まれています。

リストには、Elasticsearch内で使用されている場合でも、Java Runtime Environment(JRE)のデフォルトSSLコンテキストから取得された証明書は含まれません。

PKCS#11トークンがJREのトラストストアとして構成されている場合、APIは、これらがElasticsearchのTLS構成で使用されているかどうかに関係なく、PKCS#11トークンに含まれるすべての証明書を返します。

Elasticsearchがキーストアまたはトラストストアを使用するように構成されている場合、APIの出力には、そのストア内のすべての証明書が含まれますが、一部の証明書はクラスター内でアクティブに使用されていない可能性があります。

レスポンスボディ

レスポンスはオブジェクトの配列であり、各オブジェクトは単一の証明書を表します。各オブジェクトのフィールドは次のとおりです:

  • path
  • (文字列) elasticsearch.ymlファイルに構成された証明書へのパス。
  • format
  • (文字列) ファイルの形式。次のいずれか:jksPKCS12PEM
  • alias
  • (文字列) パスがコンテナファイル(jksキーストアまたはPKCS#12ファイル)を指す場合、証明書のエイリアス。それ以外の場合はnull。
  • subject_dn
  • (文字列) 証明書のサブジェクトの識別名。
  • serial_number
  • (文字列) 証明書のシリアル番号の16進数表現。
  • has_private_key
  • (Boolean) Elasticsearchがこの証明書の秘密鍵にアクセスできるかどうかを示します。
  • expiry
  • (文字列) 証明書の有効期限(not-after)の日付のISO形式。
  • issuer
  • (文字列) 証明書の発行者の識別名。

以下の例は、Elasticsearchの単一ノード上の証明書に関する情報を提供します:

Python

  1. resp = client.ssl.certificates()
  2. print(resp)

Js

  1. const response = await client.ssl.certificates();
  2. console.log(response);

コンソール

  1. GET /_ssl/certificates

APIは次の結果を返します:

Js

  1. [
  2. {
  3. "path": "certs/elastic-certificates.p12",
  4. "format": "PKCS12",
  5. "alias": "instance",
  6. "subject_dn": "CN=Elastic Certificate Tool Autogenerated CA",
  7. "serial_number": "a20f0ee901e8f69dc633ff633e5cd5437cdb4137",
  8. "has_private_key": false,
  9. "expiry": "2021-01-15T20:42:49.000Z"
  10. },
  11. {
  12. "path": "certs/elastic-certificates.p12",
  13. "format": "PKCS12",
  14. "alias": "ca",
  15. "subject_dn": "CN=Elastic Certificate Tool Autogenerated CA",
  16. "serial_number": "a20f0ee901e8f69dc633ff633e5cd5437cdb4137",
  17. "has_private_key": false,
  18. "expiry": "2021-01-15T20:42:49.000Z"
  19. },
  20. {
  21. "path": "certs/elastic-certificates.p12",
  22. "format": "PKCS12",
  23. "alias": "instance",
  24. "subject_dn": "CN=instance",
  25. "serial_number": "fc1905e1494dc5230218d079c47a617088f84ce0",
  26. "has_private_key": true,
  27. "expiry": "2021-01-15T20:44:32.000Z"
  28. }
  29. ]