身份验证 API - Amazon Managed Grafana

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

身份验证 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 角色)。有效值为 AdminEditorViewer

  • 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"}