权限管理
如果您需要对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的所有系统权限。推荐使用系统策略,系统角色仅用于兼容已有的权限配置。
系统角色/策略名称 |
描述 |
类别 |
依赖关系 |
---|---|---|---|
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”表示不支持。
操作 |
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 |
√ |
√ |
细粒度权限
- SWR未支持细粒度权限,相关权限需要另外授权。
- 创建“计费模式”为“包月/包年”的微服务引擎专享版时:
- 创建订单不支付,创建该引擎的用户需拥有“BSS Operator”权限,即费用中心(BSS)操作员,拥有账号中心和资源中心的所有菜单项执行任意操作的权限,在费用中心有相关的只读权限。
- 创建订单并支付,创建该引擎的用户需拥有“BSS Administrator”权限,即费用中心(BSS)管理员,拥有该服务下的所有权限。
使用自定义细粒度策略,请使用管理员用户登录IAM控制台,按需选择ServiceStage、CSE的细粒度权限进行授权操作。
权限名称 |
权限描述 |
权限依赖 |
应用场景 |
---|---|---|---|
cse:engine:list |
列出所有引擎 |
无 |
查看引擎列表。 |
cse:engine:get |
查看引擎信息 |
cse:engine:list |
查看引擎详情,仅微服务引擎专享版支持。 |
cse:engine:modify |
修改引擎 |
|
修改引擎的操作包括:开启/关闭公网访问操作、开启/关闭安全认证操作、引擎失败任务重试操作,仅微服务引擎专享版支持。 |
cse:engine:upgrade |
升级引擎 |
|
升级引擎的操作包括:引擎版本升级操作,仅微服务引擎专享版支持。 |
cse:engine:delete |
删除引擎 |
|
删除引擎,仅微服务引擎专享版支持。 |
cse:engine:create |
创建引擎 |
|
创建引擎的操作包括:创建引擎操作,引擎备份/恢复任务创建操作,仅微服务引擎专享版支持。 |
cse:config:modify |
服务配置管理修改 |
|
全局配置功能与治理功能涉及的配置修改。 |
cse:config:get |
服务配置管理查看 |
|
查看服务的配置。 |
cse:governance:modify |
服务治理中心修改 |
|
创建与修改服务治理。 |
cse:governance:get |
服务治理中心查看 |
|
查看服务治理功能。 |
cse:registry:modify |
服务注册管理修改 |
|
服务修改。 |
cse:dashboard:modify |
dashboard管理修改 |
|
仪表盘修改。 |
cse:dashboard:get |
dashboard管理查看 |
|
仪表盘查看。 |
cse:registry:get |
服务注册管理查看 |
|
服务目录查看。 |
仪表盘不需要授权,但是依赖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权限,再参考表6增加依赖服务的角色或策略。
控制台功能 |
依赖服务 |
需配置角色/策略 |
---|---|---|
|
应用运维管理 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 |
如果容器环境下部署的组件需要使用极速文件存储方式存储数据,需要设置SFS Turbo ReadOnlyAccess权限。 |
|
对象存储服务 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权限。 |