簡體   English   中英

想要一些如何使用 kafkaUser 的實際示例

[英]Want some practical example how to use kafkaUser

我正在使用帶有 strimzi 運算符的 Kafka。 我不知道如何使用 KafkaUser 任何人都可以向我建議我應該在哪里學習它的實際實現。 我剛剛創建了一個 Kafka 用戶和 KafkaTopic 現在我完全不知道該怎么做。 這是我的 KafkaUSer yml 代碼:

apiVersion: kafka.strimzi.io/v1beta1
kind: KafkaUser
metadata:
  name: my-user
  labels:
    strimzi.io/cluster: my-cluster
spec:
  authentication:
    type: tls
  authorization:
    type: simple
    acls:
      # Example consumer Acls for topic my-topic using consumer group my-group
      - resource:
          type: topic
          name: my-topic
          patternType: literal
        operation: Read
        host: "*"
      - resource:
          type: topic
          name: my-topic
          patternType: literal
        operation: Describe
        host: "*"
      - resource:
          type: group
          name: my-group
          patternType: literal
        operation: Read
        host: "*"
      # Example Producer Acls for topic my-topic
      - resource:
          type: topic
          name: my-topic
          patternType: literal
        operation: Write
        host: "*"
      - resource:
          type: topic
          name: my-topic
          patternType: literal
        operation: Create
        host: "*"
      - resource:
          type: topic
          name: my-topic
          patternType: literal
        operation: Describe
        host: "*"

這是我的 KafkaTopic yml 文件代碼:

apiVersion: kafka.strimzi.io/v1beta1
kind: KafkaTopic
metadata:
  name: my-topic
  labels:
    strimzi.io/cluster: my-cluster
spec:
  partitions: 1
  replicas: 1
  config:
    retention.ms: 7200000
    segment.bytes: 1073741824

如果您對用戶啟用了tls身份驗證,我希望在您的Kafka自定義資源中您也啟用了身份驗證。 當使用此身份驗證類型創建KafkaUser ,會使用用戶私鑰和證書生成相應的 Secret,以便與代理進行KafkaUser TLS 身份驗證。 您必須從 Secret 中提取密鑰和證書,並在您的客戶端應用程序中配置您的密鑰庫(這取決於您使用的語言。如果是 Java,您可以直接從帶有相應密碼的 P12 格式的 Secret 中提取密鑰庫)。 如果它是 Java,您可以參考官方 Kafka 文檔,在從 Secrets 中提取時設置密鑰庫和信任庫: https : //kafka.apache.org/documentation/#security_configclients

啟用雙向 TLS 身份驗證,這意味着您還必須通過 TLS 連接到代理(您已在Kafka資源中啟用它),因此您必須從集群 CA Secret 中提取證書並將其導入您的信任庫。 那時客戶端將能夠連接、進行身份驗證並且您描述的 ACL 將被應用。

更多信息在官方文檔中:

關於用戶認證https://strimzi.io/docs/operators/master/using.html#con-securing-client-authentication-str

關於在 Kubernetes 上運行的客戶端連接到集群https://strimzi.io/docs/operators/master/using.html#configuring-internal-clients-to-trust-cluster-ca-str

關於在 Kubernetes 之外運行的客戶端連接到集群https://strimzi.io/docs/operators/master/using.html#configuring-external-clients-to-trust-cluster-ca-str

暫無
暫無

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

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