DolphinDB的权限管理和安全
DolphinDB database 提供了强大、灵活、安全的权限控制系统。控制节点(controller)作为权限管理中心,使用RSA加密方式对用户关键信息进行加密。
主要功能:
- 提供用户和组角色,方便权限控制
- 提供8种权限控制类别,适应各种场景
- 丰富的权限控制函数
- 函数视图兼顾保护数据隐私与提供分析结果
- 对任务调度和流数据任务动态鉴权,保证系统安全
- 使用RSA对用户关键信息加密
- 支持SSO,简化登录,方便系统扩展
1. 权限概述
1.1 用户和组
用户和组是承载权限的实体。一个用户可以属于多个组,一个组也可以包括多个用户。
引入组的概念,可以方便的对具有相同权限的用户进行权限配置和管理,用户终的实际权限是用户本身的权限,加上所属组的权限的结果。
1.2 系统管理员
DolphinDB集群次启动时,会自动创建用户名为"admin",密码为"123456"的系统管理员。此管理员拥有所有的权限,例如创建或删除数据库,可读写所有表,在数据库中创建或删除数据表,可使用所有的函数视图,可执行或测试脚本。此管理员可以创建或删除其他管理员。其他管理员刚被创建后,可创建或删除其他管理员,用户,或组,但除此之外没有任何权限。管理员可自我授权,亦可互相授权。请注意管理员"admin"无法被删除。
管理员可使用函数或命令createUser, deleteUser, createGroup, ddeleteGroup, addGroupMember, dlelteGroupMember, getUserAccess, getUserList, getGroupList, resetPwd 对用户和组进行方便的操作。
1.3 权限类别
DolphinDB提供以下8种权限类别:
- TABLE_READ: 从指定数据表中读取数据
- TABLE_WRITE: 将数据写入指定数据表
- DBOBJ_CREATE: 创建指定数据库中的对象(数据表)
- DBOBJ_DELETE: 删除指定数据库中的对象(数据表)
- VIEW_EXEC: 运行函数视图
- DB_MANAGE: 创建和删除数据库
- SCRIPT_EXEC: 运行脚本文件
- TEST_EXEC: 执行单元测试
其中前面5种需要提供操作对象,后面3种不需要提供操作对象。
请注意,权限配置中涉及到的数据库及数据表均为在分布式文件系统(DFS)中建立的。
1.4 权限设置
只有管理员才可设置权限,且只能在控制节点上执行权限类操作。刚创建的用户或组没有被赋予或被禁止任何权限。管理员可使用grant/deny/revoke 命令来设置用户或者组的权限。在1.3种的8种权限,可作为这三个命令的accessType参数值。
以下通过两个例子,说明权限设置的操作。
例子1
管理员登录:
login(`admin, `123456)
相关文章