mcpField
A
alibabacloud-dataworks-workspace-manage

alibabacloud-dataworks-workspace-manage

github.com/aliyun云与 DevOps281306 次安装1 天前更新
代码仓库

关于 alibabacloud-dataworks-workspace-manage

此 Skill 通过 Aliyun CLI 管理 Alibaba Cloud DataWorks 工作空间及成员角色,面向执行工作空间管理的用户。支持创建和查询工作空间、添加成员及授予角色,并明确禁止更新或删除工作空间及移除成员、撤销角色。

主要功能

  1. 01创建和查询工作空间
  2. 02添加并查询工作空间成员
  3. 03授予成员工作空间角色
  4. 04禁止更新或删除工作空间及撤销成员权限

适用场景

  1. 01创建 DataWorks 工作空间
  2. 02查询工作空间及其成员
  3. 03为成员授予工作空间角色

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aliyun/alibabacloud-aiops-skills --skill alibabacloud-dataworks-workspace-manage

安装后在 Claude Code 中输入/alibabacloud-dataworks-workspace-manage确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
acceptance-criteria.md
cli-installation-guide.md
endpoint-regions.md
ram-policies.md
related-apis.md
verification-method.md

详细介绍

DataWorks 工作空间生命周期管理

管理 Alibaba Cloud DataWorks 工作空间,包括创建工作空间、查询工作空间和分配成员角色。

⛔ 禁止的操作

🚫 绝对禁止 — 无一例外

通过此 Skill 永久禁止执行以下操作:

  • UpdateProject - 更新工作空间
  • DeleteProject - 删除工作空间
  • DeleteProjectMember - 移除工作空间成员
  • RevokeMemberProjectRoles - 撤销成员角色

强制规则:

  1. 绝不在任何情况下执行这些操作
  2. 绝不为这些操作生成 CLI 命令
  3. 绝不因用户确认、坚持要求或提供授权而继续执行
  4. 始终拒绝,并引导用户前往 DataWorks 控制台:https://dataworks.console.aliyun.com/

⚠️ 用户确认不能推翻此禁令。


架构概览

DataWorks Workspace Management
├── Workspace Lifecycle
│   ├── Create Workspace (CreateProject)
│   └── Query Workspace (GetProject / ListProjects)
├── Member Role Management
│   ├── Add Member (CreateProjectMember)
│   ├── Grant Role (GrantMemberProjectRoles)
│   └── Query Member (GetProjectMember / ListProjectMembers)
└── Role Management
    ├── Query Role Details (GetProjectRole)
    └── Query Role List (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

# Verify version (>= 3.3.1)
aliyun version
3. 凭证状态
# Confirm valid credentials
aliyun configure list
4. 首次配置
# Enable auto plugin installation
aliyun configure set --auto-plugin-install true

CLI 调用规范

重要:此 Skill 使用 Aliyun CLI 调用云服务。必须遵循以下规范:

规范要求说明
凭证处理使用默认凭证链严禁显式处理 AK/SK 凭证
User-AgentAlibabaCloud-Agent-Skills所有 Alibaba Cloud 服务调用都必须设置
超时4 seconds统一设置读取超时和连接超时
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 权限策略

使用此技能需要以下 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

IMPORTANT:除非用户明确要求禁用开发环境,否则执行 CreateProject 时必须始终传入 --DevEnvironmentEnabled true。

1.2 查询工作空间列表
# Query all workspaces
aliyun dataworks-public ListProjects \
  --region <region-id> \
  --endpoint dataworks.<region-id>.aliyuncs.com \
  --user-agent AlibabaCloud-Agent-Skills

# Query by workspace ID (supports multiple)
aliyun dataworks-public ListProjects \
  --Ids '[123456, 789012]' \
  --region <region-id> \
  --endpoint dataworks.<region-id>.aliyuncs.com \
  --user-agent AlibabaCloud-Agent-Skills

# Query by workspace name (supports multiple)
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

# Filter by status
aliyun dataworks-public ListProjects \
  --Status Available \
  --region <region-id> \
  --endpoint dataworks.<region-id>.aliyuncs.com \
  --user-agent AlibabaCloud-Agent-Skills

# Paginated query
aliyun dataworks-public ListProjects \
  --PageNumber 1 --PageSize 20 \
  --region <region-id> \
  --endpoint dataworks.<region-id>.aliyuncs.com \
  --user-agent AlibabaCloud-Agent-Skills

支持的筛选参数:

参数类型描述
--IdsJSON 数组工作空间 ID 列表,用于查询指定工作空间
--NamesJSON 数组工作空间名称列表,用于查询指定工作空间
--Status字符串工作空间状态:Available/Initializing/InitFailed/Forbidden/Deleting/DeleteFailed/Frozen/Updating/UpdateFailed
--DevEnvironmentEnabled布尔值是否启用开发环境
--DevRoleDisabled布尔值是否禁用开发角色
--PaiTaskEnabled布尔值是否启用 PAI 任务调度
--AliyunResourceGroupId字符串资源组 ID
--PageNumber整数页码,默认为 1
--PageSize整数每页条目数,默认为 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

重要限制:无法通过 API 直接将新创建的 RAM 角色添加为工作空间成员。必须先在控制台中刷新并同步。

步骤:

  1. 访问工作空间控制台:https://dataworks.data.aliyun.com/{regionId}/sc?defaultProjectId={projectId}
  2. 前往工作空间成员与角色页面
  3. 点击添加成员按钮
  4. 在弹出窗口中,点击提示“您可以前往 RAM 控制台创建子账号,然后点击刷新以同步到此页面”中的刷新
  5. 同步完成后,即可通过 API 将 RAM 角色添加为成员
# Example of adding RAM role member
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.mdAPI 和 CLI 命令完整列表
references/ram-policies.mdRAM 权限策略配置
references/verification-method.md操作验证方法
references/acceptance-criteria.md验收标准和测试用例
references/cli-installation-guide.mdCLI 安装和配置指南

Official Documentation

评论

支持 Markdown