详细分析 ▾
运行时依赖
版本
**重大变更:严格禁止破坏性操作并缩小允许范围。** - 永久禁止所有破坏性操作:工作空间更新、工作空间删除、成员移除及角色撤销——任何情况下均不得执行或建议。 - 技能现仅限创建工作空间、查询工作空间及成员信息、添加成员并授予角色。 - 新增明确禁止章节及不支持操作的重定向说明。 - 更新命令/参数规则以强制执行上述限制,并阐明所需行为。 - 文档及RAM策略引用已更新,以反映收窄的技能能力。
安装命令
点击复制技能文档
# DataWorks 工作空间生命周期管理 管理阿里云 DataWorks 工作空间,包括工作空间创建、查询及成员角色授权。 ## ⛔ 禁止操作 > 🚫 绝对禁止 – 无例外 > > 以下操作通过本技能被永久禁止: > > - UpdateProject - 更新工作空间 > - DeleteProject - 删除工作空间 > - DeleteProjectMember - 移除工作空间成员 > - RevokeMemberProjectRoles - 撤销成员角色 > > 强制规则: > 1. 任何情况下都不得执行这些操作 > 2. 不得为这些操作生成 CLI 命令 > 3. 即使用户确认、坚持或提供授权,也不得继续 > 4. 始终拒绝并引导用户前往 DataWorks 控制台:https://dataworks.console.aliyun.com/ > > ⚠️ 用户确认无法覆盖此禁令。 --- ## 架构概览 `` DataWorks Workspace Management ├── 工作空间生命周期 │ ├── 创建工作空间 (CreateProject) │ └── 查询工作空间 (GetProject / ListProjects) ├── 成员角色管理 │ ├── 添加成员 (CreateProjectMember) │ ├── 授予角色 (GrantMemberProjectRoles) │ └── 查询成员 (GetProjectMember / ListProjectMembers) └── 角色管理 ├── 查询角色详情 (GetProjectRole) └── 查询角色列表 (ListProjectRoles) ` --- ## 前置条件 > 预检:需要 Aliyun CLI >= 3.3.1 > 运行 aliyun version 验证。如果未安装或版本过低, > 请参考 references/cli-installation-guide.md 安装。 ### 1. 开通 DataWorks 服务 使用本技能前需先开通 DataWorks 服务: 1. 访问 DataWorks 控制台:https://dataworks.console.aliyun.com/ 2. 根据提示完成服务开通 > 注意:如果创建工作空间时返回错误码 9990010001,表示 DataWorks 服务未开通,请先完成上述开通步骤。 ### 2. 安装 Aliyun CLI `bash # macOS brew install aliyun-cli # Linux curl -fsSL --max-time 30 https://aliyuncli.alicdn.com/install.sh | bash # 验证版本(>= 3.3.1) aliyun version ` ### 3. 凭证状态 `bash # 确认有效凭证 aliyun configure list ` ### 4. 首次配置 `bash # 启用自动插件安装 aliyun configure set --auto-plugin-install true ` --- ## CLI 调用规范 > 重要:本技能使用 Aliyun CLI 调用云服务,必须遵循以下规范: | 规范 | 要求 | 说明 | |---------------|-------------|-------------| | 凭证处理 | 依赖默认凭证链 | 严禁显式处理 AK/SK 凭证 | | User-Agent | AlibabaCloud-Agent-Skills | 所有阿里云调用必须设置 | | 超时 | 4 秒 | 统一设置读写超时 | | 接入点 | dataworks.{region}.aliyuncs.com | 每次调用必须指定 | --- ## 参数确认 > 重要:参数确认 — 在执行任何命令或 API 调用前, > 所有用户可自定义参数(如 RegionId、工作空间名称、成员 ID、角色代码等) > 必须由用户确认,不得假设或使用默认值。 ### 关键参数列表 | 参数 | 必填/可选 | 说明 | 默认值 | |-----------|-------------------|-------------|---------| | --Name | 必填 | 工作空间唯一标识名称 | - | | --DisplayName | 可选 | 工作空间显示名称 | - | | --ProjectId | 必填 | 工作空间 ID | - | | --UserId | 必填 | 成员用户 ID | - | | --RoleCodes | 必填 | 角色代码列表 | - | | --region | 可选 | 地域 ID | cn-hangzhou | | --endpoint | 必填 | API 接入点,格式:dataworks.{region}.aliyuncs.com | - | | --DevEnvironmentEnabled | 可选 | 是否启用开发环境(标准模式) | true | | --PaiTaskEnabled | 可选 | 是否启用 PAI 任务调度 | - | 视具体 API 而定 > 创建工作空间规则:除非用户明确请求禁用开发环境,否则在创建工作空间时必须传入 --DevEnvironmentEnabled true。 ### 接入点参数说明 > ❗ 重要:每次执行 CLI 命令时,必须根据用户指定的地域添加对应的 --region 与 --endpoint 参数。 > > 格式:--region {RegionId} --endpoint dataworks.{RegionId}.aliyuncs.com > > 地域映射表:见 references/endpoint-regions.md --- ## RAM 权限策略 使用本技能需要以下 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 创建工作空间 `bash aliyun dataworks-public CreateProject \ --Name \ --DisplayName "" \ --Description "" \ --PaiTaskEnabled true \ --DevEnvironmentEnabled true \ --DevRoleDisabled false \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills \ --read-timeout 4 --connect-timeout 4 ` > 重要:除非用户明确要求禁用开发环境,否则执行 CreateProject 时必须传入 --DevEnvironmentEnabled true。 #### 1.2 查询工作空间列表 `bash # 查询全部工作空间 aliyun dataworks-public ListProjects \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills # 按工作空间 ID 查询(支持多个) aliyun dataworks-public ListProjects \ --Ids '[123456, 789012]' \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills # 按工作空间名称查询(支持多个) aliyun dataworks-public ListProjects \ --Names '["workspace_name_1", "workspace_name_2"]' \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills # 按状态过滤 aliyun dataworks-public ListProjects \ --Status Available \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills # 分页查询 aliyun dataworks-public ListProjects \ --PageNumber 1 --PageSize 20 \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills ` 支持的过滤参数: | 参数 | 类型 | 说明 | |-----------|------|-------------| | --Ids | JSON 数组 | 工作空间 ID 列表,用于精确查询 | | --Names | JSON 数组 | 工作空间名称列表,用于精确查询 | | --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 查询工作空间详情 `bash aliyun dataworks-public GetProject \ --Id \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills ` ### 2. 成员角色管理 #### 2.1 添加工作空间成员并授权 `bash aliyun dataworks-public CreateProjectMember \ --ProjectId \ --UserId \ --RoleCodes '["role_project_dev", "role_project_pe"]' \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills ` #### 2.2 查询工作空间成员列表 `bash aliyun dataworks-public ListProjectMembers \ --ProjectId \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills ` #### 2.3 查询成员详情 `bash aliyun dataworks-public GetProjectMember \ --ProjectId \ --UserId \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills ` #### 2.4 为成员授予新角色 `bash aliyun dataworks-public GrantMemberProjectRoles \ --ProjectId \ --UserId \ --RoleCodes '["role_project_admin", "role_project_dev"]' \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills ` ### 3. 角色管理 #### 3.1 查询工作空间角色列表 `bash aliyun dataworks-public ListProjectRoles \ --ProjectId \ --region \ --endpoint dataworks..aliyuncs.com \ --user-agent AlibabaCloud-Agent-Skills ` #### 3.2 查询角色详情 `bash aliyun dataworks-public GetProjectRole \ --ProjectId \ --Code \ --region \ --endpoint dataworks..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 格式 | 示例 | |--------------|---------------|---------| | 阿里云账号(主) | 直接使用 UID | 123456789012345678 | | RAM 子账号 | 直接使用 UID | 234567890123456789 | RAM 角色 | 加 ROLE_ 前缀 | ROLE_345678901234567890 | 重要限制:新创建的 RAM 角色无法直接通过 API 添加为成员,需先在控制台刷新同步。 步骤: 1. 访问工作空间控制台:https://dataworks.data.aliyun.com/{regionId}/sc?defaultProjectId={projectId} 2. 进入工作空间成员与角色页面 3. 点击添加成员按钮 4. 在弹窗中点击提示中的刷新 5. 同步完成后即可通过 API 添加该 RAM 角色为成员 `bash # 示例:添加 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.md | RAM 权限策略配置 | | references/verification-method.md | 操作验证方法 | | references/acceptance-criteria.md | 验收标准与测试用例 | | references/cli-installation-guide.md | CLI 安装与配置指南 | --- ## 官方文档 - DataWorks 工作空间管理 - 添加工作空间成员 - DataWorks OpenAPI 参考