鉴权

http://${VEARCH_URL}代表vearch服务

RBAC 鉴权模式

分为用户(user)、role (角色)、权限三部分。权限定义对应接口资源的访问权限,角色则定义包含哪些权限,用户则归属于某种角色。

权限包含三种权限:WriteOnly、ReadOnly、WriteRead.

接口资源:

接口资源类型

字段含义

备注

ResourceAll

所有接口资源

root角色的权限

ResourceCluster

集群接口

/cluster 前缀的接口

ResourceServer

partition server接口资源

/servers 前缀的接口

ResourcePartition

自定义分片类型

/partitions 前缀的接口

ResourceDB

自定义分片字段

/dbs 前缀的接口

ResourceSpace

自定义分片范围

/dbs/$db_name/spaces 前缀的接口

ResourceDocument

自定义分片类型

/document 前缀的接口

ResourceIndex

自定义分片字段

/index 前缀的接口

ResourceAlias

自定义分片范围

/alias 前缀的接口

ResourceUser

自定义分片类型

/uesrs 前缀的接口

ResourceRole

自定义分片字段

/roles 前缀的接口

ResourceConfig

自定义分片范围

/config 前缀的接口

ResourceCache

自定义分片范围

/cache 前缀的接口

集群默认已经创建root用户和 root角色。

创建角色

curl -XPOST -H "content-type: application/json" -d'
 {
     "name": "test",
     "privileges": {
         "ResourceDocument": "ReadOnly"
     }
 }
' http://${VEARCH_URL}/roles

删除角色

curl -XDELETE http://${VEARCH_URL}/roles/$role_name

查看角色

curl -XGET http://${VEARCH_URL}/roles/$role_name

修改角色权限

添加权限

curl -XPUT -H "content-type: application/json" -d'
 {
     "name": "test",
     "operator": "Grant",
     "privileges": {
         "ResourceSpace": "WriteRead"
     }
 }
' http://${VEARCH_URL}/roles

删除权限

curl -XPUT -H "content-type: application/json" -d'
 {
     "name": "test",
     "operator": "Revoke",
     "privileges": {
         "ResourceDocument": "ReadOnly"
     }
 }
' http://${VEARCH_URL}/roles

创建用户

curl -XPOST -H "content-type: application/json" -d'
 {
     "name": "test",
     "password": "******",
     "role_name": "test"
 }
' http://${VEARCH_URL}/users

删除用户

curl -XDELETE http://${VEARCH_URL}/users/$user_name

查看用户

curl -XGET http://${VEARCH_URL}/users/$user_name

修改用户

修改用户角色

curl -XPUT -H "content-type: application/json" -d'
 {
     "name": "test",
     "role_name": "test2"
 }
' http://${VEARCH_URL}/users

修改用户密码

curl -XPUT -H "content-type: application/json" -d'
 {
     "name": "test",
     "password": "******",
     "old_password": "******"
 }
' http://${VEARCH_URL}/users