> ## Documentation Index
> Fetch the complete documentation index at: https://docs.molesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API Token 与服务账号

> 为脚本、采集器和 AI 客户端创建与撤销 API Token，并为长期运行的自动化提供独立身份。

API Token 让程序无需登录即可调用 MoleSignal。服务账号是这类程序的身份：它不能登录，它的 Token 以该账号的身份执行。打开 **身份与访问 → API tokens** 或 **服务账号**。

## Token 类型

| 类型 | 以谁的身份执行 | 创建位置 |
| - | - | - |
| **个人 API Token** | 当前登录用户，使用为该 Token 选择的角色。 | **API tokens** |
| **Service Account API Token** | 服务账号，使用该账号的角色。 | **API tokens** 或 **服务账号** |
| **默认接入 Token** | 只写的 `intake` 角色。 | **数据源**，参见[接入 Token](https://docs.molesignal.com/zh-Hans/intake#接入-token)。 |
| **RUM Client Token** | 只写的 `rum_client` 角色，绑定到一个用户体验应用。 | **数据源**，参见[接入 Token](https://docs.molesignal.com/zh-Hans/intake#接入-token)。 |

Token 的格式为 `ms_<prefix>_<secret>`，RUM Client Token 为 `msrum_…`。前缀用于查找 Token，Secret 只保存哈希值。像登录会话一样，把 Token 作为 Bearer 凭证发送：

```http theme={null}
Authorization: Bearer ms_…
```

Token 不能进入 `_sys` 组织。

## 创建 API Token

1. 打开 **API tokens**，点击 **创建 API token**。
2. 填写 **名称**，例如 `collector-production`。
3. 选择 **身份主体**：**当前用户** 或某个服务账号。
4. 选择 **角色**。服务账号的 Token 继承该账号的角色；个人 Token 可以选择 **默认接入角色（仅写入）** 或某个组织角色。角色不能包含创建者自己没有的权限。
5. 设置 **有效天数**：默认 365，最大 1825。留空表示永不过期。
6. 点击 **创建 Token**，再点击 **复制 Token**。Token 只显示这一次。

列表显示每个 Token 的前缀、身份主体、角色、类型、状态、过期时间和最近使用时间。**撤销** 会立即并永久停用 Token。

列出 Token 需要 `api_tokens.read`，创建或撤销 Token 需要 `api_tokens.manage`。

## 服务账号

采集器、CI 流水线、集成或 AI Agent 这类无人值守的程序应使用服务账号，这样成员离开工作区也不会中断自动化。

1. 打开 **服务账号**，点击 **创建服务账号**。
2. 填写 **名称**（例如 `deployment-automation`）、**描述** 和 **角色**。
3. 点击 **创建账号和 Token**，并复制初始 API Token。它在 365 天后过期，且只显示一次。

点击某个账号即可管理它：

| 操作 | 效果 |
| - | - |
| **保存更改** | 保存新的名称、描述或角色。该账号的所有 Token 都跟随新角色。 |
| **管理 API tokens** | 打开按该账号筛选的 **API tokens**，可以再创建 Token 或撤销某个 Token。 |
| **禁用** / **启用** | 禁用后，账号及其所有 Token 都无法通过认证，直到重新启用。 |
| **删除** | 删除账号并撤销它的所有 Token，无法撤回。 |

账号的 **身份主体 ID** 在审计记录和访问授权中标识它。读取服务账号需要 `service_accounts.read`，修改需要 `service_accounts.manage`。

## 选择合适的 Token

| 调用方 | 推荐的 Token |
| - | - |
| 发送遥测数据的采集器或 Agent | 默认接入 Token，或带 `intake` 角色的服务账号 Token。 |
| 发送用户体验数据的浏览器或移动端代码 | 该应用的 RUM Client Token。它对最终用户可见。 |
| 上报部署的 CI | 默认接入 Token，它同时持有 `apm.deploy`。 |
| 读取数据或修改资源的自动化 | 带窄权限[自定义角色](https://docs.molesignal.com/zh-Hans/identity/roles.md#角色)的服务账号 Token。 |
| 由人运行的 MCP 客户端或脚本 | 设置了有效期的个人 API Token。 |

登录会话默认 24 小时后过期（`[auth].token_ttl_secs`），不要把它交给持续运行的发送端。

## Token API

| 操作 | 端点 | 权限 |
| - | - | - |
| 签发 Token | `POST /api/v1/auth/tokens` | `api_tokens.manage` |
| 列出 Token | `GET /api/v1/auth/tokens` | `api_tokens.read` |
| 撤销 Token | `DELETE /api/v1/auth/tokens/{id}` | `api_tokens.manage` |

参见[签发 API Token](https://docs.molesignal.com/zh-Hans/api/auth/issue-token.md)、[列出 API Token](https://docs.molesignal.com/zh-Hans/api/auth/list-tokens.md)与[撤销 API Token](https://docs.molesignal.com/zh-Hans/api/auth/revoke-token.md)。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.