权限管理
如果您需要对华为云上购买的应用管理与运维平台(ServiceStage)资源,为企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全地控制华为云资源的访问。如果华为账号已经能满足您的要求,不需要通过IAM对用户进行权限管理,您可以跳过本章节,不影响您使用ServiceStage服务的其他功能。
IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。
通过IAM,您可以通过授权控制其对华为云资源的访问范围。例如您的员工中有负责软件开发的人员,您希望其拥有ServiceStage的使用权限,但是不希望其拥有删除等高危操作的权限,那么您可以使用IAM进行权限分配,通过授予用户仅能使用ServiceStage,但是不允许删除ServiceStage的权限,控制其对ServiceStage资源的使用范围。
目前IAM支持两类授权,一类是角色与策略授权,另一类为身份策略授权。两者有如下的区别和关系:
|
名称 |
核心关系 |
涉及的权限 |
授权方式 |
适用场景 |
|---|---|---|---|---|
|
角色与策略授权 |
用户-权限-授权范围 |
|
为主体授予角色或策略 |
核心关系为“用户-权限-授权范围”,每个用户根据所需权限和所需授权范围进行授权。无法直接给用户授权,需要维护更多的用户组,且支持的条件键较少,难以满足细粒度精确权限控制需求。更适用于对细粒度权限管控要求较低的中小企业用户。 |
|
身份策略授权 |
用户-策略 |
|
|
核心关系为“用户-策略”,管理员可根据业务需求定制不同的访问控制策略,能够做到更细粒度更灵活的权限控制。新增资源时,对比角色与策略授权,基于身份策略的授权模型可以更快速地直接给用户授权,灵活性更强,更方便。但相对应的,整体权限管控模型构建更加复杂,对相关人员专业能力要求更高。因此更适用于中大型企业。 |
例如:如果需要对IAM用户授予可以创建华北-北京四区域的ECS和华南-广州区域的OBS的权限,基于角色与策略授权的场景中,管理员需要创建两个自定义策略,并且为IAM用户同时授予这两个自定义策略才可以实现权限控制。在基于身份策略授权的场景中,管理员仅需要创建一个自定义身份策略,在策略中通过条件键“g:RequestedRegion”的配置即可达到策略对于授权区域的控制。将策略附加主体或为主体授予该策略即可获得相应权限,权限配置方式更细粒度更灵活。
两种授权场景下的策略/身份策略、授权项等并不互通,推荐使用身份策略进行授权。角色与策略权限管理和身份策略权限管理分别介绍两种模型的系统权限。
关于IAM的详细介绍,请参考IAM产品介绍。
角色与策略权限管理
ServiceStage服务支持角色与策略授权。默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。
ServiceStage部署时通过物理区域划分,为项目级服务。授权时,“授权范围”需要选择“指定区域项目资源”,然后在指定区域(如亚太-曼谷)对应的项目(ap-southeast-2)中设置相关权限,并且该权限仅对此项目生效;如果“授权范围”选择“所有资源”,则该权限在所有区域项目中都生效。访问ServiceStage时,需要先切换至授权区域。
如表2所示,包括了ServiceStage的所有系统权限。角色与策略授权场景的系统策略、身份策略授权场景的系统策略,两者并不互通。
|
系统角色/策略名称 |
描述 |
类别 |
依赖关系 |
|---|---|---|---|
|
ServiceStage FullAccess |
应用管理与运维平台所有权限。 |
系统策略 |
无 |
|
ServiceStage ReadOnlyAccess |
应用管理与运维平台只读权限。 |
系统策略 |
无 |
|
ServiceStage Development |
应用管理与运维平台开发者权限。 拥有应用、组件、环境的操作权限,但无审批权限和基础设施创建权限。 |
系统策略 |
无 |
|
CSE FullAccess |
微服务引擎管理员权限。 |
系统策略 |
无 |
|
CSE ReadOnlyAccess |
微服务引擎查看权限。 |
系统策略 |
无 |
|
ServiceStage Administrator |
应用管理与运维平台管理员,拥有该服务下的所有权限。 |
系统角色 |
Tenant Guest、Server Administrator、CCE Administrator、APM Administrator。 |
|
ServiceStage Operator |
应用管理与运维平台操作员,拥有该服务下的只读权限。 |
系统角色 |
Tenant Guest |
|
ServiceStage Developer |
应用管理与运维平台开发者,拥有该服务下的所有权限,但无基础设施创建权限。 |
系统角色 |
Tenant Guest |
表3、表4分别列出了ServiceStage、CSE常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。
其中,“√”表示支持,“x”表示不支持。
|
操作 |
ServiceStage ReadOnlyAccess |
ServiceStage Development |
ServiceStage FullAccess |
|---|---|---|---|
|
创建应用 |
x |
√ |
√ |
|
修改应用 |
x |
√ |
√ |
|
查询应用 |
√ |
√ |
√ |
|
删除应用 |
x |
√ |
√ |
|
创建组件 |
x |
√ |
√ |
|
查询组件 |
√ |
√ |
√ |
|
部署组件 |
x |
√ |
√ |
|
维护组件 |
x |
√ |
√ |
|
删除组件 |
x |
√ |
√ |
|
创建构建工程 |
x |
√ |
√ |
|
修改构建工程 |
x |
√ |
√ |
|
查询构建工程 |
√ |
√ |
√ |
|
启动构建工程 |
x |
√ |
√ |
|
删除构建工程 |
x |
√ |
√ |
|
创建流水线 |
x |
√ |
√ |
|
修改流水线 |
x |
√ |
√ |
|
查询流水线 |
√ |
√ |
√ |
|
启动流水线 |
x |
√ |
√ |
|
克隆流水线 |
x |
√ |
√ |
|
删除流水线 |
x |
√ |
√ |
|
新建仓库授权 |
x |
√ |
√ |
|
修改仓库授权 |
x |
√ |
√ |
|
查询仓库授权 |
√ |
√ |
√ |
|
删除仓库授权 |
x |
√ |
√ |
|
操作 |
CSE ReadOnlyAccess |
CSE FullAccess |
|---|---|---|
|
创建微服务引擎 |
x |
√ |
|
维护微服务引擎 |
x |
√ |
|
查询微服务引擎 |
√ |
√ |
|
删除微服务引擎 |
x |
√ |
|
创建微服务 |
x |
√ |
|
查询微服务 |
√ |
√ |
|
维护微服务 |
x |
√ |
|
删除微服务 |
x |
√ |
|
创建微服务配置 |
x |
√ |
|
查询微服务配置 |
√ |
√ |
|
编辑微服务配置 |
x |
√ |
|
删除微服务配置 |
x |
√ |
|
创建微服务治理策略 |
x |
√ |
|
查询微服务治理策略 |
√ |
√ |
|
编辑微服务治理策略 |
x |
√ |
|
删除微服务治理策略 |
x |
√ |
如果上表所列权限不能满足您的实际业务需求,可以在这个基础上通过IAM角色或策略授予使用ServiceStage的权限。ServiceStage、CSE支持的细粒度权限说明,请参考细粒度权限。
细粒度权限
- SWR未支持细粒度权限,相关权限需要另外授权。
- 创建“计费模式”为“包月/包年”的微服务引擎专享版时:
- 创建订单不支付,创建该引擎的用户需拥有“BSS Operator”权限,即费用中心(BSS)操作员,拥有账号中心和资源中心的所有菜单项执行任意操作的权限,在费用中心有相关的只读权限。
- 创建订单并支付,创建该引擎的用户需拥有“BSS Administrator”权限,即费用中心(BSS)管理员,拥有该服务下的所有权限。
使用自定义细粒度策略,请使用管理员用户登录IAM控制台,按需选择ServiceStage、CSE的细粒度权限进行授权操作。
|
权限名称 |
权限描述 |
权限依赖 |
应用场景 |
|---|---|---|---|
|
cse:engine:list |
列出所有引擎 |
无 |
查看微服务引擎专享版引擎列表。 |
|
cse:engine:get |
查看引擎信息 |
cse:engine:list |
查看微服务引擎专享版引擎详情。 |
|
cse:engine:modify |
修改引擎 |
|
说明:
此action只适用于角色与策略授权。 |
|
cse:engine:upgrade |
升级引擎 |
|
升级微服务引擎专享版。 |
|
cse:engine:delete |
删除引擎 |
|
删除微服务引擎专享版。 |
|
cse:engine:create |
创建引擎 |
|
|
|
cse:config:modify |
ServiceComb引擎服务配置管理修改 |
|
微服务引擎专享版全局配置功能与治理功能涉及的配置修改。 |
|
cse:config:get |
ServiceComb引擎服务配置管理查看 |
|
微服务引擎专享版查看服务的配置。 |
|
cse:governance:modify |
ServiceComb引擎服务治理中心修改 |
|
创建与修改微服务引擎专享版服务治理。 |
|
cse:governance:get |
ServiceComb引擎服务治理中心查看 |
|
查看微服务引擎专享版服务治理功能。 |
|
cse:registry:modify |
ServiceComb引擎服务注册管理修改 |
|
微服务引擎专享版服务修改。 |
|
cse:registry:get |
ServiceComb引擎服务注册管理查看 |
|
微服务引擎专享版服务目录查看。 |
|
cse:engine:backupRecover |
授予备份、恢复ServiceComb引擎数据和变更备份策略权限。 |
cse:engine:get |
对微服务引擎专享版进行备份与恢复。
说明:
此action只适用于身份策略授权。 |
|
cse:engine:associatePublicips |
授予绑定和解绑ServiceComb引擎公网访问权限。 |
cse:engine:get |
对微服务引擎专享版绑定与解绑公网IP。
说明:
此action只适用于身份策略授权。 |
|
cse:engine:update |
授予修改ServiceComb引擎配置和系统管理权限。 |
cse:engine:get |
修改微服务引擎专享版配置及用户、角色管理权限。
说明:
此action只适用于身份策略授权。 |
仪表盘不需要授权,但是依赖registry权限,因为仪表盘区分服务需要使用服务目录功能。
|
权限名称 |
权限描述 |
权限依赖 |
应用场景 |
|---|---|---|---|
|
servicestage:app:get |
查询应用信息 |
servicestage:app:list |
查询应用信息。 |
|
servicestage:app:create |
创建应用 |
|
创建应用。 |
|
servicestage:app:modify |
更新应用 |
|
更新应用。 |
|
servicestage:app:delete |
删除应用 |
|
删除应用。 |
|
servicestage:app:list |
查看环境和应用列表 |
无 |
查看环境和应用列表。 |
|
servicestage:environment:create |
创建环境 |
|
创建环境。 |
|
servicestage:environment:modify |
更新环境 |
|
更新环境。 |
|
servicestage:environment:delete |
删除环境 |
|
删除环境。 |
|
servicestage:pipeline:get |
查看流水线信息 |
|
查看流水线信息。 |
|
servicestage:pipeline:create |
创建流水线 |
|
创建流水线。 |
|
servicestage:pipeline:modify |
修改流水线 |
|
修改流水线。 |
|
servicestage:pipeline:delete |
删除流水线 |
|
删除流水线。 |
|
servicestage:pipeline:list |
查看流水线列表 |
|
查看流水线列表 |
|
servicestage:pipeline:execute |
执行流水线 |
|
执行流水线。 |
|
servicestage:assembling:get |
查看构建信息 |
servicestage:assembling:list |
查看构建信息。 |
|
servicestage:assembling:create |
创建构建 |
|
创建构建。 |
|
servicestage:assembling:modify |
修改构建 |
|
修改构建。 |
|
servicestage:assembling:delete |
删除构建 |
|
删除构建。 |
|
servicestage:assembling:list |
查看构建列表 |
无 |
查看构建列表。 |
ServiceStage控制台功能依赖的角色或策略
如果IAM用户需要在ServiceStage控制台拥有相应功能的查看或使用权限,请确认已经对该用户所在的用户组设置了ServiceStage Administrator、ServiceStage FullAccess或ServiceStage ReadOnlyAccess权限,再参考表7增加依赖服务的角色或策略。
|
控制台功能 |
依赖服务 |
需配置角色/策略 |
|---|---|---|
|
应用运维管理 AOM |
|
|
性能管理 |
应用性能管理 APM |
如果需要使用Java探针,需要设置AOM FullAccess和APM FullAccess权限。 |
|
组件管理 |
弹性伸缩组 AS |
如果需要使用AS资源用于虚拟机环境下部署组件,需要设置AutoScaling FullAccess权限。 |
|
云容器引擎 CCE |
如果需要使用CCE资源用于容器环境下部署组件,需要设置CCE FullAccess权限。 |
|
|
弹性云服务器 ECS |
如果需要使用ECS资源用于虚拟机环境下部署组件,需要设置ECS ReadOnlyAccess权限。 |
|
|
对象存储服务 OBS |
如果部署的组件来源于存储在OBS的软件包,需要设置OBS ReadOnlyAccess权限。 |
|
|
微服务引擎 |
微服务引擎 CSE |
如果需要为微服务组件绑定CSE用于服务注册、服务治理、配置管理,需要设置CSE FullAccess权限。 |
|
分布式缓存 |
分布式缓存服务 DCS |
如果需要为容器环境下部署的组件绑定DCS用于在应用运行时读取环境变量来获取分布式缓存的相关信息,需要设置DCS ReadOnlyAccess权限。 |
|
数据存储 |
云硬盘服务 EVS |
如果容器环境下部署的组件需要使用云硬盘存储方式存储数据,需要设置EVS ReadOnlyAccess权限。 |
|
弹性文件服务 SFS |
|
|
|
对象存储服务 OBS |
如果容器环境下部署的组件需要使用对象存储方式存储数据,需要设置OBS ReadOnlyAccess权限。 |
|
|
云数据库 |
云数据库 RDS |
如果需要为容器环境下部署的组件绑定RDS用于应用数据持久化存储,需要设置RDS ReadOnlyAccess权限。 |
|
弹性负载均衡 ELB |
如果需要为组件设置VPC内网访问或域名访问以使用组件提供的服务,需要设置ELB ReadOnlyAccess权限。 |
|
组件公网访问 |
NAT网关 NAT |
如果需要为组件设置通过NAT网关公网访问以使用组件提供的服务,需要设置NAT ReadOnlyAccess权限。 |
|
弹性公网IP EIP |
如果需要为组件设置通过EIP公网访问以使用组件提供的服务,需要设置EIP ReadOnlyAccess权限。 |
|
|
弹性负载均衡 ELB |
如果需要为组件设置通过ELB公网访问以使用组件提供的服务,需要设置ELB ReadOnlyAccess权限。 |
|
|
组件日志 |
云日志服务 LTS |
如果需要通过对接LTS,查看、搜索、导出组件运行LTS日志记录用于排查和解决组件运行中出现的问题,需要设置LTS FullAccess权限。 |
|
阈值告警 |
消息通知服务 SMN |
如果需要将容器环境下部署组件产生的阈值告警消息由消息通知服务SMN发送通知给用户,需要设置SMN ReadOnlyAccess权限。 |
|
镜像仓库 |
容器镜像仓库 SWR |
如果容器环境下部署的组件来源于存储在SWR的镜像包,需要设置SWR FullAccess权限。 |
|
标签管理 |
标签管理服务 TMS |
如果需要使用TMS对组件等管理对象设置标签用于管理和选择,需要设置TMS ReadOnlyAccess权限。 |
|
环境管理 |
虚拟私有云 VPC |
VPC用于创建环境时,将用于组件部署和运行的计算、网络、中间件等基础资源隔离在同一个虚拟网络环境中。需要设置VPC ReadOnlyAccess权限。 |
身份策略权限管理
ServiceStage服务支持身份策略授权。如表8所示,包括了ServiceStage基于身份策略中的所有系统身份策略。身份策略授权场景的系统身份策略、角色与策略授权场景的系统策略,两者并不互通。
|
系统策略名称 |
描述 |
策略类别 |
|---|---|---|
|
ServiceStageDeveloperPolicy |
应用管理与运维平台(ServiceStage)开发者权限,拥有应用、组件、环境的操作权限,但无审批权限和基础设施创建权限。 |
系统身份策略 |
|
ServiceStageReadOnlyPolicy |
应用管理与运维平台(ServiceStage)只读权限。 |
系统身份策略 |
|
ServiceStageFullAccessPolicy |
应用管理与运维平台(ServiceStage)所有权限。 |
系统身份策略 |
|
CSEReadOnlyPolicy |
微服务引擎查看权限。 |
系统身份策略 |
|
CSEFullAccessPolicy |
微服务引擎所有权限。 |
系统身份策略 |
|
CSEServiceLinkedAgencyPolicy |
微服务引擎实例创建和维护需要的委托权限。 |
系统身份策略 |
表9、表10分别列出了ServiceStage、CSE常用操作与系统身份策略的授权关系,您可以参照该表选择合适的系统身份策略。其中,“√”表示支持,“x”表示不支持。
|
操作 |
ServiceStageDeveloperPolicy |
ServiceStageReadOnlyPolicy |
ServiceStageFullAccessPolicy |
|---|---|---|---|
|
创建应用 |
√ |
x |
√ |
|
修改应用 |
√ |
x |
√ |
|
查询应用 |
√ |
√ |
√ |
|
删除应用 |
√ |
x |
√ |
|
创建组件 |
√ |
x |
√ |
|
查询组件 |
√ |
√ |
√ |
|
部署组件 |
√ |
x |
√ |
|
维护组件 |
√ |
x |
√ |
|
删除组件 |
√ |
x |
√ |
|
创建构建工程 |
√ |
x |
√ |
|
修改构建工程 |
√ |
x |
√ |
|
查询构建工程 |
√ |
√ |
√ |
|
启动构建工程 |
√ |
x |
√ |
|
删除构建工程 |
√ |
x |
√ |
|
创建流水线 |
√ |
x |
√ |
|
修改流水线 |
√ |
x |
√ |
|
查询流水线 |
√ |
√ |
√ |
|
启动流水线 |
√ |
x |
√ |
|
克隆流水线 |
√ |
x |
√ |
|
删除流水线 |
√ |
x |
√ |
|
新建仓库授权 |
√ |
x |
√ |
|
修改仓库授权 |
√ |
x |
√ |
|
查询仓库授权 |
√ |
√ |
√ |
|
删除仓库授权 |
√ |
x |
√ |
|
操作 |
CSEReadOnlyPolicy |
CSEFullAccessPolicy |
CSEServiceLinkedAgencyPolicy |
|---|---|---|---|
|
创建微服务引擎 |
√ |
√ |
x |
|
删除微服务引擎 |
√ |
√ |
x |
|
查询微服务引擎 |
√ |
x |
x |
|
扩容微服务引擎 |
√ |
√ |
x |
|
查询仪表盘 |
√ |
x |
x |
|
查询应用 |
√ |
x |
x |
|
查询实例 |
√ |
x |
x |
|
查询微服务 |
√ |
x |
x |
|
创建微服务 |
√ |
√ |
x |
|
删除微服务 |
√ |
√ |
x |
|
清理无实例版本 |
√ |
√ |
x |
|
查询治理策略 |
√ |
x |
x |
|
创建治理策略 |
√ |
√ |
x |
|
删除治理策略 |
√ |
√ |
x |
|
查询业务场景 |
√ |
x |
x |
|
创建业务场景 |
√ |
√ |
x |
|
删除业务场景 |
√ |
√ |
x |
|
查询微服务治理策略 |
√ |
x |
x |
|
新增微服务治理策略 |
√ |
√ |
x |
|
删除微服务治理策略 |
√ |
√ |
x |
|
新建配置 |
√ |
√ |
x |
|
修改配置 |
√ |
√ |
x |
|
导出配置 |
√ |
√ |
x |
|
开启安全认证 |
√ |
√ |
x |
ServiceStage控制台功能依赖的身份策略
如果IAM用户需要在ServiceStage控制台拥有相应功能的查看或使用权限,请确认已经对该用户所在的用户组设置了ServiceStageFullAccessPolicy或ServiceStageReadOnlyPolicy策略,再参考表7增加依赖服务的身份策略。
|
控制台功能 |
依赖服务 |
需配置身份策略 |
|---|---|---|
|
应用运维管理 AOM |
|
|
性能管理 |
应用性能管理 APM |
如果需要使用Java探针,需要设置AOMFullAccessPolicy和APMFullAccessPolicy策略。 |
|
组件管理 |
弹性伸缩组 AS |
如果需要使用AS资源用于虚拟机环境下部署组件,需要设置ASFullPolicy策略。 |
|
云容器引擎 CCE |
如果需要使用CCE资源用于容器环境下部署组件,需要设置CCEFullPolicy策略。 |
|
|
弹性云服务器 ECS |
如果需要使用ECS资源用于虚拟机环境下部署组件,需要设置ECSReadOnlyPolicy策略。 |
|
|
对象存储服务 OBS |
如果部署的组件来源于存储在OBS的软件包,需要设置OBSReadOnlyPolicy策略。 |
|
|
微服务引擎 |
微服务引擎 CSE |
如果需要为微服务组件绑定CSE用于服务注册、服务治理、配置管理,需要设置CSEFullAccessPolicy策略。 |
|
分布式缓存 |
分布式缓存服务 DCS |
如果需要为容器环境下部署的组件绑定DCS用于在应用运行时读取环境变量来获取分布式缓存的相关信息,需要设置DCSReadOnlyAccessPolicy策略。 |
|
数据存储 |
云硬盘服务 EVS |
如果容器环境下部署的组件需要使用云硬盘存储方式存储数据,需要设置EVSReadOnlyPolicy策略。 |
|
弹性文件服务 SFS |
如果容器环境下部署的组件需要使用极速文件存储方式存储数据,需要设置SFSTurboReadOnlyPolicy策略。 |
|
|
对象存储服务 OBS |
如果容器环境下部署的组件需要使用对象存储方式存储数据,需要设置OBSReadOnlyPolicy策略。 |
|
|
云数据库 |
云数据库 RDS |
如果需要为容器环境下部署的组件绑定RDS用于应用数据持久化存储,需要设置RDSReadOnlyPolicy策略。 |
|
弹性负载均衡 ELB |
如果需要为组件设置VPC内网访问或域名访问以使用组件提供的服务,需要设置ELBReadOnlyAccessPolicy策略。 |
|
组件公网访问 |
NAT网关 NAT |
如果需要为组件设置通过NAT网关公网访问以使用组件提供的服务,需要设置NATReadOnlyPolicy策略。 |
|
弹性公网IP EIP |
如果需要为组件设置通过EIP公网访问以使用组件提供的服务,需要设置EIPReadOnlyAccessPolicy策略。 |
|
|
弹性负载均衡 ELB |
如果需要为组件设置通过ELB公网访问以使用组件提供的服务,需要设置ELBReadOnlyAccessPolicy策略。 |
|
|
组件日志 |
云日志服务 LTS |
如果需要通过对接LTS,查看、搜索、导出组件运行LTS日志记录用于排查和解决组件运行中出现的问题,需要设置LTSFullAccessPolicy策略。 |
|
阈值告警 |
消息通知服务 SMN |
如果需要将容器环境下部署组件产生的阈值告警消息由消息通知服务SMN发送通知给用户,需要设置SMNReadOnlyPolicy策略。 |
|
镜像仓库 |
容器镜像仓库 SWR |
如果容器环境下部署的组件来源于存储在SWR的镜像包,需要设置SWRFullAccessPolicy策略。 |
|
标签管理 |
标签管理服务 TMS |
如果需要使用TMS对组件等管理对象设置标签用于管理和选择,需要设置TMSReadOnlyPolicy策略。 |
|
环境管理 |
虚拟私有云 VPC |
VPC用于创建环境时,将用于组件部署和运行的计算、网络、中间件等基础资源隔离在同一个虚拟网络环境中。需要设置VPCReadOnlyPolicy策略。 |