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