> ## 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.

# 角色与访问授权

> 基于权限目录创建自定义角色，把角色授予用户和团队并作用于整个组织或单个资源，以及向其他组织共享资源。

角色是一组具名的权限。成员在[用户](https://docs.molesignal.com/zh-Hans/identity/members.md#用户)中获得作用于整个工作区的角色。访问授权把角色授予用户或团队，作用于整个组织或选定的资源，还可以设置到期时间。打开 **身份与访问 → 角色** 或 **访问授权**。

## 角色

**角色** 列出工作区的内置角色和自定义角色，包括每个角色的权限数量和引用情况：成员、Token、邀请和绑定。内置角色只读，参见[内置角色](https://docs.molesignal.com/zh-Hans/identity#内置角色)。

创建自定义角色：

1. 点击 **新建角色**。
2. 填写 **Key**，只能使用小写字母、数字和下划线，创建后不能修改。
3. 填写 **名称** 和 **描述**。
4. 可以先选一个 **权限模板** 作为起点，再增删权限。每项权限都说明了它允许的操作。
5. 点击 **创建角色**。

| 模板 | 权限 |
| - | - |
| **只读观察者** | 读取可观测数据、仪表盘、告警、排班、保存的视图、流水线、函数和报告。 |
| **数据分析师** | 探索可观测数据，并创建仪表盘和保存的视图。 |
| **流水线开发者** | 读取可观测数据，并管理数据流、流水线和函数。 |
| **告警管理员** | 读取可观测数据，并管理告警规则和排班。 |
| **组织管理员** | 管理组织设置、成员、角色、访问授权和 API Token。 |

点击自定义角色即可修改。只有没有任何成员关系、Token、邀请或绑定引用时，**删除** 才能删掉自定义角色。读取角色需要 `iam.roles.read`，修改角色需要 `iam.roles.manage`。

## 访问授权

访问授权是一条角色绑定：在一个组织中、对一定范围的资源，把角色授予一个身份主体。访问权应跟随某个人、团队或资源，而不是扩大一个宽泛的角色时，使用访问授权。

1. 打开 **访问授权**，点击 **新建访问授权**。
2. **身份主体**：选择 **用户** 或 **团队**，再选定具体对象。
3. **组织**：显示当前工作区，仅供参考。
4. **资源范围**：**整个组织**，或一种资源类型（**仪表盘** 或 **数据流**）下的某个资源或 **该类型的全部资源**。
5. **角色与权限**：授权给出的角色。
6. **限制条件**：可选的 **环境**，请求的环境必须与它完全一致，例如 `prod`；以及 **到期时间**。
7. 点击 **创建授权**。

**删除** 立即终止授权。读取授权需要 `iam.policies.read`，创建或删除授权需要 `iam.policies.manage`。

## 跨组织共享资源

跨组织共享让另一个组织访问本组织的选定资源。共享是显式且不可传递的：只对选定的组织和资源生效，不会被继承或转授。

1. 在 **访问授权** 中点击 **跨组织共享**。
2. 选择 **目标组织**。
3. 选择资源类型和资源：**仪表盘** 或 **数据流**。
4. 选择权限：仪表盘可选 `dashboards.read` 和 `dashboards.edit`，数据流可选 `streams.read` 和 `streams.query`。
5. 可以设置 **到期时间**，然后点击 **创建共享**。

共享创建后处于 **等待接受** 状态。目标组织的管理员在自己的 **访问授权** 中点击 **接受** 后，共享变为 **已生效**。双方都可以 **撤销** 共享。创建、接受和撤销共享需要 `iam.policies.manage`。

## 权限参考

权限目录中的每项权限、它允许的操作，以及持有它的内置角色。自定义角色可以组合任意组织权限。

### 平台

| 权限 | 允许 | 内置角色 |
| - | - | - |
| `sys.administrators.manage` | 添加或移除平台级管理员。 | Owner, `platform_owner` |
| `sys.dashboards.read` | 打开并查看系统组织中的只读仪表盘。 | Owner, `platform_owner` |
| `sys.organizations.manage` | 创建、更新和管理平台内的组织。 | Owner, `platform_owner` |
| `sys.settings.manage` | 修改影响整个平台的设置。 | Owner, `platform_owner` |
| `sys.telemetry.manage` | 配置平台遥测数据的采集与保留。 | Owner, `platform_owner` |
| `sys.telemetry.read` | 读取平台自身的日志、指标和链路。 | Owner, `platform_owner` |
| `sys.trace_debug.manage` | 启用并配置平台链路调试。 | Owner, `platform_owner` |

### 组织与访问

| 权限 | 允许 | 内置角色 |
| - | - | - |
| `api_tokens.manage` | 创建和撤销 API Token。 | Owner, Admin |
| `api_tokens.read` | 查看 API Token 的元数据与状态。 | Owner, Admin |
| `audit.read` | 查看安全与管理审计事件。 | Owner, Admin |
| `iam.policies.manage` | 创建和撤销角色绑定及跨组织授权。 | Owner, Admin |
| `iam.policies.read` | 查看组织级和资源级访问授权。 | Owner, Admin |
| `iam.roles.manage` | 创建、更新和删除自定义角色。 | Owner, Admin |
| `iam.roles.read` | 查看内置角色与自定义角色。 | Owner, Admin |
| `org.members.manage` | 邀请、更新、停用和移除组织成员。 | Owner, Admin |
| `org.members.read` | 查看成员、团队和邀请。 | Owner, Admin |
| `org.settings.manage` | 修改当前组织的设置。 | Owner, Admin |
| `org.settings.read` | 查看当前组织的设置。 | Owner, Admin |
| `service_accounts.manage` | 创建服务账号及其初始绑定 API Token，并更新、禁用或删除这些身份。 | Owner, Admin |
| `service_accounts.read` | 查看服务账号身份、角色和状态。 | Owner, Admin |

### 数据

| 权限 | 允许 | 内置角色 |
| - | - | - |
| `apm.deploy` | 通过 `POST /api/v1/apm/deployments` 上报部署。 | Owner, Admin, Editor, `intake` |
| `apm.manage` | 修改服务定义、关键事务、错误状态、SLO 等 APM 设置。 | Owner, Admin, Editor |
| `rum.manage` | 修改 RUM 错误归并成的 issue 的状态、团队和处理人。 | Owner, Admin, Editor |
| `rum.write` | 仅向 RUM 会话、操作、错误和回放入口写入数据。 | Owner, Admin, Editor, `rum_client` |
| `saved_views.create` | 创建已保存的查询视图。 | Owner, Admin, Editor |
| `saved_views.delete` | 删除已保存的查询视图。 | Owner, Admin, Editor |
| `saved_views.edit` | 更新已有的查询视图。 | Owner, Admin, Editor |
| `saved_views.read` | 打开已保存的查询视图。 | Owner, Admin, Editor, Viewer |
| `streams.configure` | 修改数据流 Schema、索引和保留策略。 | Owner, Admin, Editor |
| `streams.create` | 创建新的数据流。 | Owner, Admin, Editor |
| `streams.delete` | 永久删除数据流。 | Owner, Admin, Editor |
| `streams.query` | 查询数据流中的日志、指标、链路、APM 用户体验和 Profiles。 | Owner, Admin, Editor, Viewer |
| `streams.read` | 查看数据流定义、Schema 与运行状态。 | Owner, Admin, Editor, Viewer |
| `streams.write` | 向已有数据流摄取数据。 | Owner, Admin, Editor, `intake` |

### 仪表盘与报告

| 权限 | 允许 | 内置角色 |
| - | - | - |
| `dashboards.create` | 创建和导入仪表盘。 | Owner, Admin, Editor |
| `dashboards.delete` | 永久删除仪表盘。 | Owner, Admin, Editor |
| `dashboards.edit` | 修改已有仪表盘。 | Owner, Admin, Editor |
| `dashboards.read` | 打开并查看仪表盘。 | Owner, Admin, Editor, Viewer |
| `dashboards.share` | 将仪表盘共享给其他组织。 | Owner, Admin, Editor |
| `reports.create` | 创建报告定义。 | Owner, Admin, Editor |
| `reports.delete` | 删除报告定义和调度。 | Owner, Admin, Editor |
| `reports.edit` | 编辑报告定义。 | Owner, Admin, Editor |
| `reports.read` | 查看已生成和计划生成的报告。 | Owner, Admin, Editor, Viewer |
| `reports.schedule` | 创建和修改报告调度。 | Owner, Admin, Editor |
| `reports.share` | 创建、轮换和停用报告的受限分享凭证。 | Owner, Admin, Editor |

### 告警与可靠性

| 权限 | 允许 | 内置角色 |
| - | - | - |
| `alerts.acknowledge` | 确认并解决告警事件。 | Owner, Admin, Editor |
| `alerts.manage` | 创建、编辑、静默和删除告警规则。 | Owner, Admin, Editor |
| `alerts.read` | 查看告警规则、事件和历史记录。 | Owner, Admin, Editor, Viewer |
| `alerts.silence` | 静默活跃事件并管理静默窗口。 | Owner, Admin, Editor |
| `postmortems.manage` | 创建和更新事件复盘。 | Owner, Admin |
| `postmortems.read` | 查看事件复盘及其证据。 | Owner, Admin |
| `schedules.manage` | 创建和编辑通知与值班排班。 | Owner, Admin, Editor |
| `schedules.read` | 查看通知与值班排班。 | Owner, Admin, Editor, Viewer |
| `service_levels.manage` | 创建和更新服务等级策略。 | Owner, Admin |
| `service_levels.read` | 查看服务等级策略及其当前达成情况。 | Owner, Admin |
| `status_pages.manage` | 创建和管理状态页、事件、订阅者、域名与私有访问。 | Owner, Admin |
| `status_pages.publish` | 将拨测失败与恢复状态发布到关联状态页。 | Owner, Admin |
| `status_pages.read` | 查看状态页配置、组件、事件和历史。 | Owner, Admin |
| `synthetics.locations.manage` | 创建私有探测地域，并接入或撤销 Probe Agent。 | Owner, Admin |
| `synthetics.manage` | 创建、编辑、运行、停用和归档拨测检查。 | Owner, Admin |
| `synthetics.read` | 查看拨测检查、修订、地域和执行结果。 | Owner, Admin |
| `synthetics.secrets.manage` | 创建和轮换拨测检查使用的只写加密值。 | Owner, Admin |

### 流水线与函数

| 权限 | 允许 | 内置角色 |
| - | - | - |
| `functions.create` | 创建处理与富化函数。 | Owner, Admin, Editor |
| `functions.delete` | 删除处理函数。 | Owner, Admin, Editor |
| `functions.edit` | 修改已有处理函数。 | Owner, Admin, Editor |
| `functions.read` | 查看处理与富化函数。 | Owner, Admin, Editor, Viewer |
| `functions.run` | 测试并运行处理函数。 | Owner, Admin, Editor |
| `pipelines.create` | 创建摄取流水线。 | Owner, Admin, Editor |
| `pipelines.delete` | 删除摄取流水线。 | Owner, Admin, Editor |
| `pipelines.edit` | 修改流水线定义和调度。 | Owner, Admin, Editor |
| `pipelines.pause` | 暂停或恢复计划流水线。 | Owner, Admin, Editor |
| `pipelines.read` | 查看摄取流水线及其运行记录。 | Owner, Admin, Editor, Viewer |
| `pipelines.run` | 手动运行流水线。 | Owner, Admin, Editor |

### Mole Agent

| 权限 | 允许 | 内置角色 |
| - | - | - |
| `agent.approve` | 审批智能工作流提出的受保护操作。 | Owner, Admin |
| `agent.automations.manage` | 创建、修改、启停、删除和运行 Mole Agent 自动化，并管理它们的 API 令牌。 | Owner, Admin, Editor |
| `agent.manage` | 配置智能服务商、工具与策略。 | Owner, Admin |
| `agent.use` | 使用辅助调查与分析功能。 | Owner, Admin, Editor, Viewer |
| `inspections.manage` | 创建、修改、启停、删除定时日志巡检，并手动执行。 | Owner, Admin, Editor |

## 角色与授权 API

| 操作 | 端点 | 权限 |
| - | - | - |
| 列出权限目录 | `GET /api/v1/iam/permissions` | `iam.roles.read` 或 `iam.policies.read` |
| 列出角色 | `GET /api/v1/roles` | `iam.roles.read` |
| 创建自定义角色 | `POST /api/v1/roles` | `iam.roles.manage` |
| 更新自定义角色 | `PATCH /api/v1/roles/{id}` | `iam.roles.manage` |
| 删除未被使用的自定义角色 | `DELETE /api/v1/roles/{id}` | `iam.roles.manage` |
| 列出或创建访问授权 | `GET /api/v1/iam/role-bindings`、`POST /api/v1/iam/role-bindings` | `iam.policies.read`、`iam.policies.manage` |
| 删除访问授权 | `DELETE /api/v1/iam/role-bindings/{id}` | `iam.policies.manage` |
| 列出或创建跨组织共享 | `GET /api/v1/iam/cross-org-grants`、`POST /api/v1/iam/cross-org-grants` | `iam.policies.read`、`iam.policies.manage` |
| 接受或撤销共享 | `POST /api/v1/iam/cross-org-grants/{id}/accept`、`POST /api/v1/iam/cross-org-grants/{id}/revoke` | `iam.policies.manage` |


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