簡體   English   中英

將 JAAS 配置傳遞給 bitnami/kafka helm chart for SASL/PLAIN

[英]Passing JAAS config to bitnami/kafka helm chart for SASL/PLAIN

目標:

我想將 bitnami/kafka helm chart 與啟用了 SASL 的 PLAIN 機制一起用於外部客戶端。 (client-broker、broker-broker、broker-zookeeper連接可以是PLAINTEXT機制)

我做了什么:

我在 values.yaml 文件中設置了配置參數:

superUsers: User:adminuser
auth.externalClientProtocol: sasl
auth.sasl.jaas.clientUsers:
  - adminuser
  - otheruser
auth.sasl.jaas.clientPasswords:
  - adminuserpass
  - otheruserpass
auth.sasl.jaas.interBrokerUser: adminuser

並保持其他參數不變。 但這似乎還不夠。 當我嘗試安裝圖表時,代理容器將退出 state。

問題 #1:這些配置參數是否足以設置我想要實現的目標? 這些不會為我創建 JAAS 配置文件嗎?

從 Kafka 文檔Kafka_SASL中,我必須為代理傳遞一個 JAAS 配置文件。 它可以通過sasl.jaas.config配置參數來完成。 對我來說應該是這樣的:

listener.name.EXTERNAL.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="adminuser" \
password="adminuserpass" \
user_adminuser="adminuserpass" \
user_otheruser="otheruserpass";

但在 bitnami/kafka.values.yaml 中似乎沒有任何可用的sasl.jaas.config

問題 #2:如果問題 #1 的答案是否定的,我如何傳遞這個 JAAS 配置文件值? 我應該為此使用config還是extraEnvVars

謝謝!

這對我有用:

...
authorizerClassName: "kafka.security.authorizer.AclAuthorizer"

auth:
  clientProtocol: sasl
  externalClientProtocol: sasl
  interBrokerProtocol: plaintext
  sasl:
    mechanisms: plain,scram-sha-256,scram-sha-512
    interBrokerMechanism: plain
    jaas:
      clientUsers:
        - yourusername
      clientPasswords:
        - yourpassword
....

我不知道為什么,但我必須設置 clientProtocol clientProtocol: sasl否則,我得到java.io.IOException: /opt/bitnami/kafka/conf/kafka_jaas.conf (No such file or directory)也,我沒有看到錯誤直到我設置image.debug: true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM