用户管理

更新时间:

在管理用户账号之前,首先需要登录阿里云官网,进入TSDB管理控制台,选择已经购买的实例。时序数据库 TSDB 1.0(引擎版本>=2.5.13)实例支持用户管理账号:super账号和普通账号。您可以在控制台管理所有账号,账号拥有的权限分为四类:只读、只写、读写、super。

管理用户账号

开启账号管理功能

在管理控制台中的账号管理页面中点击开启账号管理

创建用户账号
  1. 在管理控制台中的账号管理页面中点击创建

  2. 进入创建页面后,设置账号和密码。

    • 创建super账号:

    • 创建普通账号:

    参数说明:

    • 账号:由字母、数字、下划线组成,以字母开头、字母或数字结尾,不超过10个字节。

    • 密码:只能包含英文,数字,以及下划线,”@”, “#”, “.”四个特殊字符;长度在6~20个字节之间。

  3. 创建账号成功后,如下图所示(假设我们在这里创建了一个名为test的账号)。

删除用户账号

账号管理页面中,点击需要删除的用户账号对应的删除按钮即可,如下图所示。

注意 用户账号的权限修改和密码修改功能暂不支持。
关闭用户管理功能

在管理控制台中的账号管理页面中点击关闭账号管理

读写TSDB时使用用户信息进行鉴权

在上一章节中添加的TSDB用户,需要在查询/写入TSDB时使用添加的TSDB用户信息进行API鉴权。在开启用户账号管理的状态下,访问TSDB的大部分HTTP API时都需要以用户鉴权的方式进行HTTP请求。TSDB各个HTTP API对应不同的用户权限所采用的策略,请参见本文的常用API的权限策略

检测创建的用户可用

根据所创建的TSDB用户的权限,使用 curl 命令行工具组装以下请求访问TSDB实例的api/putapi/query接口即可验证所创建用户的可用性。如下所示(以 api/put为例):

curl -X POST -u ${创建的用户名}:${对应的用户密码明文} http://ts-xxxxxxx.hitsdb.tsdb.aliyuncs.com:8242/api?summary -d '[{"metric":"sys.cpu.nice","timestamp":1346846400,"value":18,"tags":{"host":"web01","dc":"lga"}}]'
在TSDB的SDK中配置用户信息
业务中使用创建的用户信息进行鉴权。使用方法为创建TSDBConfig对象时调用basicAuth方法传入创建的TSDB用户名以及密码的明文,之后所有从这个TSDBConfig对象派生出的连接都将会使用传入的用户信息访问TSDB。

说明

若要访问具备用户鉴权能力的TSDB服务实例,必须使用SDK的0.2.7及以上版本。

在非Java语言的应用中配置用户信息

对于无法使用 SDK的应用,如一个Python应用或一个Go语言应用等等,开发者需要结合自己所使用的HTTP客户端库拼装用于访问TSDB服务的HTTP连接时,对HTTP请求的Header中加入Authorization字段,并基于RFC 2617定义的基本认证格式,组装基本认证凭据文本,填入上述Authorization字段。 只有这样拼装的HTTP请求才有可能被TSDB服务接受并进行鉴权;否则将直接予以拒绝。

基本认证凭据的格式如下:
Basic {BASE64编码的认证信息}

其中需要被BASE64编码的认证信息明文为%Authorization:Basic ${创建的用户名}:${对应的用户密码}% (中间一定以冒号相隔)。

常用API的权限策略

API种类

No credential

WriteOnly

ReadOnly

ReadWrite

Super

/api/put

×

×

/api/query

×

×

/api/query/last

×

×

/api/mput

×

×

/api/mquery

×

×

/api/query/mlast

×

×

/api/prom_write

×

×

/api/prom_read

×

×

/api/suggest

×

×

/api/dump_meta

×

×

/api/search/lookup

×

×

/api/ttl

×

×

×

×

/api/delete_meta

×

×

/api/delete_data

×

×

/api/truncate

×

×

×

×