Apache Kafka ACLs - Amazon Managed Streaming for Apache Kafka

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Apache Kafka ACLs

Apache Kafka にはプラグ可能なオーソライザーがあり、オーソライザーの out-of-box実装が付属しています。Amazon は、ブローカーの server.properties ファイルでこのオーソライザーMSKを有効にします。

Apache Kafka ACLsの形式は「Principal P is [Allowed/Denied] Operation O From Host H on any Resource R matching ResourcePattern RP」です。RP が特定のリソース R と一致しない場合、R には が関連付けられていないためACLs、スーパーユーザー以外の誰も R にアクセスできません。この Apache Kafka の動作を変更するには、 プロパティを true allow.everyone.if.no.acl.found に設定します。Amazon はデフォルトで true MSKに設定します。つまり、Amazon MSKクラスターでは、リソースACLsに明示的に を設定しないと、すべてのプリンシパルがこのリソースにアクセスできます。リソースACLsで を有効にすると、許可されたプリンシパルのみがリソースにアクセスできます。トピックへのアクセスを制限し、TLS相互認証を使用してクライアントを承認する場合は、Apache Kafka オーソライザー ACLsを使用して を追加しますCLI。の追加、削除、および一覧表示の詳細についてはACLs、「Kafka 認証コマンドラインインターフェイス」を参照してください。

クライアントに加えて、ブローカーがプライマリパーティションからメッセージを複製できるように、すべてのブローカーにトピックへのアクセスを許可する必要もあります。ブローカーがトピックにアクセスできない場合、トピックのレプリケーションは失敗します。

トピックに対する読み取りおよび書き込みアクセス権を追加するか削除するには
  1. ブローカーをACLテーブルに追加して、 ACLs が配置されているすべてのトピックから読み取れるようにします。ブローカーにトピックへの読み取りアクセスを許可するには、MSKクラスターと通信できるクライアントマシンで次のコマンドを実行します。

    置換 Distinguished-Name をクラスターDNSのブートストラップブローカーのいずれかの に置き換え、この識別名の最初の期間より前の文字列をアスタリスク () に置き換えます*。例えば、クラスターのブートストラップブローカーの 1 つに DNS がある場合b-6.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com、 を置き換えます。Distinguished-Name で次のコマンドを実行します*.mytestcluster.67281x.c4.kafka.us-east-1.amazonaws.com。ブートストラップブローカーを取得する方法については、「Amazon MSKクラスターのブートストラップブローカーを取得する」を参照してください。

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --authorizer-properties --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Read --group=* --topic Topic-Name
  2. トピックへの読み取りアクセス権を付与するには、クライアントマシンで次のコマンドを実行します。相互TLS認証を使用する場合は、同じ Distinguished-Name プライベートキーの作成時に を使用していました。

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --authorizer-properties --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Read --group=* --topic Topic-Name

    読み取りアクセス権を削除するには、同じコマンドを実行し、--add--remove に置き換えます。

  3. トピックへの書き込みアクセス権を付与するには、クライアントマシンで次のコマンドを実行します。相互TLS認証を使用する場合は、同じ Distinguished-Name プライベートキーの作成時に を使用していました。

    <path-to-your-kafka-installation>/bin/kafka-acls.sh --authorizer-properties --bootstrap-server BootstrapServerString --add --allow-principal "User:CN=Distinguished-Name" --operation Write --topic Topic-Name

    書き込みアクセス権を削除するには、同じコマンドを実行し、--add--remove に置き換えます。