認証方法の概要¶
デフォルトのインストールでは、Kafka に認証は設定されません。Confluent Platform では、Kafka ブローカー用に以下の認証メカニズムとプロトコルがサポートされています。
SASL¶
SASL(Simple Authentication Security Layer)は、アプリケーションや共有ライブラリの開発者に認証、データ整合性チェック、暗号化のメカニズムを提供するフレームワークです。
-
Kafka では、JAAS(Java Authentication and Authorization Service)を SASL の構成に使用します。JAAS の構成をすべての SASL 認証メカニズムに対して指定する必要があります。このトピックでは、SASL 用に JAAS を構成する方法について説明します。
-
SASL/GSSAPI で、Kerberos または Active Directory サーバーを認証に使用します。
-
本稼働環境でない Kafka インストールに限定した使用に適しています。SASL/OAUTHBEARER により、SASL コンテキストで OAuth 2 認証フレームワークを使用して、認証用の保護されていない JSON ウェブトークンを作成および検証できます。
-
SASL/PLAIN は、ユーザー名とパスワードを使用するシンプルな認証です。
-
SASL/SCRAM では、ZooKeeper に保存されたユーザー名とパスワードを使用します。認証情報はインストール中に作成されます。
-
既存の SASL/SSL 方式を補完する、軽量な認証メカニズムを使用した委任トークンに基づいて、認証を実行します。委任トークンは Kafka ブローカーとクライアント間で共有するシークレットです。
-
SASL/PLAIN を使用するすべての Kafka クラスターを対象に、LDAP(または AD)を使用してクライアント認証を実行します。
mTLS¶
mTLS(相互 TLS)認証("双方向認証" とも呼ばれる)では、Kafka クライアントとサーバーの両方が TLS 証明書を使用して互いの ID を検証し、双方向でトラフィックの安全性と信頼性を確保します。