# 部署 API

本节介绍 EMQX 部署 API 的功能以及如何创建和管理用于安全访问 API 的部署 API key。

## API 功能

部署 API 管理部署层面的功能，例如用于客户端监控、消息发布，认证授权等。

| API                                                          | 适用部署        | 描述                                                         |
| ------------------------------------------------------------ | --------------- | ------------------------------------------------------------ |
| [Serverless 部署 API](./serverless.md)                       | Serverless 部署 | 管理 Serverless 部署中客户端、订阅和发布的相关操作。         |
| [专有版 (v5) 部署 API](https://docs.emqx.com/zh/cloud/latest/api/dedicated.html) | 专有版 (v5) 部署 | 管理专有版 (v5) 部署中的各项操作。如果需要访问和管理专有版 (v4) 部署 API，请查看 [v4 API](https://docs.emqx.com/zh/cloud/v4/api/dedicated.html)。 |
| [BYOC 部署 API](https://docs.emqx.com/zh/cloud/latest/api/dedicated.html) （API 与专有版一致） | BYOC (v5) 部署 | 管理 BYOC (v5) 部署中的各项操作。 |

## 创建和管理部署 API Key

部署 API Key 用于对访问 EMQX 部署 API 的请求进行身份验证与授权。API Key 的创建与管理方式依据部署类型和版本的不同而有所差异。

### 在专有版 (v4/v5) 部署中创建 API Key

对于专有版 (v4) 和专有版 (v5) 部署，您可以为每个 API Key 添加自定义备注，并分配细粒度的访问权限。

1. 进入目标部署的部署概览页面。

2. 在**部署 API Key** 区域，点击 **+ 新建 API Key**。

3. 在弹出的对话框中填写以下信息：

   - **备注**（可选）：添加描述信息，用于标识该 API Key 的用途和范围。
   - **API 权限**：
     - 选择所需的 HTTP 方法（如 `GET`、`POST`、`PUT`、`DELETE`）。
     - 可通过关键字筛选或搜索特定 API 路径。
     - 也可使用分类级复选框，批量选择整个分类或具体 API。

   <img src="./_assets/new_api_key_dedicatedv5.png" alt="new_api_key_dedicatedv5" style="zoom:67%;" />

4. 点击**确认**后，系统将显示生成的 **App ID** 和 **App Secret**。

   ::: tip 重要提示

   App Secret 在 API Key 创建时仅显示一次，请妥善保存，一旦关闭将无法再次查看。

   :::

5. 点击**关闭**退出对话框。

::: tip 关于专有版 (v4) 历史 API Key

在权限选择功能上线前创建的专有版 (v4) API Key 默认拥有全部权限，备注为空，且列表中不显示创建时间。建议删除旧 API Key 并重新创建，以获得完整的权限控制和创建时间记录。

:::

### 在 Serverless 部署中创建 API Key

对于 Serverless 部署，API Key 将自动生成并默认拥有全部访问权限，不支持设置备注或配置权限。

1. 进入目标 Serverless 部署的部署概览页面。

2. 在**部署 API Key** 区域，点击 **+ 新建 API Key**。

3. 系统将自动生成 **App ID** 和 **App Secret**，并在确认对话框中显示。

   ::: tip 重要提示

   App Secret 在 API Key 创建时仅显示一次，请妥善保存，一旦关闭将无法再次查看。

   :::

4. 点击**关闭**退出对话框。

### 管理 API Key

- **编辑**（适用于专有版 v5 和 v4）：可更新备注信息或调整分配的 API 权限；
- **删除**：可随时删除 API Key，以立即撤销访问权限；
- **查看权限**（适用于专有版 v5 和 v4）：展开 API Key 记录，可查看其已分配的访问权限。

![view_api_key](./_assets/view_api_key.png)
