alibabacloud-dataworks-workspace-manage について
Aliyun CLIでAlibaba Cloud DataWorksのワークスペースとメンバーロールを管理するスキルです。作成や照会、メンバー追加、ロール付与に対応し、ワークスペースの更新・削除やメンバー削除、ロール取り消しは禁止されています。
主な機能
- 01ワークスペースの作成と照会
- 02メンバーの追加と照会
- 03メンバーへのロール付与
- 04ワークスペース更新・削除と権限取り消しの禁止
活用シーン
- 01DataWorksワークスペースの作成
- 02ワークスペースとメンバーの確認
- 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.mdcli-installation-guide.mdendpoint-regions.mdram-policies.mdrelated-apis.mdverification-method.md詳細
DataWorks ワークスペースのライフサイクル管理
ワークスペースの作成や照会、メンバーへのロールの割り当てなど、Alibaba Cloud DataWorks のワークスペースを管理します。
⛔ 禁止されている操作
🚫 絶対禁止 — 例外はありません
以下の操作は、この Skill では恒久的に禁止されています。
UpdateProject- ワークスペースの更新DeleteProject- ワークスペースの削除DeleteProjectMember- ワークスペースメンバーの削除RevokeMemberProjectRoles- メンバーのロールの取り消し必須ルール:
- いかなる状況でも、これらの操作を絶対に実行しないでください
- これらの操作を行う CLI コマンドを絶対に生成しないでください
- ユーザーが確認、要求、または承認を提示した場合でも、絶対に実行しないでください
- 必ず拒否し、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 サービスを有効化する必要があります。
- DataWorks コンソール(https://dataworks.console.aliyun.com/)にアクセスします
- 画面の指示に従って、サービスの有効化を完了します
注: ワークスペースの作成時にエラーコード
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 認証情報を明示的に扱うことは固く禁止されています |
| ユーザーエージェント | AlibabaCloud-Agent-Skills | すべての Alibaba Cloud サービス呼び出しで設定する必要があります |
| タイムアウト | 4 seconds | 読み取りタイムアウトと接続タイムアウトに同じ値を設定します |
| エンドポイント | 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 権限ポリシー
この 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
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
対応しているフィルターパラメーター:
| パラメーター | 型 | 説明 |
|---|---|---|
--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 | 1 ページあたりの項目数。デフォルトは 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 形式 | 例 |
|---|---|---|
| Alibaba Cloud アカウント(メイン) | UID をそのまま使用 | 123456789012345678 |
| RAM サブアカウント | UID をそのまま使用 | 234567890123456789 |
| RAM ロール | ROLE_ プレフィックスを付加 | ROLE_345678901234567890 |
重要な制限事項:新しく作成した RAM ロールは、API 経由でワークスペースメンバーに直接追加できません。まずコンソールで更新して同期する必要があります。
手順:
- ワークスペースコンソールにアクセスします:
https://dataworks.data.aliyun.com/{regionId}/sc?defaultProjectId={projectId} - ワークスペースメンバーとロールページを開きます
- メンバーを追加ボタンをクリックします
- ポップアップで、「RAM コンソールでサブアカウントを作成し、更新をクリックしてこのページに同期できます」というプロンプトの更新をクリックします
- 同期が完了すると、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:ワークスペースのアップグレードがブロックされる場合
⛔ ブロックルール:ユーザーがワークスペースを簡易モードから標準モード(開発環境の有効化)にアップグレードするようリクエストした場合、 ブロックして、次のメッセージを表示する必要があります:
「ワークスペースのアップグレード機能は現在利用できません。コンソールにアクセスして、手動でアップグレードしてください。」
コンソールでのアップグレード手順:
- DataWorks コンソールにアクセスします:https://dataworks.console.aliyun.com/
- 対象のワークスペースを見つけます
- ワークスペース設定 → 基本プロパティを開きます
- 標準モードにアップグレードをクリックします
API に関する制限の理由:ワークスペースモードのアップグレードには、環境分離の設定やリソースの初期化など、複雑な操作が伴います。API を直接呼び出すと、設定が不完全になったり、状態が異常になったりする可能性があります。
シナリオ 4:DataWorks サービスが有効になっていない場合
ワークスペースの作成時にエラーコード 9990010001 が返された場合、DataWorks サービスが有効になっていません。
解決方法:
- Alibaba Cloud 公式サイトにログインします
- DataWorks コンソールにアクセスします:https://dataworks.console.aliyun.com/
- プロンプトに従ってサービスの有効化を完了します
- 有効化後、ワークスペースの作成を再試行します
ベストプラクティス
- 最小権限の原則 — メンバーには必要最小限の権限を割り当てます
- 標準モードを使用する — 本番環境では、標準モードを使用して開発環境と本番環境を分離します
- 命名を標準化する —
finance_tax_reportのように、意味のある名前を使用します - 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 のインストールと設定ガイド |