本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用身分驗證 API 來使用 Amazon Managed Grafana 工作區中的身分驗證金鑰。
注意
若要搭配 Amazon Managed Grafana 工作區使用 Grafana API,您必須擁有有效的 Grafana API 字符。您可以在 API 請求的 Authorization
欄位中包含此項目。如需有關如何建立權杖以驗證 API 呼叫的資訊,請參閱 使用字符進行驗證。
取得 API 金鑰
GET /api/auth/keys
範例請求
GET /api/auth/keys HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
查詢參數:
-
includeExpired – (選用) 布林值參數,指定是否要在傳回的結果中包含過期的金鑰。預設值為
false
。
回應範例
HTTP/1.1 200
Content-Type: application/json
[
{"id": 3,"name": "API","role": "Admin"},
{"id": 1,"name": "TestAdmin","role": "Admin","expiration": "2019-06-26T10:52:03+03:00"}
]
建立 API 金鑰
POST /api/auth/keys
範例請求
POST /api/auth/keys HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"name": "mykey",
"role": "Admin",
"secondsToLive": 86400
}
JSON 內文結構描述:
-
name — 金鑰的名稱。
-
role — 設定金鑰的存取層級 (Grafana 角色)。有效值為
Admin
、Editor
或Viewer
。 -
secondsToLive — 設定金鑰過期前的時間量。它必須是 2592000 (30 天) 或更少。
回應範例
{"name":"mykey","key":"eyJrIjoiWHZiSWd3NzdCYUZnNUtibE9obUpESmE3bzJYNDRIc0UiLCJuIjoibXlrZXkiLCJpZCI6MX1=","id":1}
錯誤狀態:
-
400 —
secondsToLive
大於 2592000 -
500 — 金鑰無法存放在資料庫中。
刪除 API 金鑰
DELETE /api/auth/keys/:id
範例請求
DELETE /api/auth/keys/3 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
回應範例
HTTP/1.1 200
Content-Type: application/json
{"message":"API key deleted"}