用戶管理
在管理用戶賬號(hào)之前,首先需要登錄阿里云官網(wǎng),進(jìn)入TSDB管理控制臺(tái),選擇已經(jīng)購(gòu)買的實(shí)例。時(shí)序數(shù)據(jù)庫(kù) TSDB 1.0(引擎版本>=2.5.13)實(shí)例支持用戶管理賬號(hào):super賬號(hào)和普通賬號(hào)。您可以在控制臺(tái)管理所有賬號(hào),賬號(hào)擁有的權(quán)限分為四類:只讀、只寫、讀寫、super。
管理用戶賬號(hào)
在管理控制臺(tái)中的賬號(hào)管理頁(yè)面中點(diǎn)擊開啟賬號(hào)管理。
在管理控制臺(tái)中的賬號(hào)管理頁(yè)面中點(diǎn)擊創(chuàng)建。
進(jìn)入創(chuàng)建頁(yè)面后,設(shè)置賬號(hào)和密碼。
創(chuàng)建super賬號(hào):
創(chuàng)建普通賬號(hào):
參數(shù)說明:
賬號(hào):由字母、數(shù)字、下劃線組成,以字母開頭、字母或數(shù)字結(jié)尾,不超過10個(gè)字節(jié)。
密碼:只能包含英文,數(shù)字,以及下劃線,”@”, “#”, “.”四個(gè)特殊字符;長(zhǎng)度在6~20個(gè)字節(jié)之間。
創(chuàng)建賬號(hào)成功后,如下圖所示(假設(shè)我們?cè)谶@里創(chuàng)建了一個(gè)名為
test
的賬號(hào))。
在賬號(hào)管理頁(yè)面中,點(diǎn)擊需要?jiǎng)h除的用戶賬號(hào)對(duì)應(yīng)的刪除按鈕即可,如下圖所示。
在管理控制臺(tái)中的賬號(hào)管理頁(yè)面中點(diǎn)擊關(guān)閉賬號(hào)管理。
讀寫TSDB時(shí)使用用戶信息進(jìn)行鑒權(quán)
在上一章節(jié)中添加的TSDB用戶,需要在查詢/寫入TSDB時(shí)使用添加的TSDB用戶信息進(jìn)行API鑒權(quán)。在開啟用戶賬號(hào)管理的狀態(tài)下,訪問TSDB的大部分HTTP API時(shí)都需要以用戶鑒權(quán)的方式進(jìn)行HTTP請(qǐng)求。TSDB各個(gè)HTTP API對(duì)應(yīng)不同的用戶權(quán)限所采用的策略,請(qǐng)參見本文的常用API的權(quán)限策略 。
根據(jù)所創(chuàng)建的TSDB用戶的權(quán)限,使用 curl
命令行工具組裝以下請(qǐng)求訪問TSDB實(shí)例的api/put
或api/query
接口即可驗(yàn)證所創(chuàng)建用戶的可用性。如下所示(以 api/put
為例):
curl -X POST -u ${創(chuàng)建的用戶名}:${對(duì)應(yīng)的用戶密碼明文} http://ts-xxxxxxx.hitsdb.tsdb.aliyuncs.com:8242/api?summary -d '[{"metric":"sys.cpu.nice","timestamp":1346846400,"value":18,"tags":{"host":"web01","dc":"lga"}}]'
TSDBConfig
對(duì)象時(shí)調(diào)用basicAuth
方法傳入創(chuàng)建的TSDB用戶名以及密碼的明文,之后所有從這個(gè)TSDBConfig
對(duì)象派生出的連接都將會(huì)使用傳入的用戶信息訪問TSDB。若要訪問具備用戶鑒權(quán)能力的TSDB服務(wù)實(shí)例,必須使用SDK的0.2.7及以上版本。
在非Java語言的應(yīng)用中配置用戶信息
對(duì)于無法使用 SDK的應(yīng)用,如一個(gè)Python應(yīng)用或一個(gè)Go語言應(yīng)用等等,開發(fā)者需要結(jié)合自己所使用的HTTP客戶端庫(kù)拼裝用于訪問TSDB服務(wù)的HTTP連接時(shí),對(duì)HTTP請(qǐng)求的Header中加入Authorization
字段,并基于RFC 2617定義的基本認(rèn)證格式,組裝基本認(rèn)證憑據(jù)文本,填入上述Authorization
字段。
只有這樣拼裝的HTTP請(qǐng)求才有可能被TSDB服務(wù)接受并進(jìn)行鑒權(quán);否則將直接予以拒絕。
Basic {BASE64編碼的認(rèn)證信息}
其中需要被BASE64編碼的認(rèn)證信息明文為%Authorization:Basic ${創(chuàng)建的用戶名}:${對(duì)應(yīng)的用戶密碼}%
(中間一定以冒號(hào)相隔)。
常用API的權(quán)限策略
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 | × | × | × | × | ○ |