RAM权限配置

更新时间: 2023-08-29 18:45:00

SchedulerX支持基于RAM用户与用户组批量设置用户权限策略。RAM可以让您避免与其他用户共享阿里云账号密钥,按需分配最小权限,从而降低信息安全风险。本文介绍如何为RAM用户授予相关操作的权限。

RAM权限配置

自定义权限策略配置(推荐)

  1. 登录RAM控制台

  2. (可选)创建用户或用户组。具体操作,请参见创建RAM用户创建用户组。若已存在,请直接执行步骤3

  3. 创建自定义权限策略。具体操作,请参见创建自定义权限策略

    //SchedulerX管理员权限策略。
    {
      "Statement": [
        {
          "Action": "edas:*Schedulerx*",
          "Effect": "Allow",
          "Resource": [
                    "acs:edas:*:*:*"
                ]
        }
      ],
      "Version": "1"
    }
  4. 为单个用户分配步骤3配置的权限策略。具体操作,请参见为RAM用户授权

  5. 为用户组分配步骤3配置的权限策略以及将用户添加至具备相应权限策略的用户组。

    1. 为用户组分配权限策略。具体操作,请参见为用户组授权8

    2. 将用户添加至具备相应权限策略的用户组。具体操作,请参见方式二:在用户组页面添加RAM用户到用户组9

系统权限策略配置

您可按需选择配置AdministratorAccess、AliyunEDASFullAccess二种系统权限策略。具体操作,请参见为RAM用户授权

SchedulerX权限说明

SchedulerX兼容原有应用配置的权限,对于已配置应用权限的用户仍支持原有的权限配置。主账号默认拥有该账号下所有资源的操作管理权限。在后续权限控制中,建议采用RAM访问控制进行权限策略分配。SchedulerX基于RAM用户与用户组,便于批量设置权限策略,因此在原SchedulerX对应用的管理下,无需逐个对单独的用户进行独立授权。SchedulerX的权限策略分别支持以下两种共享的系统权限策略配置。

系统策略

说明

AdministratorAccess

管理所有阿里云资源,包含对SchedulerX下所有操作及资源的访问操作权限。

AliyunEDASFullAccess

管理EDAS权限,包含对SchedulerX下所有操作及资源的访问操作权限。

在RAM中定义权限策略主要包括:操作Action和资源Resource,您可根据SchedulerX定义的规则自行创建权限策略。

{
  "Statement": [
    { 
      "Action": "edas:*",
      "Effect": "Allow",
      "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}

参数

描述

${regionid}

区域,针对某个区域资源访问。默认可配置*

${accountid}

账号,针对某个账户资源访问。默认可配置*

${namespace_id}

命名空间ID,针对某个命名空间。

  • 非EDAS用户获取方式:

    1. 登录分布式任务调度平台

    2. 在左侧导航栏,单击命名空间,将鼠标悬停至目标命名空间ID右侧,单击image.png图标复制ID号替换${namespace_id}参数。

      image.png
  • EDAS用户获取方式:

    1. 登录EDAS控制台

    2. 在左侧导航栏,选择资源管理>微服务空间,在微服务空间页面,将鼠标悬停至目标微服务空间名称/ID/namespace右侧,单击image.png图标复制ID号替换${namespace_id}参数。

      image.png

${resourceType}

资源种类,可选:JobGroup(SchedulerX下的任务应用分组)。

${resourceId}

上述资源类型${resourceType}具体的ID。如果资源类型为JobGroup,该项配置为调度应用管理中的GroupId。

${resourceId}获取方式:

  1. 登录分布式任务调度平台

  2. 在左侧导航栏,单击应用管理,将鼠标悬停至应用ID右侧,单击image.png图标复制ID号替换${resourceId}参数。

    image.png

配置自定义权限策略案例

SchedulerX管理权限

管理SchedulerX的所有权限策略,允许访问SchedulerX下的所有操作和资源。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "edas:*Schedulerx*"
            ],
            "Resource": [
                "acs:edas:*:*:*"
            ]
        }
    ]
}

SchedulerX只读权限

设置ScheudlerX下所有资源的只读查询权限,允许查看SchedulerX下的所有资源信息。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "edas:ReadSchedulerx*"
            ],
            "Resource": [
                "acs:edas:*:*:*"
            ]
        }
    ]
}

SchedulerX指定空间权限

设置指定空间下所有应用任务资源的管理权限。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "edas:*Schedulerx*"
            ],
            "Resource": [
                "acs:edas:*:*:namespace/433d8b23-06e9-408c-aaaa-xxxxxx/*",
              	"acs:edas:*:*:namespace/222d8b23-06e9-408c-aaaa-yyyyyy/*"  
            ]
        }
    ]
}
  • Resource配置表示对两个空间(命名空间01433d8b23-06e9-408c-aaaa-xxxxx命名空间02222d8b23-06e9-408c-aaaa-yyyyyy)具备下属调度相关资源信息的管理权限。命名空间UID获取方式,请参见${namespace_id}

  • Action定义为"edas:ReadSchedulerx*"时,表示为对命名空间01命名空间02具备只读查询权限。

SchedulerX指定应用权限

设置部分任务调度中部分应用下的资源访问管理权限。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "edas:*Schedulerx*"
            ],
            "Resource": [
                "acs:edas:*:*:namespace/433d8b23-06e9-408c-aaaa-xxxxxx/JobGroup/TestGroup*",
              	"acs:edas:*:*:namespace/222d8b23-06e9-408c-aaaa-yyyyyy/JobGroup/AppGroup"
            ]
        }
    ]
}
  • Resource通过指定(命名空间01433d8b23-06e9-408c-aaaa-xxxxxx命名空间02222d8b23-06e9-408c-aaaa-yyyyyy)对应JobGroup的应用ID信息,设置相应应用下的访问权限。

  • 前缀加*表示指定符合相应前缀的应用分组,用于快速批量设置。例如,TestGroup*表示TestGroup前缀的所有应用。

阿里云首页 分布式任务调度 SchedulerX 相关技术圈