本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用身份验证 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"}