📦 Alibabacloud Dataworks Workspace Manage — DataWorks空间管理

v0.0.2

通过Aliyun CLI完成DataWorks工作空间创建、信息查询与成员角色分配,禁止任何更新、删除、撤销权限等破坏性操作,需配合最小权限RAM策略使用。

0· 83·0 当前·0 累计
sdk-team 头像by @sdk-team (alibabacloud-skills-team)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/2
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
可疑
medium confidence
该技能基本符合其声明用途(通过Aliyun CLI管理DataWorks工作空间),但存在文档/指令不一致及未声明的凭证/配置依赖,若未谨慎安装可能导致过度授权。
评估建议
该技能通过官方Aliyun CLI实现DataWorks工作空间管理,但安装前请注意:1)技能需要阿里云凭证(环境变量、~/.aliyun/config.json 或 ECS 角色),而注册元数据未声明——仅在你清楚代理将使用何种凭证时再安装。2)使用具备最小DataWorks权限(成员管理+读取+按需创建)的专用RAM用户;避免使用主账号密钥,禁止授予UpdateProject/DeleteProject/DeleteProjectMember/RevokeMemberProjectRoles。3)谨慎运行建议的安装命令(文档使用 curl | bash)——验证下载并优先使用包管理器安装。4)文档存在不一致:references/ram-policies.md 的“创建自定义策略”示例意外包含被禁止的 dataworks:UpdateProject。使用前请修正该策略示例(移除被禁止操作)并确认最终授予的RAM策略。5)如需更高安全性,请自行运行CLI命令(而非通过代理)或仅向代理提供临时、范围受限的STS凭证并审计活动。...
详细分析 ▾
用途与能力
名称与描述与内容一致:所有文件聚焦DataWorks工作空间创建、查询与成员角色分配。依赖Aliyun CLI执行这些操作是合理的。然而,技能元数据声称无需环境变量或配置路径,而运行文档反复引用~/.aliyun/config.json、环境变量(ALIBABA_CLOUD_*)及凭证配置——这是未声明但必需的依赖(隐式凭证访问),应在元数据中声明。
指令范围
SKILL.md指示使用Aliyun CLI并依赖默认凭证链(环境变量、配置文件、ECS角色)。同时明确禁止为某些高风险操作生成CLI命令(UpdateProject、DeleteProject、DeleteProjectMember、RevokeMemberProjectRoles)。然而存在冲突:安装/配置文档包含AK/SK配置示例,且references/ram-policies.md中的“创建自定义策略”示例意外包含dataworks:UpdateProject(被禁止的操作)。该矛盾可能导致操作者授予技能声明永不会使用的权限。指令还要求设置请求级参数(User-Agent、4秒超时、显式端点),代理可能无法一致强制执行。
安装机制
注册表无正式安装规范(仅指令),风险较低。内含的CLI安装指引建议从aliyuncli.alicdn.com下载并展示curl | bash与wget+tar流程——这些是阿里云CDN托管的官方安装程序,但若用户未验证来源,下载并执行(curl | bash)模式本身风险较高。未使用第三方或混淆URL。
凭证需求
技能元数据未声明所需环境变量或配置路径,但文档依赖Aliyun默认凭证链(环境变量如ALIBABA_CLOUD_ACCESS_KEY_ID/SECRET、~/.aliyun/config.json或ECS RAM角色)。这种对敏感凭证的隐式访问未声明。此外,示例指导展示如何配置AK/SK及环境变量,增加用户提供长期密钥的可能;技能应显式声明凭证需求并推荐最小权限(RAM策略),而非提供冲突的策略示例。
持久化与权限
本技能仅含指令,always:false,不请求永久平台级驻留,也不修改其他技能。建议运行`aliyun configure set --auto-plugin-install true`,这会修改用户CLI配置(插件自动安装行为),但仅作用于CLI而非代理平台。未请求always:true或其他提升的平台权限。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv0.0.22026/4/1

**重大变更:严格禁止破坏性操作并缩小允许范围。** - 永久禁止所有破坏性操作:工作空间更新、工作空间删除、成员移除及角色撤销——任何情况下均不得执行或建议。 - 技能现仅限创建工作空间、查询工作空间及成员信息、添加成员并授予角色。 - 新增明确禁止章节及不支持操作的重定向说明。 - 更新命令/参数规则以强制执行上述限制,并阐明所需行为。 - 文档及RAM策略引用已更新,以反映收窄的技能能力。

无害

安装命令

点击复制
官方npx clawhub@latest install alibabacloud-dataworks-workspace-manage
镜像加速npx clawhub@latest install alibabacloud-dataworks-workspace-manage --registry https://cn.longxiaskill.com

技能文档

# 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 参考

数据来源ClawHub ↗ · 中文优化:龙虾技能库