telnet或ssh模式
首先,telnet或ssh到交换机。使用管理账户登录;
交换机上的提示符会变为或者>,表明您可以输入命令了;
使用进入全局配置模式的system-view命令进入全局配置模式;
接下来使用acl以及acl number相关命令配置ACL规则。
Web管理界面
首先,使用HTTP或HTTPS连接到交换机,登录相应的管理账号;
去到菜单的的"高级配置"中的"ACL";
添加或者修改需要的acl规则。
搜索本产品内容查询
文档中心 >消息队列 CKafka >SDK 文档 >Python SDK >公网 SASL_SSL 方式接入
公网 SASL_SSL 方式接入
最近更新时间:2021-12-28 09:54:00
*** 作场景
前提条件
*** 作步骤
步骤1:准备工作
步骤2:生产消息
步骤3:消费消息
*** 作场景
该任务以 Python 客户端为例,指导您使用公网 SASL_SSL 方式接入消息队列 CKafka 并收发消息。
前提条件
安装 Python
安装 pip
配置 ACL 策略
下载 Demo
下载 SASL_SSL 证书
*** 作步骤
步骤1:准备工作
创建接入点。
在 实例列表 页面,单击目标实例 ID,进入实例详情页。
在 基本信息 >接入方式 中,单击添加路由策略,在打开窗口中选择:路由类型:公网域名接入,接入方式:SASL_SSL。
创建角色。
在用户管理页面新建角色,设置密码。
创建 Topic。
在控制台 topic 管理页面新建 Topic(参见 创建 Topic)。
添加 Python 依赖库。
执行以下命令安装:
pip install kafka-python
步骤2:生产消息
修改生产消息程序 producer.py 中配置参数。
producer = KafkaProducer(
bootstrap_servers = ['xx.xx.xx.xx:port'],
api_version = (1, 1),
#
# SASL_SSL 公网接入
#
security_protocol = "SASL_SSL",
sasl_mechanism = "PLAIN",
sasl_plain_username = "instanceId#username",
sasl_plain_password = "password",
ssl_cafile = "CARoot.pem",
ssl_check_hostname = False,
)
message = "Hello World! Hello Ckafka!"
msg = json.dumps(message).encode()
producer.send('topic_name', value = msg)
print("produce message " + message + " success.")
producer.close()
参数
描述
bootstrap_servers
接入网络,在控制台的实例详情页面接入方式模块的网络列复制。
sasl_plain_username
用户名,格式为 实例 ID + # + 用户名。实例 ID 在 CKafka 控制台 的实例详情页面的基本信息获取,用户在用户管理创建用户时设置。
sasl_plain_password
用户密码,在 CKafka 控制台实例详情页面的用户管理创建用户时设置。
topic_name
Topic 名称,您可以在控制台上 topic管理页面复制。
CARoot.pem
采用 SASL_SSL 方式接入时,所需的证书路径。
编译并运行 producer.py。
查看运行结果。
在 CKafka 控制台 的 topic管理页面,选择对应的 Topic , 单击更多 >消息查询,查看刚刚发送的消息。
步骤3:消费消息
修改消费消息程序 consumer.py 中配置参数。
consumer = KafkaConsumer(
'topic_name',
group_id = "group_id",
bootstrap_servers = ['xx.xx.xx.xx:port'],
api_version = (1,1),
#
# SASL_SSL 公网接入
#
security_protocol = "SASL_SSL",
sasl_mechanism = 'PLAIN',
sasl_plain_username = "instanceId#username",
sasl_plain_password = "password",
ssl_cafile = "CARoot.pem",
ssl_check_hostname = False,
)
for message in consumer:
print ("Topic:[%s] Partition:[%d] Offset:[%d] Value:[%s]" %
(message.topic, message.partition, message.offset, message.value))
参数
描述
bootstrap_servers
接入网络,在控制台的实例详情页面接入方式模块的网络列复制。
group_id
消费者的组 ID,根据业务需求自定义。
sasl_plain_username
用户名,格式为 实例 ID + # + 用户名。实例 ID 在CKafka 控制台的实例详情页面的基本信息获取,用户在用户管理创建用户时设置。
sasl_plain_password
用户名密码,在 CKafka 控制台实例详情页面的用户管理创建用户时设置
topic_name
Topic 名称,您可以在控制台上 topic管理页面复制。
CARoot.pem
采用 SASL_SSL 方式接入时,所需的证书路径。
编译并运行 consumer.py。
查看运行结果。
在 CKafka 控制台 的 Consumer Group 页面,选择对应的消费组名称,在主题名称输入 Topic 名称,单击查询详情,查看消费详情。
上一篇: 公网 SASL_PLAINTEXT 方式接入下一篇: VPC 网络接入
文档内容是否对您有帮助?
有帮助没帮助
如果遇到产品相关问题,您可咨询 在线客服 寻求帮助。
消息队列 CKafka 相关文档
API 概览
创建主题
签名方法
获取实例列表
删除主题白名单
增加主题白名单
错误返回结果
产品概述
获取主题属性
点击搜索腾讯云文档
取消
清除查询
ACL的处理过程:1.它是判断语句,只有两种结果,要么是拒绝(deny),要么是允许(permit)
2.语句顺序
按照由上而下的顺序处理列表中的语句
3. 语句排序处理时,不匹配规则就一直向下查找,一旦某条语句匹配,后续语句不再处理。
4.隐含拒绝如果所有语句执行完毕没有匹配条目默认丢弃数据包,在控制列表的末尾有一条默认拒绝所有的语句,是隐藏的(deny)
要点:
1.ACL能执行两个 *** 作:允许或拒绝。语句自上而下执行。一旦发现匹配,后续语句就不再进行处理---因此先后顺序很重要。如果没有找到匹配,ACL末尾不可见的隐含拒绝语句将丢弃分组。一个ACL应该至少有一条permit语句;否则所有流量都会丢弃,因为每个ACL末尾都有隐藏的隐含拒绝语句。
2.如果在语句结尾增加deny any的话可以看到拒绝记录
3.Cisco ACL有两种类型一种是标准另一种是扩展,使用方式习惯不同也有两种方式一种是编号方式,另一种是命名方式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)