GridDB应用中用户认证实现、RBAC配置及Python客户端连接错误解决
GridDB应用中用户认证实现、RBAC配置及Python客户端连接错误解决
嘿,我看到你在GridDB的用户认证和RBAC配置上碰到了几个问题,尤其是Python客户端的连接报错,咱们一步步拆解解决。
首先先搞定你遇到的TypeError问题:你代码里用字典传递参数给get_store()的方式不对,GridDB Python客户端的get_store()方法不接受位置参数形式的字典,而是需要直接传入关键字参数。修正后的代码应该是这样的:
from griddb_python import StoreFactory, GSException try: factory = StoreFactory.get_instance() # 改用关键字参数传递连接信息 gridstore = factory.get_store( host="127.0.0.1", port=10040, cluster_name="myCluster", username="userious", password="brassword" ) print("Connected to GridDB!") except GSException as e: print("GSException:", e) except TypeError as e: print("TypeError:", e) except Exception as e: print("Failed to authenticate:", e)
这个修改应该能解决你那个参数错误的问题,不过前提是你的GridDB集群已经启用了用户认证功能,接下来咱们详细说认证和RBAC的配置。
1. 正确实现GridDB Python客户端的用户认证
要让认证生效,首先得确保GridDB集群本身已经开启了认证:
- 找到GridDB的配置文件(通常是
griddb.conf),设置authentication.enabled=true - 重启GridDB集群服务
之后,Python客户端的连接就必须带上用户名和密码,就像上面修正后的代码那样。另外要注意:
- 默认的管理员账号是
admin,密码也是admin,一定要记得修改默认密码,避免安全风险 - 如果集群开启了SSL,你还需要在连接参数里加上
ssl_mode=REQUIRED等相关SSL配置
2. 配置GridDB的角色-based访问控制(RBAC)
GridDB的RBAC需要通过官方提供的gs_sh命令行工具来配置,步骤如下:
步骤1:用管理员账号连接到GridDB集群
打开终端,运行:
gs_sh -u admin/admin
这里的admin/admin是默认的管理员用户名和密码,如果你已经修改过,就用新的凭证。
步骤2:创建用户
如果还没有目标用户,先创建用户:
CREATE USER userious IDENTIFIED BY brassword;
步骤3:创建角色并分配权限
先创建对应权限的角色,比如只读角色、读写角色、管理员角色:
-- 创建只读角色 CREATE ROLE read_only_role; -- 给只读角色分配所有容器的查询权限 GRANT SELECT ON ALL CONTAINERS TO read_only_role; -- 创建读写角色 CREATE ROLE read_write_role; -- 给读写角色分配所有容器的增删改查权限 GRANT SELECT, INSERT, UPDATE, DELETE ON ALL CONTAINERS TO read_write_role; -- 创建管理员角色(拥有集群级所有权限) CREATE ROLE admin_role; GRANT ALL PRIVILEGES ON CLUSTER TO admin_role;
你也可以针对单个容器分配权限,比如:
GRANT SELECT ON CONTAINER my_container TO read_only_role;
步骤4:将用户关联到角色
把创建好的用户分配给对应的角色:
GRANT read_write_role TO userious;
步骤5:验证权限
你可以用该用户的凭证连接集群,尝试执行对应权限的操作,比如只读用户无法执行插入数据的操作,这样就能验证RBAC是否生效了。
额外的RBAC操作
- 撤销权限:
REVOKE SELECT ON CONTAINER my_container FROM read_only_role; - 删除角色:
DROP ROLE read_only_role; - 删除用户:
DROP USER userious;
备注:内容来源于stack exchange,提问作者shahid urRehman
相关产品推荐
相关产品推荐

