Cluster Linking のセキュリティ¶
Looking for Confluent Cloud Cluster Linking docs? You are currently viewing Confluent Platform documentation. If you are looking for Confluent Cloud docs, check out Cluster Linking on Confluent Cloud.
送信元クラスターへの接続に使用されるすべてのセキュリティ構成は、クラスターリンクの作成時にそのクラスターリンクで構成することができます。各リンクは "厳密に 1 つ" のリンク認証情報に関連付けられます。この認証情報は、そのリンクを使用した送信元クラスターへの接続の認証に使用されます。同じクラスターで、さまざまなクラスターリンクが異なるセキュリティ認証情報を使用する場合があります。リンク認証情報には、送信元クラスターでの適切なアクセス許可が付与される必要があります。
認証¶
以下の例に、送信元クラスターと通信するために、クラスターリンク用の SASL メカニズムとして GSSAPI を使用する SASL_SSL の構成方法を示します。これらの構成は、クラスターリンクに対するプロパティの設定方法 のセクションに記載されているように、config-file
を使用して設定できます。
security.protocol=SASL_SSL
ssl.truststore.location=/path/to/truststore.p12
ssl.truststore.password=truststore-password
ssl.truststore.type=PKCS12
sasl.mechanism=GSSAPI
sasl.kerberos.service.name=kafka sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule required \
useKeyTab=true
storeKey=true \
keyTab="/path/to/link.keytab" \
principal="clusterlink1@EXAMPLE.COM";
このシナリオでは、Cluster Linking 構成には、送信元クラスターに接続するためのクライアント側の SSL および SASL/GSSAPI 構成オプションが含まれている必要があります。
SSL キーとトラストストアの作成の詳細については、「TLS での暗号化と認証」を参照してください。SASL/GSSAPI の詳細については、「GSSAPI の構成」を参照してください。セキュリティが有効の場合、重要なリンク構成を暗号化するために password.encoder.secret
を使用してブローカーを構成する必要があります。「パスワード構成の動的なアップデート」も参照してください。
他の SASL メカニズムを使用するようにクラスターリンクを構成するには、そのメカニズム用のクライアント側セキュリティ構成を組み込みます。サポートされている他のメカニズムについては、「JAAS を使用した SASL による認証」を参照してください。セキュリティプロトコルとして SSL を使用する双方向 SSL 認証を使用するには、リンク用のキーストアも構成する必要があります。詳細については、「TLS での暗号化と認証」を参照してください。
注釈
クラスターリンクは、リンクで構成された送信元認証情報を使用して送信元クラスターと通信します。リンクを機能させるには、これらの認証情報が有効である必要があります。
認可(ACL)¶
ACL が有効であるデプロイでは、送信元クラスターと送信先クラスターの両方に別の ACL を追加する必要があります。ACL の作成の詳細については、「ACL を使用した認可」を参照してください。関連する操作、リソース、および API の完全なリストについては、サブトピックの「操作」を参照してください。
注意
これまで Confluent Platform 6.0.0 から 6.2.x で使用できた ACL 移行は、セキュリティ上の脆弱性があるため削除されました。デプロイで ACL 移行(ACL 同期)を使用している場合は、クラスターリンクに対して acl.sync.enable=false
を設定することで無効にしてください。この機能は、セキュリティの問題が解決された今後の Confluent Platform リリースで再導入されます。
ユーザーが発行するクラスターリンクおよびミラーコマンドに対する ACL¶
ユーザーが利用するクラスターリンクまたはミラーコマンドに対しては、以下の送信先クラスター ACL を使用できます。
操作 | リソース | API |
---|---|---|
ALTER | クラスター | CreateClusterLinks |
ALTER | クラスター | DeleteClusterLinks |
ALTERCONFIGS | クラスター | AlterConfigs |
DESCRIBE | クラスター | ListClusterLinks |
ALTER | クラスター | CreateAcls、DeleteAcls、CreateTopics(ミラートピックの作成用) |
CREATE | トピック | CreateTopics(ミラートピックの作成用) |
ALTER | トピック | AlterTopicMirrors |
ミラートピックの一覧表示と詳細表示に必要な ACL¶
list mirrors
は、クラスターまたはクラスターリンクのミラートピックを一覧表示するコマンドです。このコマンドは、API から `REST`: `GET /kafka/v3/clusters/<cluster-id>/links/<link-name>/mirrors`
を、または Confluent Platform CLI から kafka-mirrors --list
を使用して呼び出すことができます。
describe mirror
は、特定のミラートピックに関する情報を取得するコマンドです。このコマンドは、API から `REST`: `GET /kafka/v3/clusters/<cluster-id>/links/<link-name>/mirrors/<mirror-topic>`
を、または Confluent Platform CLI から kafka-mirrors --describe --topics <mirror-topic>
を使用して呼び出すことができます。
ミラートピックの一覧表示と詳細表示には、次のいずれかの ACL が必要です。
- クラスターリソースの DESCRIBE ACL。クラスター上のすべてのトピックに対し、一覧表示と詳細表示の両方を実行できます。
- 特定のトピックの DESCRIBE ACL。特定のトピックについてのみ、一覧表示と詳細表示の両方を実行できます。
送信先クラスターのブローカーに対する ACL¶
オフセット移行が有効にされていない場合、ブローカーには追加のアクセス許可は必要ありません。
オフセット移行が有効にされている場合、送信先クラスター内のブローカーには追加の ACL が必要です。
操作 | リソース | API |
---|---|---|
READ | トピック | コンシューマーオフセット移行に使用する API |
READ | グループ | コンシューマーオフセット移行に使用する API |
ALTER | トピック(ミラー) | AlterTopicMirrors |
送信元クラスターのリンクに対する ACL¶
リンク認証情報に対しては、以下の送信元クラスター ACL が必要です。
タスク | 操作 | リソース | API |
---|---|---|---|
ミラーリング | READ | トピック | フェッチ |
DESCRIBE_CONFIGS | トピック | DescribeConfigs | |
コンシューマーオフセット移行 | DESCRIBE | トピック | ListOffsets |
DESCRIBE | グループ | ListGroups |
送信元開始リンクに対する ACL¶
送信先クラスターでクラスターリンクのプリンシパルに必要な ACL¶
送信元開始クラスターリンクの場合、クラスターリンクのプリンシパルには、送信先クラスターの Cluster: Alter
ACL が必要です。
Cluster:Alter
が送信先クラスターで必要になるのは、クラスターリンクを作成したユーザーにこの送信先クラスターへのクラスターリンクの作成が認可されるようにするためです。
送信元クラスターでクラスターリンクのプリンシパルに必要な ACL¶
クラスターリンクの送信元クラスターのプリンシパルには、送信元クラスターのクラスターリンクに必要な標準の ACL に加えて、Cluster: Alter
ACL が必要です。
Cluster:Alter
が送信元クラスターで必要になるのは、クラスターリンクでクラスター上にリバース接続を作成する必要があるためです。これは特権アクションと見なされます。
送信元クラスターでユーザーのプリンシパルに必要な ACL¶
送信元クラスター上の送信元開始クラスターリンクに対してアクションを実行するには、ユーザーのプリンシパルに、そのクラスター上の送信先開始クラスターリンクの作成時と同じ ACL が必要です。
操作 | リソース | API |
---|---|---|
ALTER | クラスター | CreateClusterLinks |
ALTER | クラスター | DeleteClusterLinks |
ALTERCONFIGS | クラスター | AlterConfigs |
DESCRIBE | クラスター | ListClusterLinks |