文档中心

SequoiaDB 简介

快速入门

安装部署

数据库实例

分布式引擎

SAC 管控中心

SequoiaPerf 性能分析工具

参考手册

常见问题及解答(FAQ)

版本信息

createRole()

名称

createRole - 创建角色

语法

db.createRole(<role>)

类别

Sdb

描述

该函数用于创建自定义角色

参数

role ( object,必填

通过role指定创建的角色的角色名、权限和继承角色:

  • Role ( string,必填 ) 角色名,不可以_开头

  • Privileges ( array ) 授予角色的权限数组。一个权限由一个Resource和Actions组成。

  • Roles ( array) 该角色继承权限的角色数组。可以包含其他的自定义角色或者内建角色

返回值

函数执行成功时,无返回值。

函数执行失败时,将抛异常并输出错误信息。

错误

常见异常如下:

错误码 错误类型 描述 解决方法
-6 SDB_INVALIDARG 参数错误 检查角色定义是否符合模型
-408 SDB_AUTH_ROLE_EXIST 同名角色已存在

当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南

版本

v5.8 及以上版本

示例

在集群中创建一个名为foo_developer的角色,其继承了内建角色_foo.readWrite,并额外为其授予在集群上的snapshot权限

> db.createRole({
   Role: "foo_developer",
   Privileges:[
      {Resource:{Cluster:true}, Actions:["snapshot"]}
   ],
   Roles:["_foo.readWrite"]
})
回到顶部