想要一些如何使用 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,其中包含用户私钥和证书,用于与代理的相互 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
我正在使用带有 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,其中包含用户私钥和证书,用于与代理的相互 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