配置Kafka数据安全传输协议
Kafka API概述
约束与限制
MRS 3.x及之后版本,Kafka不支持旧Producer API和旧Consumer API。关于新、旧API介绍请参见Kafka安全使用说明。
Kafka访问协议说明
- Kafka当前支持如下四种协议类型的访问:
表1 Kafka访问协议类型 协议类型
说明
默认端口
PLAINTEXT
支持无认证的明文访问。
获取参数“port”的值,默认为9092。
SASL_PLAINTEXT
支持Kerberos认证的明文访问。
获取参数“sasl.port”的值,默认为21007。
SSL
支持无认证的SSL加密访问。
获取参数“ssl.port”的值,默认为9093。
SASL_SSL
支持Kerberos认证的SSL加密访问。
获取参数“sasl-ssl.port”的值,默认为21009。
- Kafka服务启动时,默认会启动PLAINTEXT和SASL_PLAINTEXT两种协议类型的访问监测。
可通过设置Kafka服务配置“ssl.mode.enable”为“true”,来启动SSL和SASL_SSL两种协议类型的访问监测。
- 可以参考以下步骤进入Kafka全部配置页面,查看或修改参数。
- 登录FusionInsight Manager。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 选择“集群 > 服务 > Kafka > 配置 > 全部配置”。
- 搜索参数名称,并根据实际需要修改参数值。
- 修改完成后重启配置过期的实例生效。
- 登录FusionInsight Manager。
Kafka中API使用说明
- 场景一:访问设置了ACL的Topic
表2 访问设置了ACL的Topic 用户属组
客户端参数
服务端参数
访问的端口
用户需满足以下条件之一即可:
- 加入System_administrator角色
- 属于kafkaadmin组
- 属于kafkasuperuser组
- 被授权的kafka组的用户
security.inter.broker.protocol=SASL_PLAINTEXT sasl.kerberos.service.name = kafka
-
sasl.port(默认21007)
security.protocol=SASL_SSL sasl.kerberos.service.name = kafka
“ssl.mode.enable”配置为“true”
sasl-ssl.port(默认21009)
- 场景二:访问未设置ACL的Topic
表3 访问未设置ACL的Topic 用户属组
客户端参数
服务端参数
访问的端口
用户需满足以下条件之一:
- 加入System_administrator角色
- 属于kafkaadmin组
- 属于kafkasuperuser组
security.protocol=SASL_PLAINTEXT sasl.kerberos.service.name = kafka
-
sasl.port(默认21007)
用户属于kafka组
“allow.everyone.if.no.acl.found”配置为true
说明:普通集群下不涉及服务端参数“allow.everyone.if.no.acl.found”的修改
sasl.port(默认21007)
用户需满足以下条件之一:
- 加入System_administrator角色
- 属于kafkaadmin组
- kafkasuperuser组用户
security.protocol=SASL_SSL sasl.kerberos.service.name = kafka
“ssl.mode.enable”配置为“true”
sasl-ssl.port(默认21009)
用户属于kafka组
- “allow.everyone.if.no.acl.found”配置为“true”
- “ssl.mode.enable”配置为“true”
sasl-ssl.port(默认21009)
-
security.protocol=PLAINTEXT
“allow.everyone.if.no.acl.found”配置为“true”
port(默认9092)
-
security.protocol=SSL
- “allow.everyone.if.no.acl.found”配置为“true”
- “ssl.mode.enable”配置为“true”
ssl.port(默认9063)
相关文档
- 新、旧版API介绍请参考Kafka安全使用说明。
- 新、旧版API获取Kafka Consumer Offset信息相关操作,请参考如何获取Kafka Consumer Offset信息。
- 如果需要设置Topic的权限信息,可参考Kafka用户权限说明章节进行操作。
- 创建用户相关操作请参考创建Kafka用户并绑定角色。