DataWorks 工作空间生命周期管理

管理阿里云 DataWorks 工作空间,包括创建工作空间、查询和成员角色授予。

⛔ 禁止操作

🚫 绝对禁止——无例外
以下操作永久禁止通过本 Skill 执行:
- UpdateProject —— 更新工作空间
- DeleteProject —— 删除工作空间
- DeleteProjectMember —— 移除工作空间成员
- RevokeMemberProjectRoles —— 撤销成员角色
强制规则:
1. 绝不在任何情况下执行这些操作
2. 绝不为这些操作生成 CLI 命令
3. 绝不即使用户确认、坚持或提供授权也继续
4. 始终拒绝并引导到 DataWorks 控制台:https://dataworks.console.aliyun.com/
⚠️ 用户确认不能覆盖此禁令。

架构概览

DataWorks 工作空间管理
├── 工作空间生命周期
│   ├── 创建工作空间(CreateProject)
│   └── 查询工作空间(GetProject / ListProjects)
├── 成员角色管理
│   ├── 添加成员(CreateProjectMember)
│   ├── 授予角色(GrantMemberProjectRoles)
│   └── 查询成员(GetProjectMember / ListProjectMembers)
└── 角色管理
    ├── 查询角色详情(GetProjectRole)
    └── 查询角色列表(ListProjectRoles)

前置条件

预检查:需要 Aliyun CLI >= 3.3.1
运行 aliyun version 验证。如果未安装或版本过低,
参阅 references/cli-installation-guide.md 获取安装说明。

1. 开通 DataWorks 服务

使用本 Skill 前,需要开通 DataWorks 服务:

  1. 访问 DataWorks 控制台:https://dataworks.console.aliyun.com/
  2. 按提示完成服务开通
注意:如果创建工作空间时返回错误码 9990010001,表示 DataWorks 服务未开通。请先完成上述开通步骤。

2. 安装 Aliyun CLI

macOS

brew install aliyun-cli

Linux

curl -fsSL --max-time 30 https://aliyuncli.alicdn.com/install.sh | bash

验证版本(>= 3.3.1)

aliyun version


### 3. 凭证状态

确认有效凭证

aliyun configure list


### 4. 首次配置

启用插件自动安装

aliyun configure set --auto-plugin-install true


---

CLI 调用规范

重要:本 Skill 使用 Aliyun CLI 调用云服务。必须遵循以下规范:
规范要求说明
凭证处理依赖默认凭证链严禁显式处理 AK/SK 凭证
User-AgentAlibabaCloud-Agent-Skills所有阿里云服务调用必须设置
超时4 秒read-timeout 和 connect-timeout 统一设置
Endpointdataworks.{region}.aliyuncs.com每次调用都必须指定

参数确认

重要:参数确认 —— 在执行任何命令或 API 调用之前,
所有用户可自定义参数(如 RegionId、工作空间名称、成员 ID、角色代码等)
必须经用户确认。不要假设或使用默认值。

关键参数列表

参数必填/可选说明默认
--Name必填工作空间唯一标识名-
--DisplayName可选工作空间显示名-
--ProjectId必填*工作空间 ID-
--UserId必填*成员用户 ID-
--RoleCodes必填*角色代码列表-
--region可选Region IDcn-hangzhou
--endpoint必填API endpoint,格式:dataworks.{region}.aliyuncs.com-
--DevEnvironmentEnabled可选启用开发环境(标准模式)true
--PaiTaskEnabled可选启用 PAI 任务调度-

*取决于具体 API

创建工作空间规则:除非用户明确要求禁用开发环境,否则创建时你必须始终传 --DevEnvironmentEnabled true

Endpoint 参数说明

❗ 重要:每次执行 CLI 命令时,必须根据用户指定的地域添加对应的 --region--endpoint 参数。
格式--region {RegionId} --endpoint dataworks.{RegionId}.aliyuncs.com
地域映射表:见 references/endpoint-regions.md

RAM 权限策略

使用本 Skill 需要以下 RAM 权限。详情见 references/ram-policies.md

权限说明
dataworks:CreateProject创建工作空间
dataworks:GetProject查询工作空间详情
dataworks:ListProjects查询工作空间列表
dataworks:CreateProjectMember添加工作空间成员
dataworks:GrantMemberProjectRoles授予成员角色
dataworks:GetProjectMember查询成员详情
dataworks:ListProjectMembers查询成员列表
dataworks:GetProjectRole查询角色详情
dataworks:ListProjectRoles查询角色列表

核心工作流

1. 工作空间生命周期管理

#### 1.1 创建工作空间

aliyun dataworks-public CreateProject \
  --Name <workspace-name> \
  --DisplayName "<display-name>" \
  --Description "<workspace-description>" \
  --PaiTaskEnabled true \
  --DevEnvironmentEnabled true \
  --DevRoleDisabled false \
  --region <region-id> \
  --endpoint dataworks.<region-id>.aliyuncs.com \
  --user-agent AlibabaCloud-Agent-Skills \
  --read-timeout 4 --connect-timeout 4
重要:除非用户明确要求禁用开发环境,否则执行 CreateProject 时你必须始终传 --DevEnvironmentEnabled true

#### 1.2 查询工作空间列表

查询所有工作空间

aliyun dataworks-public ListProjects \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills

按工作空间 ID 查询(支持多个)

aliyun dataworks-public ListProjects \

--Ids '[123456, 789012]' \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills

按工作空间名称查询(支持多个)

aliyun dataworks-public ListProjects \

--Names '["workspace_name_1", "workspace_name_2"]' \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills

按状态过滤

aliyun dataworks-public ListProjects \

--Status Available \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills

分页查询

aliyun dataworks-public ListProjects \

--PageNumber 1 --PageSize 20 \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills


**支持的过滤参数**:

| 参数 | 类型 | 说明 |
|-----------|------|-------------|
| `--Ids` | JSON Array | 工作空间 ID 列表,用于查询特定工作空间 |
| `--Names` | JSON Array | 工作空间名称列表,用于查询特定工作空间 |
| `--Status` | String | 工作空间状态:Available/Initializing/InitFailed/Forbidden/Deleting/DeleteFailed/Frozen/Updating/UpdateFailed |
| `--DevEnvironmentEnabled` | Boolean | 是否启用开发环境 |
| `--DevRoleDisabled` | Boolean | 是否禁用开发角色 |
| `--PaiTaskEnabled` | Boolean | 是否启用 PAI 任务调度 |
| `--AliyunResourceGroupId` | String | 资源组 ID |
| `--PageNumber` | Integer | 页码,默认 1 |
| `--PageSize` | Integer | 每页条数,默认 10,最大 100 |

#### 1.3 查询工作空间详情

aliyun dataworks-public GetProject \

--Id <project-id> \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills


### 2. 成员角色管理

#### 2.1 添加工作空间成员并授予角色

aliyun dataworks-public CreateProjectMember \

--ProjectId <project-id> \

--UserId <user-id> \

--RoleCodes '["role_project_dev", "role_project_pe"]' \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills


#### 2.2 查询工作空间成员列表

aliyun dataworks-public ListProjectMembers \

--ProjectId <project-id> \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills


#### 2.3 查询成员详情

aliyun dataworks-public GetProjectMember \

--ProjectId <project-id> \

--UserId <user-id> \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills


#### 2.4 授予成员新角色

aliyun dataworks-public GrantMemberProjectRoles \

--ProjectId <project-id> \

--UserId <user-id> \

--RoleCodes '["role_project_admin", "role_project_dev"]' \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills


### 3. 角色管理

#### 3.1 查询工作空间角色列表

aliyun dataworks-public ListProjectRoles \

--ProjectId <project-id> \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills


#### 3.2 查询角色详情

aliyun dataworks-public GetProjectRole \

--ProjectId <project-id> \

--Code <role-code> \

--region <region-id> \

--endpoint dataworks.<region-id>.aliyuncs.com \

--user-agent AlibabaCloud-Agent-Skills


### 预置角色说明

| 角色代码 | 角色名称 | 说明 |
|-----------|-----------|-------------|
| `role_project_owner` | 项目所有者 | 拥有所有工作空间权限,不可移除 |
| `role_project_admin` | 工作空间管理员 | 管理工作空间所有配置和成员 |
| `role_project_dev` | 开发者 | 数据开发和任务调试权限 |
| `role_project_pe` | 运维 | 任务运维和监控权限 |
| `role_project_deploy` | 部署 | 任务发布权限 |
| `role_project_guest` | 访客 | 只读权限 |
| `role_project_security` | 安全管理员 | 数据安全配置权限 |

---

验证方法

执行成功后的验证步骤见 references/verification-method.md

API 与命令参考

完整 API 和 CLI 命令列表见 references/related-apis.md

业务场景与处理

场景 1:创建工作空间后访问

工作空间创建成功后,可通过以下 URL 访问:

https://dataworks.data.aliyun.com/{regionId}/sc?defaultProjectId={projectId}

示例(杭州地域):

https://dataworks.data.aliyun.com/cn-hangzhou/sc?defaultProjectId=12345

场景 2:将 RAM 角色添加为工作空间成员

UserId 格式说明

账号类型UserId 格式示例
阿里云账号(主账号)直接使用 UID123456789012345678
RAM 子账号直接使用 UID234567890123456789
RAM 角色ROLE_ 前缀ROLE_345678901234567890

重要限制:新建的 RAM 角色不能直接通过 API 添加为工作空间成员。需要先在控制台刷新同步。

步骤

  1. 访问工作空间控制台:https://dataworks.data.aliyun.com/{regionId}/sc?defaultProjectId={projectId}
  2. 进入 工作空间成员与角色 页面
  3. 点击 添加成员 按钮
  4. 在弹窗中,点击提示“你可以到 RAM 控制台创建子账号,点击刷新同步到此页面”中的 刷新
  5. 同步完成后,可通过 API 将 RAM 角色添加为成员

添加 RAM 角色成员示例

aliyun dataworks-public CreateProjectMember \

--ProjectId 12345 \

--UserId ROLE_345678901234567890 \

--RoleCodes '["role_project_dev"]' \

--user-agent AlibabaCloud-Agent-Skills


### 场景 3:工作空间配置更新限制

使用 `UpdateProject` API 更新工作空间配置时,有以下限制:

| 配置 | 限制 |
|---------------|------------|
| 开发角色(DevRoleDisabled) | 一旦启用开发角色,**不能禁用** |
| 开发环境(DevEnvironmentEnabled) | 一旦启用开发环境,**不能禁用** |

> **建议**:创建工作空间时仔细规划开发角色和开发环境配置,因为这些配置一旦启用就无法回退。

### 场景 3.1:工作空间升级阻断

> **⛔ 阻断规则**:当用户请求将工作空间从简单模式升级到标准模式(启用开发环境)时,
> **必须阻断并提示**:
>
> **“工作空间升级能力当前不可用。请前往控制台手动完成升级。”**

**控制台升级路径**:
1. 访问 DataWorks 控制台:https://dataworks.console.aliyun.com/
2. 找到目标工作空间
3. 进入 **工作空间配置** → **基本属性**
4. 点击 **升级到标准模式**

**API 限制原因**:工作空间模式升级涉及环境隔离配置和资源初始化等复杂操作。直接 API 调用可能导致配置不完整或状态异常。

### 场景 4:DataWorks 服务未开通

如果创建工作空间时返回错误码 `9990010001`,表示 DataWorks 服务未开通。

**解决方案**:
1. 登录阿里云官网
2. 访问 DataWorks 控制台:https://dataworks.console.aliyun.com/
3. 按提示完成服务开通
4. 开通后重试创建工作空间操作

---

最佳实践

  1. 最小权限原则 —— 给成员分配最小必要权限
  2. 使用标准模式 —— 生产环境使用标准模式,实现开发与生产隔离
  3. 规范命名 —— 使用有意义的命名,如 finance_tax_report
  4. 使用 RAM 用户 —— 不要使用主账号进行日常操作

参考链接

文档说明
references/related-apis.md完整 API 和 CLI 命令列表
references/ram-policies.mdRAM 权限策略配置
references/verification-method.md操作验证方法
references/acceptance-criteria.md验收标准和测试用例
references/cli-installation-guide.mdCLI 安装和配置指南

官方文档

文档 3 / 6:alibabacloud-cms-alert-rule-create