

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

# 使用 API 密钥通过 Grafana HTTP API 进行身份验证
<a name="v10-using-api-keys"></a>

访问 Grafana API 的一种方法是使用 *API 密钥*，也称为 *API 令牌*。要创建 API 密钥，请使用以下过程之一。API 密钥在创建时指定的有限时间内有效，最长 30 天。

**Topics**
+ [创建 Grafana API 密钥，以便在工作区（控制台）中与 Grafana API 结合使用](#v10-API_key_console)
+ [使用创建亚马逊托管 Grafana 工作空间 API 密钥 AWS CLI](#v10-API_key_CLI)

**重要**  
在亚马逊托管 Grafana 版本 12 中，API 密钥已被弃用并已删除。改用服务帐号。有关更多信息，请参阅 [使用服务账户通过 Grafana HTTP API 进行身份验证](v10-service-accounts.md)。

创建 API 密钥时，需要为密钥指定一个*角色*。角色决定了密钥用户拥有的管理权限级别。

下表显示了授予管理员、编辑者和查看者角色的权限。第一个表显示了一般的组织权限。在此表中，**完全**表示能够查看、编辑、添加权限和删除权限。**浏览**列显示角色是否可以使用*浏览*视图。**其他**权限列显示角色是否拥有管理用户、团队、插件和组织设置的权限。


|  角色  |  控制面板  |  播放列表  |  文件夹  |  Explore  |  数据来源  |  其他权限  | 
| --- | --- | --- | --- | --- | --- | --- | 
| **查看者** |  视图  |  视图  |  否  |  否  |  否  |  否  | 
| **Editor (编辑器)** |  Full  |  Full  |  Full  |  是  |  否  |  否  | 
| **Admin** |  Full  |  Full  |  Full  |  是  |  Full  |  Full  | 

下表显示了您可以设置的其他控制面板级和文件夹级权限。这些角色不同于管理员、编辑者和查看者角色。


|  角色  |  控制面板  |  文件夹  |  更改权限  | 
| --- | --- | --- | --- | 
| **视图** |  视图  |  视图  |  否  | 
| **编辑** |  创建、编辑  |  视图  |  否  | 
| **Admin** |  创建、编辑、删除  |  创建、编辑、删除  |  是  | 

**注意**  
如果存在具有更多权限的一般规则，则范围更大、级别较低的权限不会生效。例如，如果您为用户授予组织**编辑者**角色，然后仅向该用户分配控制面板的**查看**权限，则限制性更强的**查看**权限将会无效，因为该用户具有**编辑者**角色而拥有完全的**编辑**访问权限。

## 创建 Grafana API 密钥，以便在工作区（控制台）中与 Grafana API 结合使用
<a name="v10-API_key_console"></a>

**注意**  
在与 Grafana 版本 10 及更高版本兼容的 Amazon Managed Grafana 工作区中，移除了在工作区中创建 API 密钥的功能。如果您的工作区是 Grafana 版本 10 的工作区，则只能通过 AWS CLI 或 API 创建 API 密钥。  
在亚马逊托管 Grafana 版本 12 中，API 密钥已被弃用并已删除。改用服务帐号。有关更多信息，请参阅 [使用服务账户通过 Grafana HTTP API 进行身份验证](v10-service-accounts.md)。

**要创建 Grafana API 密钥，以便在工作区（控制台）中与 Grafana API 结合使用**

1. 打开 Amazon Managed Grafana 控制台，其位于 [https://console.aws.amazon.com/grafana/](https://console.aws.amazon.com/grafana/home/)。

1. 在页面左上角，选择菜单图标，然后选择**所有工作区**。

1. 选择 Amazon Managed Grafana 工作区的名称。

1. 在工作区详细信息页面中，选择 **Grafana 工作区 URL** 下显示的 URL。

1.  在 Grafana 控制台侧边菜单中，将鼠标悬停在**配置**（齿轮）图标上，然后选择 **API 密钥**。

1. 选择**新的 API 密钥**。

1. 输入密钥的唯一名称。

1. 对于**角色**，选择要授予密钥的访问级别。选择**管理员**，允许拥有此密钥的用户在最广泛、最强大的管理级别使用 API。选择**编辑者**或**查看者**以将密钥的用户限制为这些权限级别。有关更多信息，请参阅前面的表。

1. 对于**生存时间**，指定您希望密钥有效的时间。最长为 30 天（一个月）。输入一个数字和一个字母。有效字母为 **s** 表示秒，**m** 表示分钟，**h** 表示小时，**d** 表示天，**w** 表示周，**M** 表示月。例如，**12h** 为 12 小时，**1M** 为 1 个月（30 天）。

    强烈建议您将密钥的生存时间设置为较短的时间，例如几个小时或更短。与拥有长期有效的 API 密钥相比，这样做风险要小得多。

1. 选择**添加**。

1. （可选）您可以使用 Terraform 通过[创建 API 密钥](v10-Grafana-API-Authentication.md) API 自动创建 API 密钥。有关使用 Terraform 自动创建 API 密钥的更多信息，请参阅[使用 Terraform 创建 Grafana API 密钥](https://aws-observability.github.io/observability-best-practices/recipes/recipes/amg-automation-tf/)。

## 使用创建亚马逊托管 Grafana 工作空间 API 密钥 AWS CLI
<a name="v10-API_key_CLI"></a>

**要使用 AWS CLI创建 Amazon Managed Grafana 工作区 API 密钥**

在以下示例中{{key\_name}}，用您自己的信息替换{{key\_role}}、{{seconds\_to\_live}}和{{workspace\_id}}。要了解 key-name、key-role 和 seconds-to-live 的格式，请参阅 API 指南中的 [https://docs.aws.amazon.com/grafana/latest/APIReference/API_CreateWorkspaceApiKey.html](https://docs.aws.amazon.com/grafana/latest/APIReference/API_CreateWorkspaceApiKey.html)。

```
aws grafana create-workspace-api-key --key-name "{{key_name}}" --key-role "{{key_role}}" --seconds-to-live {{seconds_to_live}} --workspace-id "{{workspace_id}}"
```

以下为示例 CLI 响应：

![create-workspace-api-key 输出示例](http://docs.aws.amazon.com/zh_cn/grafana/latest/userguide/images/APICLI.png)


你可以通过运行以下命令来找到你的工作区：{{workspace\_id}}

```
aws grafana list-workspaces
```