操作场景
该任务指导您在使用消息队列 CKafka 版时,通过控制台配置 SASL 鉴权和 ACL 规则,增强对公网/内网传输中的用户访问控制,增加对 Topic 等资源的生产消费权限控制。
说明
CKafka 提供了多种安全认证机制,主要分为 SSL 和 SASL2 大类,其中 SASL/PLAIN 是基于账号密码的认证方式,比较常用。CKafka 支持 SASL_PLAINTEXT 认证(参见 添加路由策略-公网域名接入)。
ACL 访问控制列表(Access Control List),帮助用户定义一组权限规则,允许/拒绝用户 user 通过 IP 读/写 Topic 资源。
操作步骤
新建用户
1. 登录 CKafka 控制台。
2. 在顶部菜单栏,选择地域后,单击目标实例“ID/名称”。
3. 在实例详情页面,单击顶部 ACL 策略管理页签。
4. 选择用户管理子页签,单击新建,填写用户名和密码信息,创建用户。
配置 ACL 策略
1. 在 ACL 策略管理页面,选择子页签 策略列表。
2. 单击批量配置,为用户授予权限。
说明
若只设置允许规则,则除允许的规则外的其他 IP 都无法连接实例。
若只设置拒绝规则,则除拒绝的规则外的其他 IP 需要设置了允许规则后才可以连接实例。
若同时设置允许规则和拒绝规则,则只有允许规则中的IP可以连接实例,其他 IP 都无法连接实例。
支持批量勾选,按前缀模糊匹配和预设规则三种方式为用户授予权限。
说明
配置 ACL 策略时支持输入多个 IP 或网段,用
;
隔开,若 IP 为空,则默认为全部 IP 添加权限。批量勾选:选择多个需要配置相同 ACL 策略的 Topic。
按前缀模糊:按 Topic 名称前缀模糊匹配需要配置相同 ACL 策略的 Topic,需要指定模糊匹配规则名称。设置后,新增按指定前缀命名的 Topic 时,系统自动配置指定 ACL 策略。
说明
模糊匹配规则最多支持设置五条。
预设规则:预设一套策略,后续创建 Topic 的时候可以自动应用这套规则。
说明
预设规则最多支持设置五条。
支持批量勾选和预设规则两种方式为用户授予权限。
说明
支持输入多个 IP ,用
;
隔开;若 IP 为空,则默认为全部 IP 添加权限。批量勾选:选择多个需要配置相同 ACL 策略的 Topic。
预设规则:预设一套策略,后续创建 Topic 的时候可以自动应用这套规则。
说明
预设规则最多支持设置五条。
使用限制
1. 开通路由只影响接入时的验证方式,设置的 ACL 权限则是全局的。
2. 如果您在开通公网访问路由的同时还使用了 PLAINTEXT 方式接入 CKafka,那么之前为 Topic 设置的 ACL 仍然会生效。若您希望 PLAINTEXT 方式的访问不受影响,请为 PLAINTEXT 需要访问的 Topic 添加全部用户的可读写的权限。
说明
在添加 ACL策略时,不需要选择任何用户,默认为全部用户添加了读写权限。
添加完成效果如下:
3. 如果该 Topic 已经有其他云产品在使用(例如:日志服务 CLS 的日志投递、云函数 SCF 消息转储、大数据 EMR 组件的消费等),开启 ACL 策略相当于对这些联动能力的权限加以限制,会直接导致这些能力不可用,请一定谨慎操作。对于此类情况建议生产同一份数据到另一个 Topic 做分别处理,不要在同一个 Topic 上配置统一的 ACL 策略。
查看预设规则
1. 在 ACL 策略管理页面,选择预设规则。
2. 在预设规则列表,单击操作列的详情,可查看预设规则详情。
删除预设规则
1. 在 ACL 策略管理页面,选择预设规则。
2. 在预设规则列表,单击操作列的删除,可删除预设规则。
根据规则匹配类型不同,预设规则删除后的影响也有所不同:
当规则是模糊匹配规则时,新增 Topic 不会再自动应用该规则,对于已经应用前缀匹配规则的 Topic,该规则也将不再生效。
当规则不是模糊匹配规则时,新增 Topic 不会再自动应用该规则,对于已自动应用该规则的 Topic,相应规则不会一并删除。