カフカの使用SASL / PLAIN認証

1台の配置エンドカフカサーバ(ブローカあたり)

root@CN-GRI-IDDC-AIRCONDITING:/opt/kafka/kafka1/kafka_2.12-0.10.2.1/config#
vi server.properties
 
listeners=SASL_PLAINTEXT://172.17.102.126:9092
 
port=9092
 
security.inter.broker.protocol=SASL_PLAINTEXT
 
sasl.mechanism.inter.broker.protocol=PLAIN
 
sasl.enabled.mechanisms=PLAIN
 
authorizer.class.name = kafka.security.auth.SimpleAclAuthorizer
 
#allow.everyone.if.no.acl.found=false
 
super.users=User:admin;User:RjkZfqsGCruWzUuMFY
root@CN-GRI-IDDC-AIRCONDITING:/opt/kafka/kafka1/kafka_2.12-0.10.2.1/config#
vi kafka_server_jaas.conf
KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin"
    user_admin="admin"
    user_RjkZfqsGCruWzUuMFY="8wxOcQo9GM0rwuz3w9";
};

JAASの各ブローカのJVMパラメータとしてファイル、およびkafka-server-start.shスクリプトで次の設定を追加します:

root@CN-GRI-IDDC-AIRCONDITING:/opt/kafka/kafka1/kafka_2.12-0.10.2.1/bin#
vi kafka-server-start.sh
if [  "x$KAFKA_OPTS" ]; then
 export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/kafka/kafka1/kafka_2.12-0.10.2.1/config/kafka_server_jaas.conf"
fi
 
vi kafka-run-class.sh (增加红色的部分)
$\color{#FF0000}{
KAFKA_SASL_OPTS='-Djava.security.auth.login.config=/opt/kafka/kafka1/kafka_2.12-0.10.2.1/config/kafka_server_jaas.conf'}
# Launch mode
if [ "x$DAEMON_MODE" = "xtrue" ]; then
  nohup $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_SASL_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@" > "$CONSOLE_OUTPUT_FILE" 2>&1 < /dev/null &
else
  exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_SASL_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"
fi

同じ操作を行うには、各ブローカー、別のファイルパスに加えて、他のIPポートと同じ。

2 [設定メカニズムカフカカフカクライアント側PLAINプロデューサ/コンシューマどのように生産/消費

root@CN-GRI-IDDC-AIRCONDITING:/opt/kafka/kafka2/kafka_2.12-0.10.2.1/config#
vi kafka_client_jaas.conf
KafkaClient {
       org.apache.kafka.common.security.plain.PlainLoginModule required
       username="RjkZfqsGCruWzUuMFY"
       password="8wxOcQo9GM0rwuz3w9";
};

vi consumer.properties
vi producer.properties

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

root@CN-GRI-IDDC-AIRCONDITING:/opt/kafka/kafka2/kafka_2.12-0.10.2.1/bin#
vi kafka-console-consumer.sh
vi kafka-console-producer.sh

if [ "x$KAFKA_OPTS" ]; then
export KAFKA_OPTS=" -Djava.security.auth.login.config=/opt/kafka/kafka2/kafka_2.12-0.10.2.1/config/kafka_client_jaas.conf"

fi

権限が設定
読み取るためのユーザーの権限をしてRjkZfqsGCruWzUuMFYの書き込みショーン・セキュリティ(トピック)を追加しました

sh kafka-acls.sh --authorizer-properties zookeeper.connect=172.17.102.126:2181 --add --allow-principal User:RjkZfqsGCruWzUuMFY --operation Read --operation Write --topic sean-security

一般的な操作3

3.1 add操作

テスト(トピック)に読み書きするユーザーのためのアリスの追加権限

bin/kafka-acls.sh --authorizer-properties zookeeper.connect=data-rt-dev02:2181/kafka_test10 --add --allow-principal User:alice --operation Read --operation Write --topic test

テストのためのトピックのメッセージ・キューの場合は、読み取り操作BadBob用IP 198.51.100.3口座から拒否し、他のユーザーが許可されている
ビン/ kafka-acls.sh --authorizer-プロパティは= zookeeper.connectデータ-RT-dev02を:2181 / kafka_test10 --add --allow-主要ユーザー:* --allow-ホスト* --deny-主要ユーザー:BadBob --denyホスト198.51.100.3 --operation読む--topicテストを
し、ボブとアリスのすべてを追加これは、198.51.100.1 198.51.100.0または書き込み要求からのIPすることができます
= zookeeper.connectビン/ kafka-acls.sh --authorizer-性質 2181 / kafka_test10 --add --allow-主要ユーザー:データ-RT-dev02を: ボブ--allow-主要ユーザー:アリス--allow -host 198.51.100.0 --allow-ホスト198.51.100.1 --operation読む--operation書き込み--topicテスト

3.2リスト操作

トピック一覧テストアカウントのためのすべての権限
のbin / kafka-acls.sh --authorizer-性質zookeeper.connect =データ-RT-dev02を:2181 / kafka_test10 --list --topicテスト

3.3削除操作

移除ACL
ビン/ kafka-acls.sh --authorizer-特性は=データ-RT-dev02をzookeeper.connect:2181 / kafka_test10 --remove --allow-主要ユーザー:ボブ--allow-主要ユーザー:アリス--allow -host 198.51.100.0 --allow-ホスト198.51.100.1 --operation読むには--topicテストを書く--operation

3.4生産者と消費者の操作

プロデューサ
ビン/ kafka-acls.sh --authorizer-特性zookeeper.connectデータ-RT-dev02を=:2181 / kafka_test10 --add --allow-主要ユーザー:アリス--topic試験--producer
消費者
ビン/カフカ-のACLデータ-RT-dev02を= zookeeper.connect .SH --authorizer-特性:2181 / kafka_test10 --add --allow-主要ユーザー:アリス--topic試験-基テスト群--consumer

おすすめ

転載: www.cnblogs.com/eugene0/p/12549068.html