Admin REST APIs の構成オプション

Confluent Server の Admin REST APIs では、Java クライアントを使用して内部的に Confluent Server と通信します。これは Confluent REST Proxy と同じ動作です。ここで説明した設定に加えて、プレフィックス kafka.rest.client. または kafka.rest.admin. を使用して、Java クライアントが使用するデフォルト設定をオーバーライドできます。

confluent.http.server. で始まるすべての設定の前には、代わりに confluent.metadata.server. を付けることができます。たとえば、confluent.http.server.ssl.keystore.type=JKS または confluent.metadata.server.ssl.keystore.type=JKS のいずれを設定しても同じ効果が得られます。唯一の例外は、confluent.http.server.listeners (組み込み HTTP サーバーを有効にし、MDS はスキップする)と confluent.metadata.server.listeners (MDS を有効にする)です。

全般

confluent.http.server.listeners

HTTP または HTTPS で API リクエストをリッスンするリスナーのコンマ区切りリスト。リスナーが HTTPS を使用する場合は、適切な SSL 構成パラメーターも設定する必要があります。confluent.http.server.listeners の代わりに confluent.metadata.server.listeners を使用すると、同じリスナーで メタデータサービス も有効になります。

  • 型: list
  • デフォルト : http://0.0.0.0:8090
  • 重要度: 高
confluent.http.server.shutdown.graceful.ms

シャットダウンのリクエスト後、未処理のリクエストの完了を待機する時間。

  • 型: int
  • デフォルト: 1000
  • 重要度: 低
kafka.rest.bootstrap.servers

接続先となる Kafka ブローカーのリストたとえば、PLAINTEXT://hostname:9092,SSL://hostname2:9092 のように設定します。この設定のデフォルトは、REST Proxy が実行されているブローカーのブローカー間リスナーです。セキュリティ上の理由などから、REST Proxy を別のリスナーを介して Kafka と通信させたい場合にはこの設定を変更できます。

  • 型: list
  • デフォルト : ブローカー間リスナー。例: PLAINTEXT://localhost:9091
  • 重要度: 中
kafka.rest.access.control.allow.methods

Jetty の Access-Control-Allow-Origin ヘッダーに、特定のメソッドの値を設定します。

  • 型: string
  • デフォルト: ""
  • 重要度: 低
kafka.rest.access.control.allow.origin

Jetty の Access-Control-Allow-Origin ヘッダーの値を設定します。

  • 型: string
  • デフォルト: ""
  • 重要度: 低
kafka.rest.debug

一部のエラー応答エンティティで、追加のデバッグ情報を生成するかどうかを示します。

  • 型: boolean
  • デフォルト: false
  • 重要度: 低
kafka.rest.request.logger.name

NCSA 共通ログフォーマットのリクエストログを書き込む SLF4J ロガーの名前。

  • 型: string
  • デフォルト : io.confluent.rest-utils.request
  • 重要度: 低
kafka.rest.response.mediatype.default

Accept ヘッダーで特定のタイプがリクエストされなかった場合に使用されるデフォルトの応答メディアタイプ。

  • 型: string
  • デフォルト application/json
  • 重要度: 低
kafka.rest.response.mediatype.preferred

サーバーが応答に使用する優先メディアタイプの順序指定済みリスト。優先度の高いものから順に列挙されます。

  • 型: list
  • デフォルト: [application/json, application/vnd.kafka.v2+json]
  • 重要度: 低
kafka.rest.metrics.jmx.prefix

デフォルトの JMX レポーターのメトリック名に適用するプレフィックス。

  • 型: string
  • デフォルト kafka.rest
  • 重要度: 低
kafka.rest.metrics.num.samples

メトリクスの計算用に維持されるサンプルの数。

  • 型: int
  • デフォルト: 2
  • 重要度: 低
kafka.rest.metrics.sample.window.ms

メトリクスシステムは、サンプル数(構成可能)を一定のウィンドウサイズにわたって維持します。そのウィンドウのサイズを制御するのが、この構成です。たとえば、2 つのサンプルを 30 秒間維持してそれぞれ計測することができます。ウィンドウの期限が切れると、最も古いウィンドウが消去されて上書きされます。

  • 型: long
  • デフォルト: 30000
  • 重要度: 低
kafka.rest.kafka.rest.resource.extension.class

RestResourceExtension として使用するクラスのリスト。インターフェイス RestResourceExtension を実装すると、フィルターなどのユーザー定義リソースを Kafka HTTP API に挿入できます。通常は、ログ記録やセキュリティなど、カスタム機能を追加する際に使用されます。

  • 型: list
  • デフォルト: ""
  • 重要度: 低
kafka.rest.advertised.listeners

アドバタイズされるリスナーのリスト。この構成は、V3 応答で絶対 URL を生成するために使用されます。HTTP プロトコルおよび HTTPS プロトコルがサポートされます。各リスナーは、プロトコル、ホスト名、およびポートを含んでいる必要があります。たとえば、http://myhost:8080https://0.0.0.0:8081 のように設定します。

  • 型: list
  • デフォルト: ""
  • 重要度: 低
kafka.rest.confluent.resource.name.authority

名前空間の管理が委任される権限。この値は、CRN の残りの部分によって定義されます。Confluent リソース名を生成するときに使用されます。たとえば、confluent.cloudmds-01.example.com のように設定します。

  • 型: string
  • デフォルト: ""
  • 重要度: 低
kafka.rest.response.http.headers.config

Confluent Platform コンポーネントの HTTP 応答で返す HTTP ヘッダーを選択する目的で使用します。複数の値は、[action][header name]:[header value] 形式のコンマ区切り文字列で指定します。ここで [action] は、setaddsetDateaddDate のいずれかになります。ヘッダーの値にコンマが含まれている場合は、その値を引用符で囲む必要があります。以下に例を示します。

kafka.rest.response.http.headers.config="add Cache-Control: no-cache, no-store, must-revalidate", add X-XSS-Protection: 1; mode=block, add Strict-Transport-Security: max-age=31536000; includeSubDomains, add X-Content-Type-Options: nosniff
  • 型: string
  • デフォルト: ""
  • 重要度: 低

HTTPS の構成オプション

confluent.http.server.ssl.keystore.location

HTTPS に使用されます。SSL に使用するキーストアファイルの場所です。

重要

HTTPS では、証明書の CN または SAN フィールドのいずれかにサーバーの FQDN を指定する必要があります。

  • 型: string
  • デフォルト: ""
  • 重要度: 高
confluent.http.server.ssl.keystore.password

HTTPS に使用されます。キーストアのストアパスワードです。

  • 型: password
  • デフォルト: ""
  • 重要度: 高
confluent.http.server.ssl.key.password

HTTPS に使用されます。キーストアファイル内のプライベートキーのパスワード。

  • 型: password
  • デフォルト: ""
  • 重要度: 高
confluent.http.server.ssl.keystore.type

HTTPS に使用されます。キーストアのフォーマットです。

  • 型: string
  • デフォルト: JKS
  • 重要度: 中
confluent.http.server.ssl.protocol

HTTPS に使用されます。SslContextFactory の生成に使用する SSL プロトコルです。

  • 型: string
  • デフォルト: TLS
  • 重要度: 中
confluent.http.server.ssl.provider

HTTPS に使用されます。SSL セキュリティプロバイダーの名前です。Jetty のデフォルトを使用する場合は空白にします。

  • 型: string
  • デフォルト: ""(Jetty のデフォルト)
  • 重要度: 中
confluent.http.server.ssl.enabled.protocols

HTTPS に使用されます。SSL 接続で有効なプロトコルのコンマ区切りリストです。Jetty のデフォルトを使用する場合は空白にします。

  • 型: list
  • デフォルト: ""(Jetty のデフォルト)
  • 重要度: 中
confluent.http.server.ssl.keymanager.algorithm

HTTPS に使用されます。SSL 接続のキーマネージャーファクトリで使用されるアルゴリズムです。Jetty のデフォルトを使用する場合は空白にします。

  • 型: string
  • デフォルト: ""(Jetty のデフォルト)
  • 重要度: 低
confluent.http.server.ssl.trustmanager.algorithm

HTTPS に使用されます。SSL 接続のトラストマネージャーファクトリで使用されるアルゴリズムです。Jetty のデフォルトを使用する場合は空白にします。

  • 型: string
  • デフォルト: ""(Jetty のデフォルト)
  • 重要度: 低
confluent.http.server.ssl.cipher.suites

HTTPS に使用されます。SSL 暗号スイートのコンマ区切りリストです。Jetty のデフォルトを使用する場合は空白にします。

  • 型: list
  • デフォルト: ""(Jetty のデフォルト)
  • 重要度: 低
confluent.http.server.ssl.endpoint.identification.algorithm

HTTPS に使用されます。サーバー証明書を使用してサーバーホスト名を検証するエンドポイント識別アルゴリズムです。Jetty のデフォルトを使用する場合は空白にします。

  • 型: string
  • デフォルト: https
  • 重要度: 低

Admin REST APIs と Kafka ブローカー間の SSL 暗号化の構成オプション

REST Proxy が実行されているブローカーのブローカー間リスナーでセキュリティが有効で、authorizer.class.name が構成されている場合は、Java クライアントが Kafka と安全に通信できるように REST Proxy で Java クライアントを手動で構成する必要があります。

以下の構成には、kafka.rest.client. または kafka.rest.admin. のいずれかを使用できます。

kafka.rest.client.security.protocol

ブローカーとの通信に使用されるプロトコル。指定可能な値は、PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL です。

  • 型: string
  • デフォルト: PLAINTEXT
  • 重要度: 高
kafka.rest.client.ssl.key.password

キーストアファイル内のプライベートキーのパスワード。クライアントでは省略可能です。

  • 型: password
  • デフォルト: null
  • 重要度: 高
kafka.rest.client.ssl.keystore.location

キーストアファイルの場所。クライアントでは省略可能です。クライアントの相互認証に使用できます。

  • 型: string
  • デフォルト: null
  • 重要度: 高
kafka.rest.client.ssl.keystore.password

キーストアファイルのストアパスワード。クライアントでは省略可能です。ssl.keystore.location を構成した場合にのみ必要となります。

  • 型: password
  • デフォルト: null
  • 重要度: 高
kafka.rest.client.ssl.truststore.location

トラストストアファイルの場所。

  • 型: string
  • デフォルト: null
  • 重要度: 高
kafka.rest.client.ssl.truststore.password

トラストストアファイルのパスワード。

  • 型: string
  • デフォルト: null
  • 重要度: 高
kafka.rest.client.ssl.enabled.protocols

SSL 接続で有効なプロトコルのリスト。

  • 型: list
  • デフォルト: TLSv1.2,TLSv1.1,TLSv1
  • 重要度: 中
kafka.rest.client.ssl.keystore.type

キーストアファイルのファイルフォーマット。クライアントでは省略可能です。

  • 型: string
  • デフォルト: JKS
  • 重要度: 中
kafka.rest.client.ssl.protocol

SSLContext の生成に使用する SSL プロトコルです。デフォルト設定は TLS であり、ほとんどのケースに適しています。最新の Java 仮想マシンで使用できる値は、TLS、TLSv1.1、TLSv1.2 です。古い JVM では SSL、SSLv2、および SSLv3 がサポートされている場合もありますが、セキュリティに関する既知の脆弱性があるため、使用しないことをお勧めします。

  • 型: string
  • デフォルト: TLS
  • 重要度: 中
kafka.rest.client.ssl.provider

SSL 接続に使用するセキュリティプロバイダーの名前。デフォルト値は、JVM のデフォルトのセキュリティプロバイダーです。

  • 型: string
  • デフォルト: null
  • 重要度: 中
kafka.rest.client.ssl.truststore.type

トラストストアファイルのファイルフォーマット。

  • 型: string
  • デフォルト: JKS
  • 重要度: 中
kafka.rest.client.ssl.cipher.suites

暗号スイートのリストです。これは、認証、暗号化、MAC、およびキー交換アルゴリズムの名前付き組み合わせで、TLS または SSL ネットワークプロトコルを使用したネットワーク接続のセキュリティ設定をネゴシエートするために使用されます。デフォルトでは、使用可能なすべての暗号スイートがサポートされます。

  • 型: list
  • デフォルト: null
  • 重要度: 低
kafka.rest.client.ssl.endpoint.identification.algorithm

サーバー証明書を使用してサーバーホスト名を検証するエンドポイント識別アルゴリズム。

  • 型: string
  • デフォルト: null
  • 重要度: 低
kafka.rest.client.ssl.keymanager.algorithm

SSL 接続のキーマネージャーファクトリで使用されるアルゴリズム。デフォルト値は、Java 仮想マシンに構成されているキーマネージャーファクトリアルゴリズムです。

  • 型: string
  • デフォルト: SunX509
  • 重要度: 低
kafka.rest.client.ssl.secure.random.implementation

SSL 暗号化操作に使用する SecureRandom PRNG 実装。

  • 型: string
  • デフォルト: null
  • 重要度: 低
kafka.rest.client.ssl.trustmanager.algorithm

SSL 接続のトラストマネージャーファクトリで使用されるアルゴリズム。デフォルト値は、Java 仮想マシン用に構成されているトラストマネージャーファクトリアルゴリズムです。

  • 型: string
  • デフォルト: PKIX
  • 重要度: 低