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

# 用户角色

> 如何在知行之桥中创建和管理角色、策略与权限。

export const siteNameShort = "知行之桥";

**角色**选项卡显示应用程序中定义的所有角色，以及关联的工作区和可承担每个角色的用户。角色用于限制用户只能在指定工作区中执行指定操作。分配给用户的角色会影响其在 {siteNameShort} 中可见的所有内容，包括：

* [工作区](../../../flows/workspaces)
* [报表](../reports)
* [概览数据](../dashboard)
* [日志](../activity)

要创建和管理角色，请导航至[系统设置页面](./settings-page)的**角色**选项卡。有关创建和管理用户的信息，请参阅[用户](./users)。

每个 {siteNameShort} 安装都包含三个无法编辑或删除的全局内置角色：

* [管理员](#管理员角色)
* [普通用户](#普通用户角色)
* [业务运维](#业务运维角色)

可以定义[自定义角色](#自定义角色)来限制用户权限。自定义角色由*策略*组成，可精确控制用户在 {siteNameShort} 中能查看或执行的操作，以及可访问的工作区、Flow API、连接和证书。

## 管理员角色

**管理员**角色拥有应用程序的完全控制权。管理员可以创建和删除[工作流](../../../flows)、更改[个人设置](../profiles)，以及执行控制台支持的所有操作。

只有管理员可以查看[审计日志](../activity#audit-logs)，其中以[防篡改方式](../activity#tamper-evident-logging)记录所有用户所做的更改。

## 普通用户角色

**普通用户**角色的成员可以创建、编辑和删除连接器与工作流，但不能更改应用程序级设置。

普通用户可以向工作流上传文件，也可以上传供连接器使用的公有证书，但不能上传在个人设置中配置的私有证书。

## 业务运维角色

**业务运维**是只读角色。该角色的成员不能创建或删除工作流，也不能更改应用程序设置。他们可以通过现有工作流发送文件，但不能上传新文件，只能处理连接器**交易**选项卡中已存在的文件。

## 自定义角色

自定义角色通过策略精细控制用户可见和可执行的操作。单个策略可以授予三个区域的权限：工作区（包括 Flow API 和连接器）、连接以及证书，并指定用户可以访问的具体资源。

### 创建角色和策略

1. 导航至[系统设置页面](./settings-page)的**角色**选项卡，然后点击**添加角色**。
2. 输入有意义的名称和描述，再点击**添加角色**。
3. 点击**添加策略**定义策略。
4. 策略分为**工作区权限**（包括连接器和 Flow API）、**连接权限**和**证书权限**。启用所需部分，然后按以下说明设置允许的操作和访问范围。每类访问均可使用相应的**所有当前和未来**开关授予全部资源访问权限，或关闭开关并选择特定子集。
5. 如需其他策略，请点击**添加策略**并重复上述步骤。
6. 完成后点击**保存**。

   <img src="https://mintcdn.com/qiao/kUAbHW4b4w3lCUYJ/public/images/role_policy_example_263.png?fit=max&auto=format&n=kUAbHW4b4w3lCUYJ&q=85&s=1c4790826930b7161414e14972950997" alt="包含两个策略的角色" width="800" data-path="public/images/role_policy_example_263.png" />

### 工作区权限

#### 工作区配置

勾选要分配的**允许的工作区操作**，然后在**工作区访问权限**中选择一个或多个工作区。使用**所有当前和未来的工作区**开关可授予所有工作区的访问权限。

#### 连接器配置

此区域控制用户可对所选工作区中的连接器执行的操作。勾选**允许的连接器操作**，然后通过**连接器访问权限**将策略限定到特定连接器类型，或所有当前和未来的连接器。

#### Flow API 配置

此区域控制用户可对 [Flow API](../../../flows/flow-api) 端点执行的操作。勾选所需的**允许的 Flow API 操作**，并通过 **Flow API 访问权限**选择特定 Flow API；也可启用**所有当前和未来的 Flow API**。

<Note>**Invoke** 操作独立于工作区访问权限。只获得 **Invoke** 权限的[服务账号](./users#用户类型)可以调用 Flow API 端点，而无需访问或查看 {siteNameShort} UI。这样可以向自动化客户端开放端点，而不授予更广泛的应用程序访问权限。</Note>

<img src="https://mintcdn.com/qiao/kUAbHW4b4w3lCUYJ/public/images/roles_policy1_complete_263.png?fit=max&auto=format&n=kUAbHW4b4w3lCUYJ&q=85&s=db895adbcb2508e62d7c103c86b9f6a0" alt="完整的工作区、连接器和 Flow API 权限" width="800" data-path="public/images/roles_policy1_complete_263.png" />

### 连接权限

**连接权限**控制连接的创建、更新和删除。授予任意连接权限时即隐含查看权限。

可以按连接名称、连接类型（如 SFTP、Amazon S3 或 Salesforce）或两者限定策略。名称和类型筛选同时设置时，只有同时匹配二者的连接才在范围内。启用**所有当前和未来的连接**可覆盖筛选并授予所有连接的访问权限。

<img src="https://mintcdn.com/qiao/kUAbHW4b4w3lCUYJ/public/images/roles_connection_permissions.png?fit=max&auto=format&n=kUAbHW4b4w3lCUYJ&q=85&s=08a771a61feaac72e0846b413238efe0" alt="完整的连接权限" width="800" data-path="public/images/roles_connection_permissions.png" />

<Note>定义连接权限时请谨慎。如果策略仅允许访问部分连接，用户可能创建不在自身访问范围内的新连接。创建后，该用户将无法查看或列出该连接。</Note>

### 证书权限

**证书权限**控制用户可对公有和私有证书执行的操作。勾选所需操作，然后使用**证书访问权限**将策略分配给一个或多个证书。

<img src="https://mintcdn.com/qiao/3lMD3uYuGJqErRlJ/public/images/roles_certificate_policy.png?fit=max&auto=format&n=3lMD3uYuGJqErRlJ&q=85&s=8933b86b98bc8017aa4d1a3f30f034ef" alt="证书策略设置" width="800" data-path="public/images/roles_certificate_policy.png" />

### 将用户与角色关联

1. 点击**关联用户**选项卡。
2. 点击**添加用户**，选择可承担该角色的用户。
3. 点击**添加用户**完成关联。
4. 在**角色**选项卡查看每个角色关联的工作区和用户；将鼠标悬停在数量上可查看详情。

<Note>如果证书策略只允许访问特定证书子集，受该策略约束的用户可以创建新证书，但创建后无法查看或列出该证书，因为它不在策略包含的证书范围内。</Note>

### 角色和策略示例

假设公司有两位 EDI 开发人员和两个贸易伙伴。贸易伙伴工作流分别位于 PartnerA 和 PartnerB 工作区。DevA 主要使用 PartnerA，但也需要在 PartnerB 中查看或发送文件。可以为 DevA 创建自定义角色并分配两个策略：

<img src="https://mintcdn.com/qiao/kUAbHW4b4w3lCUYJ/public/images/role_policy_example_263.png?fit=max&auto=format&n=kUAbHW4b4w3lCUYJ&q=85&s=1c4790826930b7161414e14972950997" alt="分配了两个策略的角色" width="800" data-path="public/images/role_policy_example_263.png" />

* Policy1 授予 DevA 对 PartnerA 工作区的完全访问权限。
* Policy2 授予 DevA 对 PartnerB 工作区的有限访问权限，只允许查看和发送文件。

## 用户角色比较表

| 操作                   | 管理员 | 普通用户 | 业务运维 |   自定义  |
| -------------------- | :-: | :--: | :--: | :----: |
| 修改工作流                |  ✔  |   ✔  |      |    ✔   |
| 更新设置                 |  ✔  |   ✔  |      |    ✔   |
| 删除连接器                |  ✔  |   ✔  |      |    ✔   |
| 创建连接器                |  ✔  |   ✔  |      |    ✔   |
| 上传文件                 |  ✔  |   ✔  |      |    ✔   |
| 发送文件                 |  ✔  |   ✔  |   ✔  |    ✔   |
| 接收文件（连接器的**交易**选项卡）  |  ✔  |   ✔  |   ✔  |    ✔   |
| 删除文件                 |  ✔  |   ✔  |      |    ✔   |
| 删除交易                 |  ✔  |   ✔  |      |    ✔   |
| 重新排队                 |  ✔  |   ✔  |   ✔  |    ✔   |
| 调用 Flow API 端点       |  ✔  |   ✔  |   ✔  |    ✔   |
| 创建、修改和删除 Flow API 端点 |  ✔  |   ✔  |      |    ✔   |
| 创建、更新和删除连接           |  ✔  |   ✔  |      |    ✔   |
| 查看连接器和工作流            |  ✔  |   ✔  |   ✔  | ✔ [^1] |
| 查看应用程序和交易日志          |  ✔  |   ✔  |   ✔  | ✔ [^1] |
| 将私有证书上传到个人设置         |  ✔  |      |      |        |
| 更改个人设置               |  ✔  |      |      |        |
| 查看审计日志               |  ✔  |      |      |        |
| 添加和管理用户              |  ✔  |      |      |        |

[^1]: 必须拥有工作区访问权限才能执行此操作。
