mirror of
https://github.com/rustdesk/doc.rustdesk.com.git
synced 2026-10-26 05:50:32 +00:00
docs: document admin and control role API scripts
- document admin role permissions and usage - clarify control role protobuf limitations Signed-off-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
1 parent
694bb328c5
commit
91990cbf84
12 files changed
+1251
-14
No files matched your search
@@ -120,7 +120,7 @@ RustDesk Server Pro Web 控制台是管理用户、设备、分组、授权、
|
||||
## API 令牌(Token)
|
||||
|
||||
首先,请前往 **Settings → Tokens → Create** 创建一个具有所需权限的令牌,所需权限包括:
|
||||
**Device, Audit Log, User, Group, Strategy, Address Book**。
|
||||
**Device, Audit Log, User, Group, Strategy, Address Book, Admin Role, Control Role**。
|
||||
|
||||
创建完成后,可以通过 **命令行 (Command Line)** 或 **Python CLI** 使用这些令牌执行相应权限的操作。
|
||||
|
||||
@@ -291,6 +291,107 @@ Windows 命令行默认无输出,如需查看输出,可使用如下方式运
|
||||
|
||||
---
|
||||
|
||||
#### 管理员角色管理 (`admin-roles.py`)
|
||||
|
||||
令牌必须属于完整管理员,并具有 **Admin Role** 读取或读写权限。解析用户名或列出角色成员的命令还需要 **User** 读取权限。
|
||||
|
||||
**查看角色:**
|
||||
|
||||
```bash
|
||||
./admin-roles.py --url <url> --token <token> view [--name <角色名称>] [--type global|individual|group]
|
||||
./admin-roles.py --url <url> --token <token> view --guid <角色GUID>
|
||||
```
|
||||
|
||||
**创建角色:**
|
||||
|
||||
```bash
|
||||
./admin-roles.py --url <url> --token <token> add \
|
||||
--name "Support Admin" --type global \
|
||||
--permissions "users.view,devices.view,audits.view" --note "只读支持"
|
||||
|
||||
./admin-roles.py --url <url> --token <token> add \
|
||||
--name "Support Scope" --type group \
|
||||
--permissions "users.view,devices.view,devices.enable_disable" \
|
||||
--user-groups "Support" --device-groups "Servers" --unassigned
|
||||
```
|
||||
|
||||
角色创建后不能更改类型。`--permissions` 接受逗号分隔的权限名称、十进制 ID 或以 `0x` 开头的 ID,也可以混用。例如,`users.view,513,0x0203` 等同于 `257,513,515`。服务器会拒绝不适用于所选角色类型的权限。
|
||||
|
||||
`view` 会把已知权限 ID 转换回下表中的名称。脚本不认识的 ID 会保留为数字,以免隐藏较新服务器增加的权限。
|
||||
|
||||
| 区域 | 权限 | 有效角色类型 |
|
||||
| --- | --- | --- |
|
||||
| 用户 | `users.view` (`257`); `users.create` (`259`); `users.invite` (`260`); `users.delete` (`261`); `users.enable_disable` (`262`); `users.edit_email` (`263`); `users.edit_password` (`264`); `users.edit_note` (`265`); `users.manage_2fa` (`266`); `users.force_logout` (`267`); `users.change_strategy` (`269`); `users.change_control_role` (`270`); `users.edit_display_name` (`271`) | `global`, `group` |
|
||||
| 用户 | `users.change_group` (`268`) | `global` |
|
||||
| 设备 | `devices.view` (`513`) | `global`, `group` |
|
||||
| 设备 | `devices.enable_disable` (`515`); `devices.delete` (`516`); `devices.edit_info` (`517`); `devices.change_strategy` (`520`) | `global`, `individual`, `group` |
|
||||
| 设备 | `devices.assign_to_user` (`518`); `devices.change_group` (`519`) | `global` |
|
||||
| 用户组 | `user_groups.view` (`769`); `user_groups.edit` (`770`) | `global` |
|
||||
| 设备组 | `device_groups.view` (`1025`); `device_groups.edit` (`1026`); `device_groups.change_strategy` (`1027`) | `global` |
|
||||
| 审计日志 | `audits.view` (`1281`); `audits.edit` (`1282`) | `global`, `individual` |
|
||||
| 策略 | `strategies.view` (`1537`); `strategies.edit` (`1538`) | `global` |
|
||||
| 自定义客户端 | `custom_clients.view` (`1793`); `custom_clients.edit` (`1794`) | `global` |
|
||||
| 控制角色 | `control_roles.view` (`2049`); `control_roles.edit` (`2050`) | `global` |
|
||||
|
||||
**更新或删除角色:**
|
||||
|
||||
```bash
|
||||
./admin-roles.py --url <url> --token <token> update --name "Support Admin" \
|
||||
[--new-name "Helpdesk Admin"] [--note "新备注"] [--permissions "users.view,devices.view"] \
|
||||
[--user-groups "Support"] [--device-groups "Servers"] [--unassigned|--no-unassigned]
|
||||
|
||||
./admin-roles.py --url <url> --token <token> delete --name "Support Admin"
|
||||
```
|
||||
|
||||
为 `--note`、`--permissions`、`--user-groups` 或 `--device-groups` 传入空值可清除该字段,例如 `--permissions ""`。
|
||||
|
||||
**管理角色成员:**
|
||||
|
||||
```bash
|
||||
./admin-roles.py --url <url> --token <token> view-users --name "Support Admin"
|
||||
./admin-roles.py --url <url> --token <token> add-users --name "Support Admin" --users "user1,user2"
|
||||
./admin-roles.py --url <url> --token <token> remove-users --name "Support Admin" --users "user1,user2"
|
||||
```
|
||||
|
||||
角色目标和用户也可以使用 GUID。`--users` 中可以混用用户名和 GUID。
|
||||
|
||||
---
|
||||
|
||||
#### 控制角色管理 (`control-roles.py`)
|
||||
|
||||
令牌需要 **Control Role** 读取或读写权限。解析用户名或列出角色成员的命令还需要 **User** 读取权限。
|
||||
|
||||
**查看角色:**
|
||||
|
||||
```bash
|
||||
./control-roles.py --url <url> --token <token> view [--name <角色名称>] [--status enabled|disabled]
|
||||
./control-roles.py --url <url> --token <token> view --guid <角色GUID>
|
||||
```
|
||||
|
||||
**创建、更新、删除、启用或禁用角色:**
|
||||
|
||||
```bash
|
||||
./control-roles.py --url <url> --token <token> add --name "Contractors" [--note "受限访问"]
|
||||
./control-roles.py --url <url> --token <token> update --name "Contractors" [--new-name "Vendors"] [--note "新备注"]
|
||||
./control-roles.py --url <url> --token <token> delete --name "Contractors"
|
||||
./control-roles.py --url <url> --token <token> enable --name "Contractors"
|
||||
./control-roles.py --url <url> --token <token> disable --name "Contractors"
|
||||
```
|
||||
|
||||
此脚本创建的新角色不包含控制权限。请先在 Web 控制台中配置,再分配用户。此脚本不管理或显示控制权限定义。
|
||||
|
||||
**管理角色成员:**
|
||||
|
||||
```bash
|
||||
./control-roles.py --url <url> --token <token> view-users --name "Contractors"
|
||||
./control-roles.py --url <url> --token <token> assign-users --name "Contractors" --users "user1,user2"
|
||||
./control-roles.py --url <url> --token <token> remove-users --users "user1,user2"
|
||||
```
|
||||
|
||||
角色目标和用户也可以使用 GUID。`remove-users` 会清除每个用户当前的控制角色,因此不接受 `--name` 或 `--guid`。对于保留的 `Default` 角色,`view-users` 只列出显式分配;未分配控制角色的用户也会继承 `Default`。`Not Logged` 角色不能分配给用户,保留角色不能重命名、添加备注或删除。
|
||||
|
||||
---
|
||||
|
||||
#### 设备组管理 (`device_group.py`)
|
||||
|
||||
**查看帮助:**
|
||||
|
||||
Reference in new issue
Block a user