更新时间:2023-12-26 GMT+08:00

权限管理

如果您需要对ServiceStage的资源,给企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制云资源的访问。

通过IAM,您可以在云账号中给员工创建IAM用户,并使用策略来控制他们对云资源的访问范围。例如您的员工中有负责软件开发的人员,您希望他们拥有ServiceStage的使用权限,但是不希望他们拥有删除等高危操作的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用ServiceStage,但是不允许删除的权限策略,控制他们对ServiceStage资源的使用范围。

如果云账号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过本章节,不影响您使用ServiceStage服务的其它功能。

IAM是云服务提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。关于IAM的详细介绍,请参见《IAM产品介绍》

ServiceStage权限

默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。

ServiceStage资源通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域对应的项目中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问ServiceStage时,需要先切换至授权区域。

根据授权精细程度分为角色和策略:

  • 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于各云服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
  • 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。

表1所示,包括了ServiceStage的所有系统权限。推荐使用系统策略,系统角色仅用于兼容已有的权限配置。

表1 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

如果表1所列的这些权限不满足实际需求, 您可以参考表2表3,在这个基础上自定义策略。其中,“√”表示支持,“x”表示不支持。

表2 ServiceStage常用操作与系统权限之间的关系

操作

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

表3 CSE常用操作与系统权限之间的关系

操作

CSE ReadOnlyAccess

CSE FullAccess

创建微服务引擎

x

维护微服务引擎

x

查询微服务引擎

删除微服务引擎

x

创建微服务

x

查询微服务

维护微服务

x

删除微服务

x

创建微服务配置

x

查询微服务配置

编辑微服务配置

x

删除微服务配置

x

创建微服务治理策略

x

查询微服务治理策略

编辑微服务治理策略

x

删除微服务治理策略

x

细粒度权限

  • SWR未支持细粒度权限,相关权限需要另外授权。
  • 创建“计费模式”“包月/包年”的微服务引擎专享版时:
    • 创建订单不支付,创建该引擎的用户需拥有“BSS Operator”权限,即费用中心(BSS)操作员,拥有账号中心和资源中心的所有菜单项执行任意操作的权限,在费用中心有相关的只读权限。
    • 创建订单并支付,创建该引擎的用户需拥有“BSS Administrator”权限,即费用中心(BSS)管理员,拥有该服务下的所有权限。

使用自定义细粒度策略,请使用管理员用户登录IAM控制台,按需选择ServiceStage、CSE的细粒度权限进行授权操作。

  • CSE细粒度权限依赖说明请参见表4
  • ServiceStage细粒度权限依赖说明请参见表5
表4 CSE细粒度权限依赖说明

权限名称

权限描述

权限依赖

应用场景

cse:engine:list

列出所有引擎

查看引擎列表。

cse:engine:get

查看引擎信息

cse:engine:list

查看引擎详情,仅微服务引擎专享版支持。

cse:engine:modify

修改引擎

  • cse:engine:list
  • cse:engine:get

修改引擎的操作包括:开启/关闭公网访问操作、开启/关闭安全认证操作、引擎失败任务重试操作,仅微服务引擎专享版支持。

cse:engine:upgrade

升级引擎

  • cse:engine:list
  • cse:engine:get

升级引擎的操作包括:引擎版本升级操作,仅微服务引擎专享版支持。

cse:engine:delete

删除引擎

  • cse:engine:list
  • cse:engine:get
  • vpc:ports:get
  • vpc:ports:delete

删除引擎,仅微服务引擎专享版支持。

cse:engine:create

创建引擎

  • cse:engine:get
  • cse:engine:list
  • ecs:cloudServerFlavors:get
  • vpc:vpcs:get
  • vpc:vpcs:list
  • vpc:subnets:get
  • vpc:ports:get
  • vpc:ports:create

创建引擎的操作包括:创建引擎操作,引擎备份/恢复任务创建操作,仅微服务引擎专享版支持。

cse:config:modify

服务配置管理修改

  • cse:engine:list
  • cse:engine:get
  • cse:config:get

全局配置功能与治理功能涉及的配置修改。

cse:config:get

服务配置管理查看

  • cse:engine:list
  • cse:engine:get

查看服务的配置。

cse:governance:modify

服务治理中心修改

  • cse:engine:list
  • cse:engine:get
  • cse:config:get
  • cse:config:modify
  • cse:registry:get
  • cse:registry:modify
  • cse:governance:get

创建与修改服务治理。

cse:governance:get

服务治理中心查看

  • cse:engine:list
  • cse:engine:get
  • cse:config:get
  • cse:registry:get

查看服务治理功能。

cse:registry:modify

服务注册管理修改

  • cse:engine:list
  • cse:engine:get
  • cse:registry:get

服务修改。

cse:dashboard:modify

dashboard管理修改

  • cse:engine:list
  • cse:engine:get
  • cse:registry:get
  • cse:dashboard:get
  • cse:registry:modify

仪表盘修改。

cse:dashboard:get

dashboard管理查看

  • cse:engine:list
  • cse:engine:get
  • cse:registry:get

仪表盘查看。

cse:registry:get

服务注册管理查看

  • cse:engine:list
  • cse:engine:get

服务目录查看。

仪表盘不需要授权,但是依赖registry权限,因为仪表盘区分服务需要使用服务目录功能。

表5 ServiceStage细粒度权限依赖说明

权限名称

权限描述

权限依赖

应用场景

servicestage:app:get

查询应用信息

servicestage:app:list

查询应用信息。

servicestage:app:create

创建应用

  • servicestage:app:get
  • servicestage:app:list
  • servicestage:assembling:get
  • servicestage:assembling:list
  • servicestage:assembling:create

创建应用。

servicestage:app:modify

更新应用

  • servicestage:app:get
  • servicestage:app:list
  • servicestage:assembling:get
  • servicestage:assembling:list
  • servicestage:assembling:modify

更新应用。

servicestage:app:delete

删除应用

  • servicestage:app:get
  • servicestage:app:list
  • servicestage:assembling:delete

删除应用。

servicestage:app:list

查看环境和应用列表

查看环境和应用列表。

servicestage:environment:create

创建环境

  • servicestage:app:get
  • servicestage:app:list

创建环境。

servicestage:environment:modify

更新环境

  • servicestage:app:get
  • servicestage:app:list

更新环境。

servicestage:environment:delete

删除环境

  • servicestage:app:get
  • servicestage:app:list

删除环境。

servicestage:pipeline:get

查看流水线信息

  • servicestage:pipeline:list
  • servicestage:assembling:get
  • servicestage:assembling:list

查看流水线信息。

servicestage:pipeline:create

创建流水线

  • servicestage:pipeline:list
  • servicestage:pipeline:get
  • servicestage:assembling:create
  • servicestage:assembling:get
  • servicestage:assembling:list

创建流水线。

servicestage:pipeline:modify

修改流水线

  • servicestage:pipeline:get
  • servicestage:pipeline:list
  • servicestage:assembling:modify
  • servicestage:assembling:get
  • servicestage:assembling:list

修改流水线。

servicestage:pipeline:delete

删除流水线

  • servicestage:pipeline:get
  • servicestage:pipeline:list
  • servicestage:assembling:get
  • servicestage:assembling:list
  • servicestage:assembling:delete

删除流水线。

servicestage:pipeline:list

查看流水线列表

  • servicestage:assembling:get
  • servicestage:assembling:list

查看流水线列表

servicestage:pipeline:execute

执行流水线

  • servicestage:pipeline:get
  • servicestage:pipeline:list
  • servicestage:assembling:modify
  • servicestage:assembling:get
  • servicestage:assembling:list
  • servicestage:app:get
  • servicestage:app:list
  • servicestage:app:modify

执行流水线。

servicestage:assembling:get

查看构建信息

servicestage:assembling:list

查看构建信息。

servicestage:assembling:create

创建构建

  • servicestage:assembling:get
  • servicestage:assembling:list

创建构建。

servicestage:assembling:modify

修改构建

  • servicestage:assembling:get
  • servicestage:assembling:list

修改构建。

servicestage:assembling:delete

删除构建

  • servicestage:assembling:get
  • servicestage:assembling:list

删除构建。

servicestage:assembling:list

查看构建列表

查看构建列表。

ServiceStage控制台功能依赖的角色或策略

如果IAM用户需要在ServiceStage控制台拥有相应功能的查看或使用权限,请确认已经对该用户所在的用户组设置了ServiceStage Administrator、ServiceStage FullAccess或ServiceStage ReadOnlyAccess权限,再参考表6增加依赖服务的角色或策略。

表6 ServiceStage控制台依赖服务的角色或策略

控制台功能

依赖服务

需配置角色/策略

  • 总览
  • 告警
  • 运维监控

应用运维管理 AOM

  • IAM用户设置了ServiceStage Administrator权限后,需要增加AOM FullAccess权限后才能访问总览、告警、运维监控中的数据图表。
  • 支持设置了IAM ReadOnlyAccess和ServiceStage FullAccess或ServiceStage ReadOnlyAccess权限的IAM用户直接访问总览、告警、运维监控中的数据图表。

性能管理

应用性能管理 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

如果容器环境下部署的组件需要使用极速文件存储方式存储数据,需要设置SFS Turbo ReadOnlyAccess权限。

对象存储服务 OBS

如果容器环境下部署的组件需要使用对象存储方式存储数据,需要设置OBS ReadOnlyAccess权限。

云数据库

云数据库 RDS

如果需要为容器环境下部署的组件绑定RDS用于应用数据持久化存储,需要设置RDS ReadOnlyAccess权限。

  • 组件VPC内网访问
  • 组件域名访问

弹性负载均衡 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权限。