2016-10-13 42 views
2

從官方Kafka文檔以及在旅行過程中涌現的博客海洋中,看起來我可以創建一個卡夫卡經紀人,其server.properties配置文件包含:從客戶端使用卡夫卡超級用戶ACL

authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer 
super.users=User:Bob;User:Alice 

這定義了兩個超級用戶(鮑勃+愛麗絲),那麼誰可以產生消息,並從消費,我的經紀人的主題的消息。

但我該如何從客戶端利用這些用戶呢?如果我有一個需要向我的Kafka經紀人發送消息的Java客戶端,那麼客戶端如何「認證」自己爲「Bob」(或「Alice」或任何其他超級用戶)?

何處定義/使用超級用戶密碼?!?

回答

1

本週我做了一些挖掘工作,看起來Kafka本身不支持「basic auth」風格(用戶名+密碼)證書。

看起來您可以設置Kerberos或類似的解決方案(JAAS/SASL等)來創建與Kafka配合使用的票證服務,這些ACL似乎適用於這些服務。我想認爲的要點是,你首先要對Kerberos進行身份驗證,此時你將被授予一張票/令牌。然後,您會將您的用戶名/原則以及您的機票提交給Kafka,並且Kafka將與Kerberos合作確保機票仍然有效。我認爲這就是它的工作原理,基於我能夠得到的一些模糊/模糊的博客。

我還可以看到卡夫卡當前或計劃使用LDAP進行某種集成層支持的證據,因此您可能可以將卡夫卡羣集掛接到AD或類似目錄。

管理Kafka身份驗證的最好方法似乎是Yahoo! Kafka Manager工具,它似乎是一個非常流行,維護良好的項目,最近的更新和社區支持頗爲流行。這可能是我將要運行的,至少目前是這樣。 HTH。

相關問題