精细角色和权限
精细角色和权限
定义可用于 Eyeofcloud 功能实验的精细角色和权限。
精细权限允许您为 Feature Experimentation 项目中的实体设置精细的访问控制。如果您有多个团队处理同一个项目并希望实施特定的访问策略,这将特别有用。
使用精细权限,您可以:
- 限制谁可以更改您的生产环境,同时在较低环境中减少限制。
- 确保协作者只能编辑与其团队相关的标志。
- 将可见性限制为完全适用于敏感使用案例的标志。
关键概念
项目角色为标志和环境设置默认权限,但这些默认值可以被特定标志或环境角色覆盖。
Project Role (项目角色) – 为每个协作者分配一个项目角色。这将授予他们访问项目的权限,并为项目中的所有实体提供默认权限级别。
📘
注意
如果您的组织迁移到 Opti ID,则必须使用 Opti ID 管理用户。
请参阅 Opti ID 用户文档。Entities (实体) – 项目中的 “things”(事物)。例如:
Entity Role (实体角色) – 分配给单个实体的协作者的角色。协作者的项目角色是其实体的起点,提供默认实体角色。您可以提高或降低默认实体角色,以便为项目中的协作者提供所需的访问权限。
📘
注意
默认情况下,账户管理员和项目所有者可以更改其他用户的实体级权限。如果他们将该用户设为特定实体的 Admin,则该用户还可以管理该实体的权限。
每个协作者都从项目角色开始,该角色为项目中的所有实体设置其初始权限。这是基线,可以通过标志和环境角色进行更精细的控制。
配置环境角色
环境角色
您可以为用户分配以下环境角色:
管理
- 可以修改其他用户的环境权限。
- 加上所有 Publisher 权限。
发行人
- 可以发布或编辑环境中的所有标记规则。
- 加上所有 Editor 权限。
编辑 器
- 可以在环境中编辑未发布的标记规则。
- 加上所有 Viewer 权限。
观众
- 可以查看环境及其设置。
- 可以查看环境中的标志规则。
* 还必须具有 Editor 标志角色才能发布或编辑标志的规则。
** 还必须具有 Viewer 标志角色才能查看标志的规则。
📘
注意
虽然项目角色提供了默认值,但在环境或标志级别所做的任何调整均优先。
更新环境角色
转到 设置 > 环境。
对于所需的环境,请单击 More Options (...) > Manage Permissions。
(可选)搜索所需的用户。
单击 Edit(编辑)。
选择更新的 Environment Role (环境角色)。
单击 Save (保存)。
配置标志角色
标志角色
您可以为用户分配以下标志角色:
管理
- 可以修改其他用户的标志权限。
- 加上所有 Editor 权限。
编辑 器
- 可以发布规则或编辑已发布的规则。
- 可以编辑未发布的标记规则。
- 可以创建变量、变体和调整标志设置。
- 加上所有 Viewer 权限。
观众
- 可以访问标志并查看其内容。
没有
- 无法查看标志或其内容
* 还必须具有发布者环境角色,才能在特定环境中发布规则或编辑已发布的规则。
** 还必须具有 Editor 环境角色才能在特定环境中编辑未发布的规则。
还必须具有 Viewer 环境角色才能查看特定环境中的规则。
📘
注意
虽然项目角色提供了默认值,但在环境或标志级别所做的任何调整均优先。
更新标志角色
转到 Flags > Overview。
对于要更新的标志,请单击 More Options (...) > Manage Permissions。
(可选)搜索所需的用户。
单击 Edit(编辑)。
选择更新的 Flag Role (标志角色)。
单击 Save (保存)。
标志和环境角色之间的交互
在配置精细权限时,了解功能试验项目、实体以及标志与环境之间的关系非常有用。
每个标志规则在特定环境中运行,标志在环境中的规则集合称为规则集。使用精细权限时,标志和环境之间的较低角色决定了用户可以在规则集中执行哪些操作。
下图显示了示例标志和环境角色组合,以及每个标志和环境相交的结果规则集权限:
📘
注意
规则集中的最大权限为 Publisher。实体管理员可以管理该实体的权限,但仍最多被视为规则集中的发布者。
以下权限矩阵概述了环境角色和标志角色的不同组合如何影响您可以在规则集中执行的操作。
环境角色 | 标志角色 | 规则集中的有效权限 |
---|---|---|
管理员 | 管理员 | 发布 (可以发布和编辑规则以及管理权限) |
管理员 | 编辑者 | 编辑 (可以编辑但不能发布规则) |
管理员 | 观众 | 查看 (仅可查看规则) |
发行人 | 管理员 | 发行 |
发行人 | 编辑者 | 编辑 |
发行人 | 观众 | 观众 |
编辑者 | 管理员 | 编辑 |
编辑者 | 编辑者 | 编辑 |
编辑者 | 观众 | 查看 |
观众 | 管理员 | 查看 |
观众 | 编辑者 | 查看 |
观众 | 观众 | 查看 |
选择项目角色
项目角色 – Viewer
的 Viewer 角色允许您查看所有环境(Production、Staging、Development)中的标记,但不授予任何编辑或发布权限。查看者还可以查看哪些受众(iOS 用户、Android 用户、信用卡持有人)和事件(预批准开始、预先批准已提交、应用程序已提交)与这些标记相关联。
项目角色 – 编辑
Editor 角色允许您在所有环境中编辑标志,在某些情况下,还允许您发布,具体取决于特定的标志设置。编辑者可以修改要定位的受众,还可以管理与标志相关的事件。
项目角色 – 发布者
发布者角色允许您在所有环境中发布功能,并在不受限制的情况下进行编辑,从而确保目标受众可以看到更新。发布者可以管理事件。
项目角色 – 项目所有者
的 Project owner 角色允许您发布和编辑标志以及管理权限。项目所有者可以管理事件。
常见用例
以下是一些常见的精细权限使用案例,以及如何配置项目和实体角色以实现所需的工作流程。
📘
注意
以下是针对不使用 Opti ID 登录 Eyeofcloud 的用户。
您应该首先考虑向项目添加新协作者的不同方法。由于协作者的项目角色为所有标志和环境角色提供了一个起点,因此一种策略可能更适合您想要的用例:
- Edit access by default(默认编辑访问权限)– 使用 Editor (编辑者) 项目角色,新用户可以默认查看所有标志并编辑未发布的规则。他们无法在生产环境中发布规则,但可以在非生产环境中发布规则。您必须授予更高的访问权限,才能让他们在生产环境中发布规则。
- View access by default (默认查看访问权限) – 使用 Viewer (查看者) 项目角色,新用户可以默认查看所有环境中的所有标志及其规则。您必须明确授予对他们应该能够在其中编辑的标志和环境的更高访问权限。
用例:限制在生产环境中发布
- Objective (目标) – 限制谁可以在生产环境中发布或更改标记
- 建议的项目角色 – 编辑
- 建议的精细权限 – 发布者环境角色
默认情况下,将新协作者添加为 Editor 时,他们可以在非生产环境中创建、编辑和发布规则。在生产环境中,他们无法发布标志或编辑已发布的规则。要允许用户在生产环境中发布,请将其环境角色提升为 Publisher。
用例:避免其他团队无意中更改标志
- 目标 – 避免其他协作者无意中更改您团队的标志
- 建议的项目角色 – Viewer
- 建议的精细权限 – 编辑者标志角色 + 编辑者或发布者环境角色
将新协作者添加为 Viewer 可让您更明确地控制谁可以编辑每个标记。创建新标志时,将特定协作者的标志角色提升为 Editor,以便他们可以进行更改。
📘
注意
将用户作为 Viewer 添加到项目中意味着他们对所有环境都具有仅查看权限。在将他们的环境角色添加到项目后,您应该将其设置为适当的级别。