上云无忧 > 文档中心 > 腾讯云消息队列 CKafka - 连接器订阅 PostgreSQL 时用户权限设置参考
消息队列 CKafka
腾讯云消息队列 CKafka - 连接器订阅 PostgreSQL 时用户权限设置参考

文档简介:
背景: 在使用 CKafka 连接器订阅 Postgresql 数据库时,需要给 连接管理 中配置的 PostgreSQL 用户分配相应的权限。只有拥有相应权限的用户从被允许的主机访问数据库时,才能够进行消息的同步。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

背景

在使用 CKafka 连接器订阅 Postgresql 数据库时,需要给 连接管理 中配置的 PostgreSQL 用户分配相应的权限。只有拥有相应权限的用户从被允许的主机访问数据库时,才能够进行消息的同步。
本文从用户权限设置以及主机访问权限设置两方面进行说明。

用户权限设置

权限赋予是分 decode 插件的,不同插件需要的权限不一样。

使用 decoderbufs 插件时用户权限设置

通过超级用户登录 PostgreSQL,新建一个角色,给角色赋予至少 REPLICATIONLOGIN 两种权限。
赋予权限:
		
CREATE ROLE userName REPLICATION LOGIN;
说明
超级用户默认拥有必要的权限,如果是超级用户,大部分无需赋予上面权限。但出于安全考虑不建议使用超级用户。

使用 pgoutput 插件时用户权限设置

注意
pgoutput 插件需要连接管理配置的用户拥有超级用户权限。
第一步: 验证用户是否拥有超级用户权限
		
// 登录postgresql,执行 \du 命令查看用户权限
postgres=# \du
Role name | List of roles Attributes
admin | Superuser
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS
slave | Replication
// 如果配置的用户不包含 Superuser 权限,需要进行授权
postgres=# ALTER USER userName WITH SUPERUSER;
第二步: 用户拥有超级用户权限后,按照以下步骤进行授权 connector pgoutput插件通过订阅 postgresql 节点上的 publication 来获取变更事件,您可以在启动 connector 前手动创建 publication,也可以授予配置的用户创建 publication 的权限。 赋予用户以下权限:ReplicationCREATESELECT
		
CREATE ROLE userName REPLICATION LOGIN;
GRANT CREATE ON DATABASE databaseName TO userName;
GRANT SELECT ON TABLE tableName TO userName;
连接管理中配置的用户需要拥有订阅的表的所有者权限,可通过以下方式授予用户表的所有者权限:
1. 创建 replication group。
		
CREATE ROLE <replication_group>;
2. 将表的所有者加入到 replication group。
		
GRANT REPLICATION_GROUP TO <original_owner>;
3. 将 connector 用户添加到 replication group。
		
GRANT REPLICATION_GROUP TO <replication_user>;
4. 将表的所有者权限转移到 replication group。

		

ALTER TABLE <table_name> OWNER TO REPLICATION_GROUP;

主机访问权限设置(自建集群需要配置)

您需要配置数据库允许 connector 的主机访问,通过配置 pg_hba.conf 文件来设置相应的策略,

pg_hba.conf 详细介绍可参见 pg_hba.conf。配置文件格式如下:

					
host databaseName userName 11.163.0.0/16 md5
host databaseName userName 11.163.0.0/16 trust

相似文档
  • 概览: 在通过 CKafka 连接器处理数据流入流出任务时,通常需要对数据进行简易的清洗操作,如格式化原始数据、解析特定字段、数据格式转换等等。开发者往往需要自己搭建一套数据清洗的服务(ETL)。
  • Ckafka 连接器的数据处理功能提供了根据正则表达式提取消息内容的能力,正则提取采用的是开源的正则提取包 re2 。 Java 的标准正则表达式包 java.util.regex 以及其他被广泛使用的正则表达式包如 PCRE、Perlre和 Python(re),都使用回溯实现策略,即当一个 pattern 出现两个替代方案a|b 的时候,引擎将首先尝试匹配子模式a,如果匹配失败,它将重置输入流并尝试匹配子模式 b。
  • 操作场景: JSON 目前是互联网信息传递中最通用的格式协议之一。目前数据处理也主要围绕 JSON 数据格式进行解析处理。 JSONPath 是针对 JSON 格式推出的消息查询语法规范。在数据处理中,不仅能够使用简单的 JSONPath 语法,快速获取复杂嵌套 JSON 结构体的某一成员的值;还能使用 JayWay 库的扩展函数,聚合或操作某一类型的成员字段。
  • 操作背景: 通过 CKafka 连接器连接 CVM 自建的服务时,根据腾讯云网络团队制定的标准跨 VPC 资源访问方案,需要先将自建服务挂载到 CLB(负载均衡)上,才能实现跨 VPC 的资源访问。
  • 操作背景: 用户在使用 CKafka 连接器访问 CLS、COS 等服务时,需要授权连接器访问用户账号下 CLS、COS 等服务的权限。如果使用 CKafka 的子账号具备访问管理的策略权限(QcloudCamRoleFullAccess),在创建 CKafka 任务时勾选 角色授权,连接器将自动为您完成授权。否则,需要拥有管理员权限(AdministratorAccess)的用户进行相应的授权后,再使用子账号创建 连接器 任务。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部