Metadata Service の構成オプション

The broker configuration in the server.properties file must set authorizer.class.name to io.confluent.kafka.security.authorizer.ConfluentServerAuthorizer to enable the Metadata Service (also known as the Confluent Server Authorizer).

(既に有効になっている)ACL を保持して RBAC を有効にするには、confluent.authorizer.access.rule.providers=ZK_ACL,CONFLUENT を設定します。

RBAC を構成する方法の詳細については、「実行中のクラスターでの RBAC の有効化」を参照してください。

RBAC は、以下に示されている Metadata Service (MDS) バックエンドの Kafka 構成をサポートします。これらは、指定されているプレフィックスを使用してオーバーライドできます。

構成

confluent.metadata.server.listeners

Metadata Service の HTTP または HTTPS サービスをポートにバインドします。

  • 型: int
  • デフォルト: 8090
confluent.metadata.server.advertised.listeners

HTTP または HTTPS サービスのアドバタイズされたホスト名を構成します。

  • 型: string
  • デフォルト: null
confluent.metadata.server.token.max.lifetime.ms

トークンの構成済みの最大存続期間を指定します(単位: ミリ秒)。

  • 型: int
  • デフォルト: 3600000
confluent.metadata.server.token.key.path

トークンの署名と検証に使用される、PEM エンコードされたパブリックキー/プライベートキーのペアの場所です。トークンサービスでサポートされるのは RS256 署名のみであるため、キーペアは RSA アルゴリズムを使用して生成する必要があります。

  • 型: string
  • デフォルト: null
confluent.metadata.server.token.signature.algorithm

トークンの署名/検証時に使用される、「(Algorithm) Header Parameter Values for JWS」で定義されている署名スキームです。現在は RS256 のみがサポートされています。

  • 型: string
  • デフォルト: RS256

HTTPS の構成

HTTPS 経由の接続が許可されるように MDS を構成するには、次の属性を使用します。

confluent.metadata.server.ssl.keystore.location

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

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

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

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

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

  • 型: password
  • デフォルト: null
  • 重要度: 高
confluent.metadata.server.ssl.truststore.location

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

  • 型: string
  • デフォルト: null
  • 重要度: 高
confluent.metadata.server.ssl.truststore.password

トラストストアファイルのパスワードです。パスワードが設定されていなくてもトラストストアにアクセスできますが、整合性チェックが無効になります。

  • 型: password
  • デフォルト: null
  • 重要度: 高

MDS 用に HTTPS をセットアップするための構成例を次に示します。かっこ(<>)で囲まれた内容は、環境に応じてカスタマイズする必要があります。

authorizer.class.name=io.confluent.kafka.security.authorizer.ConfluentServerAuthorizer
confluent.authorizer.access.rule.providers=ZK_ACL,CONFLUENT
confluent.metadata.server.listeners=https://localhost:8090
confluent.metadata.server.advertised.listeners=https://localhost:8090

confluent.metadata.server.ssl.keystore.location=<path-to-keystore>
confluent.metadata.server.ssl.keystore.password=<host-keystore-password>
confluent.metadata.server.ssl.key.password=<host-cert-password>
confluent.metadata.server.ssl.truststore.location=<path-to-truststore>
confluent.metadata.server.ssl.truststore.password=<host-truststore-password>

HTTPS 用に構成された MDS にログインすると、Confluent CLI を含むほとんどのクライアントでは、システムのトラストストアから信頼済証明書が自動的に取得されます。Confluent CLI を使用するときに、システムのトラストストアに含まれていない自己署名証明書またはカスタム証明書を使用する方法については、Confluent CLI の「confluent login」の --ca-cert-path オプションを参照してください。

REST クライアントの構成

Schema Registry、Connect、ksqlDB などのコンポーネントは、Confluent REST API を使用して MDS のクライアントと対話できます。これらのクライアントの構成は、コンポーネント固有のプロパティファイルで定義されます。たとえば、${CONFLUENT_HOME}/etc/ksqldb/ksql-server.properties${CONFLUENT_HOME}/etc/schema-registry/schema-registry.properties があります。MDS に関する詳細を指定するには、コンポーネントのプロパティファイルで以下のプロパティを構成できます。

confluent.metadata.server.enable.server.urls.refresh

このオプションは、REST クライアント(Schema Registry、Connect、ksqlDB など)が MDS と通信するときにメタデータサーバーの URL が更新されるようにします。MDS で DNS とロードバランサーを使用している場合は false に設定します。このような場合、クライアントで MDS ノードの IP を参照する必要はありません。

  • 型: Boolean
  • デフォルト: true
  • 重要度: 低
confluent.metadata.bootstrap.server.urls

1 つまたは複数のメタデータサーバーに接続できる場所を指定する、有効な URL のコンマ区切りリストです。たとえば、http://localhost:8080,http://localhost:8081 のように指定します。この構成は、MDS 環境で REST クライアントを実行するために必要です。

  • 型: List
  • デフォルト: ""
  • 重要度: 高