基本定义
权限管理功能让我们能够控制用户所有操作的权限,可以给不同的成员、成员组设置不同的权限,实现更安全的团队协同。比如通过对用户设置适当的权限,可以只给有限几个可信赖的团队成员生产环境的操作权限,从而尽可能避免误操作带来的损失。除此以外,在后续开发中我们还将允许通过该模块控制用户对团队,开关,用户组,数据实验等等所有资源的操作权限,这部分功能目前还在开发中。
权限管理模块受 AWS IAM (Identiy and Access Management)的启发,具有很大的相似性,如果您对 IAM 非常熟悉,则可以直接开始使用该功能。
权限管理功能主要包含以下几个个概念:团队(即用户,但是区别于用户管理中的终端用户),组和策略。
个人账户
即每个使用者对应的账户。每个个人账户可以参与到多个组织机构,参与多个项目和环境,加入多个团队。
团队
一个组织的团队包括账户创建者和所有被邀请进来的用户。当邀请用户进入账户时,需要设置该用户的初始权限。
组
可以将若干团队成员组成一个组,方便进行批量权限设置。
策略
定义所有的操作权限,当把一个策略赋予某个成员时该成员就自动拥有了此策略定义的所有操作权限。同样的,当把一个策略赋予某个组时,该组里的所有团队成员也会自动拥有此策略定义的所有操作权限。
一个策略可以被同时赋予多个团队成员和组。
策略分为两类:客户托管的策略,敏捷开关托管的策略
- 客户托管的策略:用户自定义的策略。
- 敏捷开关托管的策略:由敏捷开关创建的内置策略。
敏捷开关内置了三个策略:
账户所有者:用户在创建账户时会被自动赋予该策略,该策略赋予团队成员操作一切的权限,请尽量避免将该策略赋予其他用户。
系统管理员:定义了系统管理员所需要的所有权限。包含以下具体操作权限
操作名称 说明 权限管理 (CanManageIAM) 操作权限管理模块的权限 修改机构名称 (UpdateOrgName) 查看项目列表 (ListProjects) 创建项目 (CreateProject) 删除项目 (DeleteProject) 进入环境 (AccessEnvs) 访问环境的权限 修改项目信息 (UpdateProjectInfo) 查看环境列表 (ListEnvs) 创建环境 (CreateEnv) 删除环境 (DeleteEnv) 修改环境信息 (UpdateEnvInfo) 开发者:定义了开发者的基础权限。包含以下具体操作权限
操作名称 说明 进入环境 (AccessEnvs) 访问环境的权限 查看项目列表 (ListProjects) 查看环境列表 (ListEnvs)
敏捷开关托管的策略不允许修改,但是可以复制然后保存为客户托管的策略。
敏捷开关允许给团队成员赋予内置策略(敏捷开关托管的策略),也可以基于内置策略创建自定义策略。