本文介绍任务调度SchedulerX支持的所有系统权限策略及其相应的权限描述,以供您授权 RAM 身份时参考。同时,还提供了自定义权限策略的创建方法及示例,以实现精细化授权。
什么是系统权限策略
权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件。阿里云访问控制(RAM)产品提供了两种类型的权限策略:系统策略和自定义策略。系统策略统一由阿里云创建,策略的版本更新由阿里云维护,用户只能使用不能修改。自定义策略由用户管理,策略的版本更新由用户维护。用户可以自主创建、更新和删除自定义策略。在产品迭代过程中,分布式任务调度会向系统策略中添加新的权限,用来支持新的功能和能力。系统策略的更新将会影响所有授予了该策略的 RAM 身份,包括 RAM 用户、RAM 用户组和 RAM 角色。有关 RAM 权限策略的更多信息,请参阅权限策略概览。
产品系统策略旨在帮助用户快速入门,仅需简单配置即可通过控制台访问该产品及其依赖产品。虽然系统策略包含的权限同样适用于 OpenAPI 或 CLI 等访问方式,但为了提高安全性,我们推荐您在这些场景下使用自定义策略,按需授予人员及应用特定 API 的访问权限。
系统策略可进一步细分为产品系统策略、服务角色策略和服务关联角色策略三类。部分云产品仅提供三类策略中的一类或两类,请以本文实际展示的策略类型为准。
产品系统策略
AliyunMSEFullAccess
您可以将 AliyunMSEFullAccess 策略授权给RAM身份。本策略定义了管理微服务引擎(MSE)的权限,并包括对SchedulerX和XXL-JOB的管理权限。
AliyunMSEReadOnlyAccess
您可以将 AliyunMSEReadOnlyAccess 策略授权给RAM身份。本策略定义了只读访问微服务引擎(MSE)的权限,并包括对SchedulerX和XXL-JOB的只读访问权限。
授权操作参考
RAM 身份默认没有任何权限,需要由阿里云账号管理员为其授权后才能访问阿里云账号下的资源。为保证资源的数据安全,建议您遵循最小授权原则为允许访问云资源的身份授予恰好够用的权限。授权的详细操作请参见:
什么是自定义权限策略
在基于RAM的访问控制体系中,自定义权限策略是指在系统权限策略之外,您可以自主创建、更新和删除的权限策略。自定义权限策略的版本更新需由您来维护。
创建自定义权限策略后,需为RAM用户、用户组或RAM角色绑定权限策略,这些RAM身份才能获得权限策略中指定的访问权限。
已创建的权限策略支持删除,但删除前需确保该策略未被引用。如果该权限策略已被引用,您需要在该权限策略的引用记录中移除授权。
自定义权限策略支持版本控制,您可以按照RAM规定的版本管理机制来管理您创建的自定义权限策略版本。
操作文档
权限说明
下面将对SchedulerX如何自定义权限策略配置细节进行说明,在RAM中定义权限策略主要包括:操作Action和资源Resource,您可根据SchedulerX定义的规则自行创建权限策略。
自定义策略主体结构
{
"Statement": [
{
"Action": "edas:*", // 操作Action配置项,配置说明参考下一节《操作Action》
"Effect": "Allow",
"Resource": "*" // 操作对象Resource配置项,配置说明参考下一节《资源Resource》
}
],
"Version": "1",
}
操作Action
SchedulerX的操作Action定义结构如下:
edas:${type}Schedulerx*
${type}
分为4个类型:Read、Manage、Delete、Create。包含相关操作如下所示:
类型 | 相关操作 |
类型 | 相关操作 |
Create | 创建命名空间、创建应用、创建任务、创建工作流。 |
Manage |
|
Delete | 删除命名空间、删除应用分组、删除任务、删除流程。 |
Read | 查询应用分组、查询任务、查询任务实例、查询流程、查询在线实例。 |
资源Resource
SchedulerX的资源Resource定义结构如下:
acs:edas:${regionid}:${accountid}:namespace/${namespace_id}/${resourceType}/${resourceId}
参数 | 描述 |
参数 | 描述 |
| 区域,针对某个区域资源访问。默认可配置 |
| 账号,针对某个账户资源访问。默认可配置 |
| 命名空间ID,针对某个命名空间。
|
| 资源种类,可选:JobGroup(SchedulerX下的任务应用分组)。 |
| 上述资源类型
|
常见自定义权限策略示例
给RAM用户授权所有资源的管理权限
管理SchedulerX的所有权限策略,允许访问SchedulerX下的所有操作和资源。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"edas:*Schedulerx*"
],
"Resource": [
"acs:edas:*:*:*"
]
}
]
}
给RAM用户授权所有资源的只读权限
设置ScheudlerX下所有资源的只读查询权限,允许查看SchedulerX下的所有资源信息。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"edas:ReadSchedulerx*"
],
"Resource": [
"acs:edas:*:*:*"
]
}
]
}
给RAM用户授权指定命名空间下所有Action的权限
设置指定空间或者部分空间下所有应用任务资源的管理权限,命名空间ID值需要从EDAS微服务空间下自行获取并进行配置。如下表示对两个空间(命名空间ID-01、命名空间ID-02)具备调度相关资源信息的管理权限。您还可以自行调整切换其中的Action配置来限制对上述资源的操作(如:Action定义为"edas:ReadSchedulerx*",则表示为对上述两个空间具备只读查询权限)。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"edas:*Schedulerx*"
],
"Resource": [
"acs:edas:*:*:namespace/命名空间ID-01/*",
"acs:edas:*:*:namespace/命名空间ID-02/*"
]
}
]
}
给RAM用户授权指定应用下所有Action的权限
设置任务调度中部分应用下的资源访问管理权限,Resource指定如下空间对应的JobGroup的应用ID信息即可设置相应应用下的访问权限。您也可以通过前缀加“*”模式(如下:"TestGroup*",表示TestGroup前缀的所有应用)来指定符合相应前缀的应用分组进行快速批量设置。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"edas:*Schedulerx*"
],
"Resource": [
"acs:edas:*:*:namespace/命名空间ID-01/JobGroup/TestGroup*",
"acs:edas:*:*:namespace/命名空间ID-02/JobGroup/AppGroup"
]
}
]
}
- 本页导读 (1)
- 什么是系统权限策略
- 产品系统策略
- 授权操作参考
- 什么是自定义权限策略
- 操作文档
- 权限说明
- 常见自定义权限策略示例