日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

Kafka SCRAM和PLAIN实战

發布時間:2023/12/18 ChatGpt 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kafka SCRAM和PLAIN实战 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.概述

目前Kafka ACL支持多種權限認證,今天筆者給大家介紹一下SCRAM和PLAIN的權限認證。驗證環境如下:

  • JDK:1.8
  • Kafka:2.3.0
  • Kafka Eagle:1.3.8

2.內容

2.1?PLAIN認證

首先,在$KAFAK_HOME/config目錄新建一個文本文件,名為kafka_server_plain_jaas.conf,配置內容如下:

KafkaServer {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="admin"password="admin-secret"user_admin="admin-secret"user_ke="ke"; };

接著,將腳本文件kafka-server-start.sh重命名為kafka-server-plain-start.sh,并修改最后一行的內容為:

# 添加鑒權文件 exec $base_dir/kafka-run-class.sh $EXTRA_ARGS -Djava.security.auth.login.config=$base_dir/../config/kafka_server_plain_jaas.conf kafka.Kafka "$@"

然后,復制server.properties文件并重命名為plain.properties,接著修改服務端配置文件plain.properties,內容如下:

# Protocol listeners=SASL_PLAINTEXT://127.0.0.1:9092 security.inter.broker.protocol=SASL_PLAINTEXT sasl.mechanism.inter.broker.protocol=PLAIN sasl.enabled.mechanisms=PLAIN# ACL allow.everyone.if.no.acl.found=false super.users=User:admin authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer

最后,創建客戶端用戶認證文件,kafka_client_plain_jaas.conf內容如下:

KafkaClient {org.apache.kafka.common.security.plain.PlainLoginModule requiredusername="ke"password="ke"; };

2.2 啟動PLAIN認證集群

2.2.1 啟動Zookeeper

# Zookeeper的配置比較簡單,這里不多做介紹 zkServer.sh start

2.2.2 啟動Kafka集群

# 進入到Kafka安裝bin目錄 ./kafka-server-plain-start.sh ../config/plain.properties &

2.2.3 創建Topic

./kafka-topics.sh --create --zookeeper 127.0.0.1:2181/plain --replication-factor 1 --partitions 3 --topic test_plain

2.2.4 添加讀寫權限

# 添加讀權限 ./kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=127.0.0.1:2181/plain --add --allow-principal User:ke --operation Read --topic test_plain # 添加寫權限 ./kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=127.0.0.1:2181/plain --add --allow-principal User:ke --operation Write --topic test_plain # 添加消費者組權限 ./kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=127.0.0.1:2181/plain --add --allow-principal User:ke --operation Read --group g_plain_test # 查看權限列表 ./kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=127.0.0.1:2181/plain --list

2.2.5 執行結果

2.3?SCRAM認證

PLAIN認證有個問題,就是不能動態新增用戶,每次添加用戶后,需要重啟正在運行的Kafka集群才能生效。為此,在生產環境,這種認證方式不符合實際業務場景。而SCRAM不一樣,使用SCRAM認證,可以動態新增用戶,添加用戶后,可以不用重啟正在運行的Kafka集群即可進行鑒權。

新增kafka_server_scram_jaas.conf,配置內容如下:

KafkaServer {org.apache.kafka.common.security.scram.ScramLoginModule requiredusername="admin"password="admin-secret"; };

接著,將腳本文件kafka-server-start.sh重命名為kafka-server-scram-start.sh,并修改最后一行的內容為:

# 添加鑒權文件 exec $base_dir/kafka-run-class.sh $EXTRA_ARGS -Djava.security.auth.login.config=$base_dir/../config/kafka_server_scram_jaas.conf kafka.Kafka "$@"

然后在$KAFKA_HOME/config目錄中,復制server.properties文件并重命名為scram.properties,接著修改服務端配置文件scram.properties,內容如下:

# Protocol listeners=SASL_PLAINTEXT://dn1:9092 security.inter.broker.protocol=SASL_PLAINTEXT sasl.mechanism.inter.broker.protocol=SCRAM-SHA-256 sasl.enabled.mechanisms=SCRAM-SHA-256# ACL allow.everyone.if.no.acl.found=false super.users=User:admin authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer

2.3.1 啟動Zookeeper

# Zookeeper的配置比較簡單,這里不多做介紹 zkServer.sh start

2.3.2 添加管理員權限和普通用戶

# 添加管理員
./kafka-configs.sh --zookeeper 127.0.0.1:2181/scram --alter --add-config 'SCRAM-SHA-256=[password=admin-secret],SCRAM-SHA-512=[password=admin-secret]' --entity-type users --entity-name admin
# 添加普通用戶(ke)
./kafka-configs.sh --zookeeper 127.0.0.1:2181/scram --alter --add-config 'SCRAM-SHA-256=[iterations=8192,password=ke],SCRAM-SHA-512=[password=ke]' --entity-type users --entity-name ke

2.3.3 啟動SCRAM認證集群

./kafka-server-scram-start.sh ../config/scram.properties &

2.3.4 創建Topic

./kafka-topics.sh --create --zookeeper 127.0.0.1:2181/scram --replication-factor 1 --partitions 3 --topic test_scram

2.3.5 添加權限

# 添加讀權限
./kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=127.0.0.1:2181/scram --add --allow-principal User:ke --operation Read --topic test_scram
# 添加寫權限 .
/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=127.0.0.1:2181/scram --add --allow-principal User:ke --operation Write --topic test_scram
# 添加消費者組權限 .
/kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=127.0.0.1:2181/scram --add --allow-principal User:ke --operation Read --group g_scram_test
# 查看權限列表 ./kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=127.0.0.1:2181/scram --list

2.3.6 執行結果

3.Kafka權限級別

Kafka權限級別包含Topic、Group、Cluster、TransactionalId,每個維度涉及的權限內容如下:

ResourceOperations
TopicRead,Write,Describe,Delete,DescribeConfigs,AlterConfigs,All
GroupRead,Describe,All
ClusterCreate,ClusterAction,DescribeConfigs,AlterConfigs,IdempotentWrite,Alter,Describe,All
TransactionalIdDescribe,Write,All

例如,統計Topic的Capacity大小時,如果拋出異常“Cluster authorization failed”,這是由于沒有開啟Cluster級別的Describe權限,執行如下命令即可:

./kafka-acls.sh --authorizer kafka.security.auth.SimpleAclAuthorizer --authorizer-properties zookeeper.connect=127.0.0.1:2181/scram --add --allow-principal User:ke --operation Describe --cluster

4.Kafka Eagle集成SCRAM認證

那么如何使用Kafka Eagle來集成有SCRAM認證的Kafka集群,進行監控呢?訪問http://www.kafka-eagle.org/,下載安裝包,解壓并配置如下內容:

# 這里對啟動一個擁有SCRAM認證的Kafka集群(別名為cluster1)進行配置 cluster1.kafka.eagle.sasl.enable=true cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT cluster1.kafka.eagle.sasl.mechanism=SCRAM-SHA-256 cluster1.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="ke" password="ke"; # 這里ClientId如果不需要,可以不用配置 cluster1.kafka.eagle.sasl.client.id=

然后,執行ke.sh start進行啟動Kafka Eagle監控系統。

4.1 Topic預覽

4.2 使用KSQL查詢Topic

執行如下SQL語句,代碼如下:

select * from "test_scram" where "partition" in (0) limit 1

執行結果如下:

5.總結

生產環境中,用戶可能隨著業務需要,增加或者刪除,此時動態控制用戶時很有必要的。而且,生產環境Kafka集群不可能隨隨便便重啟,因此采用SCRAM來進行Kafka鑒權非常適合。

6.結束語

這篇博客就和大家分享到這里,如果大家在研究學習的過程當中有什么問題,可以加群進行討論或發送郵件給我,我會盡我所能為您解答,與君共勉!

另外,博主出書了《Kafka并不難學》和《Hadoop大數據挖掘從入門到進階實戰》,喜歡的朋友或同學,?可以在公告欄那里點擊購買鏈接購買博主的書進行學習,在此感謝大家的支持。關注下面公眾號,根據提示,可免費獲取書籍的教學視頻。

轉載于:https://www.cnblogs.com/smartloli/p/11404610.html

總結

以上是生活随笔為你收集整理的Kafka SCRAM和PLAIN实战的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人网 | 性的免费视频 | 亚洲熟女乱色一区二区三区久久久 | 中文字幕视频一区二区 | 国产欧美精品一区二区三区app | 正在播放经典国语对白 | 男女激情在线观看 | 伊人网在线 | 一区二区在线视频播放 | 欧美日韩一区二 | 午夜激情成人 | 日本公妇乱偷中文字幕 | 四虎影院在线观看免费 | 少妇aaaa | 日韩一区二区三区在线播放 | 黄色不打码视频 | 精品成人免费一区二区在线播放 | 日本二三区 | 岛国av电影在线观看 | 鲁一鲁在线 | 国产精品99精品无码视 | 欧美性猛交ⅹxx乱大交 | 啪啪免费小视频 | 在线亚洲自拍 | 免费黄在线看 | 亚洲成人精品在线播放 | 天天干天天透 | 国产一区资源 | 久久精品观看 | 日韩人妻一区二区三区 | 神马午夜伦理影院 | 一区二区在线观看免费 | 欧美日本黄色 | 国产精品69毛片高清亚洲 | 蜜臀久久 | 日日草夜夜草 | 中文字幕无线精品亚洲乱码一区 | 在线观看免费黄色 | 成人涩涩 | 最近最新中文字幕 | 色播五月婷婷 | 亚洲a级精品 | 欧美男人的天堂 | 天天在线观看 | 狠狠干快播 | 国产九九精品视频 | 欧美成人精品一区二区男人小说 | 男女免费视频网站 | 男人靠女人免费视频网站 | 久草免费在线观看 | 国产在线色站 | 国内激情自拍 | 特级免费毛片 | 亚州av综合色区无码一区 | 天天摸夜夜 | 国模无码视频一区二区三区 | 欧美一区二区三区精品 | 亚洲女同女同女同女同女同69 | 高清人妖shemale japan | 91av入口| 久草视频中文在线 | 色小妹av| 国产视频在线免费观看 | 在线免费观看a级片 | 日本wwwxxx| 97在线播放免费观看 | 天天干天天做天天操 | 欧美寡妇性猛交ⅹxxx | 高清一区二区三区 | 少妇丰满尤物大尺度写真 | 女18毛片| 免费观看视频一区二区 | 最新av网址在线观看 | 蜜桃视频色 | 久久久久久久久久久网站 | 亚洲久久在线观看 | 在线观看h网站 | 亚洲黄色免费视频 | 精久久久久 | 好吊色视频988gao在线观看 | 国产人人射 | 久久99激情 | 天天插综合网 | 91超碰免费在线 | 亚洲乱人伦 | 国产在线视频导航 | 日韩欧美一 | 亚洲欧美日韩精品 | 香港a毛片| 精品人妻伦一二三区久久 | 中文字幕人妻无码系列第三区 | 欧美一级在线视频 | 91精品国产色综合久久不卡98 | 国产制服丝袜 | 亚洲AV成人无码网站天堂久久 | 欧美视频一区在线观看 | 日韩三级欧美 | 一区二区三区在线不卡 | 中文字幕91视频 |