本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
身份验证 API
使用身份验证 API 在亚马逊托管 Grafana 工作空间中使用身份验证密钥。
注意
要在亚马逊托管 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
查询参数:
-
in cludeExpired —(可选)布尔参数,用于指定是否在返回的结果中包含过期的密钥。默认值为
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 正文架构:
-
名称-密钥的名称。
-
角色 — 设置密钥的访问级别(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"}