1. 开启 MSK Public
1.1 配置 MSK 参数
- 进入 MSK 控制台页面,点击左侧菜单 Cluster configuration。
- 选择已有配置,或者创建新配置。
- 在配置中添加参数
allow.everyone.if.no.acl.found=false
- 修改集群配置,选择到新添加的配置。
1.2 开启 Public
- 选中集群,进入集群配置页面,选择 Properties
- 找到 Networking settings,点击 Edit 菜单。
- 选择 Edit public access
2. 注意事项
由于 MSK 开启 Public 访问,必须要开启 SASL/IAM 认证方式。而 Amazon MSK 默认 allow.everyone.if.no.acl.found=true,全部用户都可以拥有权限,由于 MSK 没有 super user,但是当将 MSK 开启 public 之后,这个参数必须设置为 false。因此,如果当集群还未配置任何用户权限的情况下,将 allow.everyone.if.no.acl.found 设置为 false,会无法使用任何用户来访问 MSK。
3. 启用 SASL 后的解决方案
- 先创建 MSK 集群,开启 SASL 认证,通过 Secrets Manager,配置用户名密码,然后绑定到 MSK 集群,不启用 Public 访问。 详细的配置方法,可以参考 MSK Lab Workshop
- MSK 集群启动后,按如下下令配置用户权限。
- # 设置 MSK Cluster bostrap
- export brokerssasl=xxxx:9096,xxxx:9096,xxxx:9096
- # 生成用户认证文件
- echo -n "security.protocol=SASL_SSL
- sasl.mechanism=SCRAM-SHA-512
- sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \\
- username="<username>" \\
- password="<password>";
- " > /tmp/client.properties_<username>```
- # 给用户赋权
- bin/kafka-acls.sh --bootstrap-server $brokerssasl \
- --add --allow-principal User:<username> --operation All --cluster '*' \
- --command-config /tmp/client.properties_<username>
-
-
- bin/kafka-acls.sh --bootstrap-server $brokerssasl \
- --add --allow-principal User:<username> --operation All --group '*' \
- --command-config /tmp/client.properties_<username>```
复制代码 --add --allow-principal User:<username> --operation All --cluster '*'没有包罗消费者组权限,因此,还需要单独再给用户赋予组权限
- 集群修改配置,添加 allow.everyone.if.no.acl.found=false, 然后启用 Public
- 通过 public host 验证用户访问
- # 设置 MSK Cluster bostrap
- export brokerssasl=xxxx:9096,xxxx:9096,xxxx:9096
- # list
- bin/kafka-topics.sh --list --bootstrap-server $brokerssasl --command-config /tmp/client.properties_<username>
- # consumer
- $KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server $brokerssasl --group group01 --topic test_topic --consumer.config --command-config /tmp/client.properties_<username>
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |