第24章 KafkaAuthorizationCustom スキーマリファレンス
KafkaClusterSpec
で使用
KafkaAuthorizationCustom
スキーマプロパティーの全リスト
カスタム認証を使用し、アクセス制御リスト (ACL) を定義するように Kafka
カスタムリソースを設定します。
ACL を使用すると、ユーザーがアクセスできるリソースを細かく定義できます。カスタム ACL をサポートするための org.apache.kafka.server.authorizer.Authorizer
インターフェイスを実装するオーソライザークラスを指定するように Kafka
カスタムリソースを設定します。authorization
セクションの type
プロパティーを値 custom
に設定し、スーパーユーザーのリストを設定します。スーパーユーザーは、ACL ルールをクエリーしなくても常に許可されます。Kafka.spec.kafka.config
を使用してカスタムオーソライザーを初期化するための設定をさらに追加します。
custom
認可設定の例
Kafka.spec.kafka
の config
プロパティーにある super.user
設定オプションは無視されます。この代わりに、authorization
プロパティーでスーパーユーザーを指定します。
24.1. コンテナーイメージへのカスタムオーソライザー JAR ファイルの追加 リンクのコピーリンクがクリップボードにコピーされました!
Kafka
カスタムリソース設定に加えて、カスタムオーソライザークラスとその依存関係を含む JAR ファイルが、Kafka ブローカーのクラスパスで使用可能である必要があります。
このファイルは、ソースコードから Streams for Apache Kafka をビルドすることで追加できます。Streams for Apache Kafka のビルドプロセスは、docker-images/artifacts/kafka-thirdparty-libs
ディレクトリー配下の pom.xml
ファイルに依存関係としてカスタムのサードパーティーライブラリーを追加することで、生成された Kafka ブローカーコンテナーイメージにカスタムのサードパーティーライブラリーを追加するメカニズムを備えています。ディレクトリーには、Kafka のバージョンごとに異なるフォルダーが含まれています。適切なフォルダーを選択します。pom.xml
ファイルを変更する前に、サードパーティーライブラリーが Maven リポジトリーで使用可能である必要があります。また、その Maven リポジトリーが、Streams for Apache Kafka のビルドプロセスからアクセス可能である必要があります。
あるいは、既存の Streams for Apache Kafka コンテナーイメージに JAR を追加することもできます。
FROM registry.redhat.io/amq-streams/kafka-38-rhel9:2.8.0 USER root:root COPY ./my-authorizer/ /opt/kafka/libs/ USER 1001
FROM registry.redhat.io/amq-streams/kafka-38-rhel9:2.8.0
USER root:root
COPY ./my-authorizer/ /opt/kafka/libs/
USER 1001