ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 一、Apollo项目权限管理 下面这张图是apollo的权限管理E-R图,我们可以通过这张图了解apollo的权限管理的设计。从图中左半部分可以看出Apollo配置管理中心是一个典型的RBAC权限管理模型: * 用户与角色是多对多关系 * 角色与权限是多对多关系 下图中的右半部分表示:第三方应用(本公司合作伙伴系统应用)使用apollo的权限管理设计。 ![](https://img.kancloud.cn/20/b8/20b872657d6839ba88fcc8edf77c317f_740x705.png) Apollo默认定义了如下的一些权限: * CreateCluster 创建集群 * CreateNamespace 创建namespace * ModifyNamespace 修改namespqce * AssignRole 分配角色 * ReleaseNamespace 为某项目删掉namespace标签 * CreateApplication 创建项目 ## 二、Apollo项目配置管理 ![](https://img.kancloud.cn/d3/7e/d37eac31c64d0c0a1db777e4eb4dfe68_948x848.png) * 一个App可部署到多个集群Cluster * 一个集群Cluster可以有多个命名空间namespace(可以理解为命名空间就是标签) * 一个App可以打上多个namespace标签(关系存储在appnamespace表里面) ## 三、部门管理 上面两张图中没有体现App与部门之间的关系:一个APP只能归属于一个部门,app项目表中包含该项目所属的部门。通过:管理员工具->系统参数,可以在apollo中配置部门信息。参数key:organizations,先查询,在修改、保存。 ![](https://img.kancloud.cn/a0/f1/a0f19917a2dfd0eed1e93eec2f084f9d_1131x374.png) Apollo的系统参数管理功能,就是给专业的IT运维人员用的,需要掌握JSON才能修改数据。并不针对小白用户提升用户体验。比如:我将样例部门二改为研发部,JSON代码如下: ~~~ [{"orgId":"TEST1","orgName":"样例部门1"},{"orgId":"yanfa","orgName":"研发部"}] ~~~ ## 四、用户管理 通过:管理员工具->用户管理。下面界面填写信息,用户存在则更新密码或邮箱,不存在则新增用户。 ![](https://img.kancloud.cn/1d/70/1d706599f3e7453c88c9ffa441b38af5_728x277.png) 除非我们设置了系统参数`role.create-application.enabled=true`,否则**新建的用户默认就具有创建项目的permission**了。如果设置了`role.create-application.enabled=true`,需要通过:管理员工具->系统权限管理,为新建用户增加创建项目的权限。 > 没有必要设置`role.create-application.enabled=true`,默认就可以,我们也没有必要进行下图中的设置。 ![](https://img.kancloud.cn/20/d9/20d9bf3d62f1dc5dfa5c2a0891aa620c_1005x534.png) ## 五、项目管理功能 我们在上面的用户创建过程中,创建了两个用户:zimug(字母哥)、zimud(字母弟)。假设zimug是项目负责人,zimud是项目的配置管理员。 ### 5.1.创建项目 使用zimug登录apollo,点击“创建项目”按钮(非常显著的位置)。输入项目信息: * 部门:选择应用所在的部门(上文讲过如何创建) * 应用AppId:用来标识应用身份的唯一id,格式为string,需要和项目配置文件applications.properties中配置的app.id对应 * 应用名称:应用名,仅用于界面展示 * 应用负责人:选择的人默认会成为该项目的管理员,具备项目权限管理、集群创建、Namespace创建等权限。 ![](https://img.kancloud.cn/1a/6a/1a6a947d296a286fbda33dda8d791fe6_837x410.png) ### 5.2.为项目组其他的用户赋权 创建项目成功后,会自动跳转到项目首页。 ![](https://img.kancloud.cn/6e/7d/6e7d3f5a0f9c8a4e41cc6c81dc3fdb7b_1891x669.png) zimug作为项目负责人不可能所有的事都自己做,他安排配置管理员zimud负责项目的配置管理。那么就需要给zimud授权。点击右上角的“授权”按钮: ![](https://img.kancloud.cn/6f/10/6f105fa82547ae57bb8156b13115e047_929x616.png) * 可以分别授予修改权限和发布权限 * 可以针对环境(DEV、PRO等)授权 授权完成之后,zimud登录apollo之后就可以管理我们新建的项目apollo-javaclient-test了。 #### 4.3.3 删除项目 删除项目:项目负责人zimug和项目配置管理员zimud都没有这个权限。得去找公司的配置管理员apollo。 点击右上角的“管理员工具–》删除应用、集群…”,首先查询出要删除的项目,点击“删除应用” ![](https://img.kancloud.cn/8e/9f/8e9f6c82dcac9ac01732601027c2910d_1001x228.png)