AIDP(Arietta Data Platform)のロール(操作権限の設定)とアクセス管理 — ロールの一覧表示、権限の確認、ロールの作成、メンバーの追加・削除、カタログ・スキーマ・テーブル・ビュー・ボリューム・ワークスペース・ワークスペース内のオブジェクト・クラスタなどのリソースに対する権限の付与・取り消しができます。また、列のマスキング(非表示化)や分類も対応しています(制限付きビューと感度分類に対応;マスキング用のREST APIは存在しません)。 **次のような場合に使用:** - ロールやアクセス制御(誰が何にアクセスできるか)についてユーザーが質問した場合 - リソースの権限を付与・取り消ししたい場合 - ロールにメンバーを追加したい場合 - 列をマスク化・分類したい場合 主な実行方法は公式の `aidp` コマンドラインツール;CLIを使えない場合は、`oci raw-request` で同じREST APIを呼び出すことで対応できます。
Manage AIDP roles and access — list roles, view permissions, create roles, add/remove members, and grant/revoke per-resource permissions on catalogs, schemas, tables, views, volumes, workspaces, workspace objects, and clusters. Also covers column masking/classification (restricted views + ontology sensitivity — no masking REST API exists). Use when the user asks about roles/RBAC, who can access what, granting/revoking access on any resource, adding someone to a role, or masking/classifying columns. Primary engine is the official `aidp` CLI; the same REST API via `oci raw-request` is the no-CLI fallback.
aidp-roles-access — ロール・権限・アクセス管理 (RBAC)AIDP の RBAC を検査・管理するためのスキルです。
CLI(推奨): aidp role <command> --instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region <r>
aidp role list | get | create | update | delete | add-member | remove-member | list-permissionsaidp <catalog|cluster|volume|schema|workspace|workspace-object> list-permissions | manage-permissionフォールバック(CLI なし): oci raw-request 経由で同一の Role REST API を使用(エンドポイント・認証は同じ)。
権限の書き込み(workspace / cluster / volume への付与)は、設定済みの場合に限り、ゲート付き MCP admin ツールを任意のアクセラレーターとして利用可能です。
検証優先・最小権限の原則: 呼び出し元のアイデンティティに紐付け、その権限を超えるエスカレーションは絶対に行わないこと。 書き込み操作の前に、
aidp role list(またはGET /roles)を実行して作業パスを確認すること。 認証・ベース URL: references/oci-raw-request.md
# ロール一覧の取得(動作確認)— CLI
aidp role list --instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region us-ashburn-1
# ロールへのメンバー追加 — CLI
aidp role add-member --instance-id <DATALAKE_OCID> --role-key <ROLE_KEY> \
--auth api_key --profile DEFAULT --region us-ashburn-1 \
--principals '["ocid1.user.oc1..xxxx"]'
変更を伴う操作(create・update・delete・add-member・remove-member・manage-permission):
リクエストボディを .aidp/payloads/ に保存し、実行前に確認を行うこと(references/payloads.md)。
oci raw-request 経由の RESTベース URL: https://aidp.<region>.oci.oraclecloud.com/20240831/dataLakes/<DATALAKE_OCID>/…
GET /roles — ✅ 実環境での 200 確認済み(api_key DEFAULT プロファイル、20240831/dataLakes)GET /roles/{k}、GET /roles/{k}/permissionsPOST /roles、PUT /roles/{k}、DELETE /roles/{k}(PUT / DELETE 時は if-match: <etag> ヘッダーを送付)POST /roles/{k}/actions/addMember · POST /roles/{k}/actions/removeMember
(ボディ例: {"principals":["ocid1.user.oc1..xxxx"]})oci raw-request --http-method GET \
--target-uri "https://aidp.us-ashburn-1.oci.oraclecloud.com/20240831/dataLakes/<OCID>/roles" \
--profile DEFAULT
401 / 403 / "Security Token" エラーが発生した場合は、oci-raw-request.md の認証ラダーに従って対処すること(AIDP_SESSION のリフレッシュを含む)。
ロール CRUD・メンバーシップ管理は「どのユーザーがロールに属するか」を制御し、 リソースごとの権限付与は「あるプリンシパルが特定のオブジェクトに対して何を実行できるか」を制御します。
すべてのリソースタイプは list-permissions と manage-permission のペアを公開しています
(CLI 推奨;REST フォールバックは …/<resource>/<key>/permissions と …/actions/managePermission)。
付与ボディの形式は共通で
{"principals":[…], "permission":"<enum>", "action":"GRANT"|"REVOKE"} です。
各リソースの正確な permission 列挙値は、書き込み前に aidp help <resource> manage-permission または実環境の読み取りで必ず確認すること。
| リソース | CLI コマンド | REST エンドポイント |
|---|---|---|
| Catalog | aidp catalog list-permissions | manage-permission |
…/catalogs/<key>/permissions |
| Schema | aidp schema list-permissions | manage-permission |
…/schemas/<key>/permissions |
| Table | aidp schema list-table-permissions | manage-table-permission <TABLE-KEY> |
…/tables/<key>/permissions |
| View | aidp schema list-view-permissions | manage-view-permission <VIEW-KEY> |
…/views/<key>/permissions |
| Volume | aidp volume list-permissions | manage-permission |
…/volumes/<key>/permissions |
| Workspace | aidp workspace list-permissions | manage-permission(+ list-create-permissions | manage-create-permission) |
…/workspaces/<key>/permissions |
| Workspace object | aidp workspace-object list-permissions | manage-permission |
…/workspaceObjects/<key>/permissions |
| Cluster | (GA 版 CLI コマンドなし) | …/clusters/<key>/permissions |
| Job / Workflow | aidp workflow list-job-permissions <ws> <JOB-KEY> / manage-job-permission <ws> <JOB-KEY> --body |
…/workspaces/{ws}/jobs/{key}/permissions |
| Knowledge Base | KB 権限の assign|manage|revoke(aidp-knowledge-bases) |
…/knowledgeBases/<key>/permissions |
Job / Workflow のボディ形式は汎用付与形式と異なります。 CLI の README および SDK により、
manage-job-permissionは{principals, permission, action}を受け付けないことが確認されています。 付与ボディの形式はAssignJobPermissionDetailsであり、{"assignees":{"type":"USER|ROLE|GROUP","targets":[…]},"permissions":["READ"|"USE"|"MANAGE"|"ADMIN"]}となります (permissionsはassignees.targetsと 1:1 対応するリスト)。 管理ラッパー全体は{"assignJobPermissionDetails":{…},"revokeJobPermissionDetails":{…}}です。列挙値の名称は引用可能なソースで確認済みです (SDK
assign_job_permission_details.py18〜30 行 /permission_assignees.py18〜26 行;CLI READMEworkflow manage-job-permission、README 7315〜7377 行)。 書き込み前には必ずaidp help workflow manage-job-permissionまたはlist-job-permissionsの読み取りで実環境の列挙値を確認すること。
任意のアクセラレーター: ゲート付き aidp MCP が設定されている場合(AIDP_MCP_ENABLE_ADMIN_TOOLS=true + MCP 再起動済み)、
manage_workspace_permission / manage_cluster_permission / manage_volume_permission / manage_create_workspace_permission
が同じ書き込み操作をラップします
(details_json: {"principals":[…],"permission":"WRITE","action":"GRANT"})。
必須ではなく、上記の REST コマンドが正式な手段です。コンソールからの付与操作も可能です。
テスト済みテナンシーには、プログラム的なマスキング / 分類用の REST API は存在しません。
GET …/maskingPolicies・/dataClassifications・/columnMaskingPolicies・/tags はすべて 404 を返しました
(2026-06-10 調査済み;references/rest-endpoint-map.md に記録)。
存在しない API を作り上げないこと。実際に利用可能な手段は以下のとおりです:
制限付きビュー / 難読化ビュー — 現時点で実用的なカラムレベルの制御手段:
許可されたカラムのみを公開する CREATE VIEW(または CASE 式やハッシュ化による難読化)を作成し、
ベーステーブルではなくビューに権限を付与します(aidp-sql-ddl と上記の View 行を参照)。
「カラムをマスクしたい」という要求には、このパターンを推奨します。
オントロジー駆動の機密性管理 — Ontologies 機能はガバナンス目的でタームにタグを付与します
(av:isSensitive / av:requiresRole)が、UI 操作が主体であり、ここでは確認済みの REST インターフェースはありません
(aidp-semantic-model の Ontologies に関する注記を参照)。
ユーザーがポリシーベースの動的マスキングを必要としている場合は、現状では UI / オントロジーによる管理となる旨を説明し、 制限付きビューパターンを API ドリブンの代替手段として提案してください。マスキング用エンドポイントが存在するかのような説明は行わないこと。
GET /roles + 対象ロールの /permissions)。references/aidp-cli-map.md · references/payloads.md · references/oci-raw-request.md · references/no-mcp-rest-map.md · references/rest-endpoint-map.md
aidp-roles-access — roles, permissions, access (RBAC)Inspect and manage AIDP RBAC.
CLI (preferred): aidp role <command> --instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region <r>
aidp role list | get | create | update | delete | add-member | remove-member | list-permissionsaidp <catalog|cluster|volume|schema|workspace|workspace-object> list-permissions | manage-permissionFallback (no CLI): same Role REST API via oci raw-request (identical endpoint + auth). Permission
writes (workspace/cluster/volume grants) can also use the gated MCP admin tools as an optional
accelerator when configured.
Verify-first + least privilege: bind to the caller's identity; never escalate beyond what they have. Confirm the working path with a live
aidp role list(orGET /roles) before any write. Auth + base URL: references/oci-raw-request.md.
# List roles (smoke test) — CLI
aidp role list --instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region us-ashburn-1
# Add a member to a role — CLI
aidp role add-member --instance-id <DATALAKE_OCID> --role-key <ROLE_KEY> \
--auth api_key --profile DEFAULT --region us-ashburn-1 \
--principals '["ocid1.user.oc1..xxxx"]'
Mutating ops (create, update, delete, add-member, remove-member, manage-permission):
persist the body to .aidp/payloads/ and confirm first (references/payloads.md).
oci raw-requestBase: https://aidp.<region>.oci.oraclecloud.com/20240831/dataLakes/<DATALAKE_OCID>/…
GET /roles — ✅ LIVE-VERIFIED 200 (api_key DEFAULT profile, 20240831/dataLakes).GET /roles/{k}, GET /roles/{k}/permissions.POST /roles, PUT /roles/{k}, DELETE /roles/{k} (send if-match: <etag> on PUT/DELETE).POST /roles/{k}/actions/addMember · POST /roles/{k}/actions/removeMember
(body e.g. {"principals":["ocid1.user.oc1..xxxx"]}).oci raw-request --http-method GET \
--target-uri "https://aidp.us-ashburn-1.oci.oraclecloud.com/20240831/dataLakes/<OCID>/roles" \
--profile DEFAULT
On 401/403/"Security Token", follow the auth ladder in oci-raw-request.md (refresh AIDP_SESSION).
Role CRUD + membership scope who is in a role; per-resource grants scope what a principal can do to one
object. Every resource type exposes a list-permissions + manage-permission pair (CLI preferred; REST
…/<resource>/<key>/permissions + …/actions/managePermission fallback). Grant body is consistently
{"principals":[…], "permission":"<enum>", "action":"GRANT"|"REVOKE"} — confirm the exact permission enum
for each resource via aidp help <resource> manage-permission / a live read before writing.
| Resource | CLI verbs | REST |
|---|---|---|
| Catalog | aidp catalog list-permissions | manage-permission |
…/catalogs/<key>/permissions |
| Schema | aidp schema list-permissions | manage-permission |
…/schemas/<key>/permissions |
| Table | aidp schema list-table-permissions | manage-table-permission <TABLE-KEY> |
…/tables/<key>/permissions |
| View | aidp schema list-view-permissions | manage-view-permission <VIEW-KEY> |
…/views/<key>/permissions |
| Volume | aidp volume list-permissions | manage-permission |
…/volumes/<key>/permissions |
| Workspace | aidp workspace list-permissions | manage-permission (+ list-create-permissions | manage-create-permission) |
…/workspaces/<key>/permissions |
| Workspace object | aidp workspace-object list-permissions | manage-permission |
…/workspaceObjects/<key>/permissions |
| Cluster | (no GA CLI verb) | …/clusters/<key>/permissions |
| Job/Workflow | aidp workflow list-job-permissions <ws> <JOB-KEY> / manage-job-permission <ws> <JOB-KEY> --body |
…/workspaces/{ws}/jobs/{key}/permissions |
| Knowledge Base | assign|manage|revoke KB permission (aidp-knowledge-bases) |
…/knowledgeBases/<key>/permissions |
Job/Workflow body shape differs from the generic grant. The CLI README + SDK confirm
manage-job-permissiondoes not take{principals,permission,action}. Its grant body isAssignJobPermissionDetails={"assignees":{"type":"USER|ROLE|GROUP","targets":[…]},"permissions":["READ"|"USE"|"MANAGE"|"ADMIN"]}(permissionsis a list aligned 1:1 withassignees.targets); the manage wrapper is{"assignJobPermissionDetails":{…},"revokeJobPermissionDetails":{…}}. Enum names are confirmed-citable (SDKassign_job_permission_details.pylines 18-30 /permission_assignees.pylines 18-26; CLI READMEworkflow manage-job-permission, README lines 7315-7377); still confirm the live enum withaidp help workflow manage-job-permissionor alist-job-permissionsread before writing.
Optional accelerator: when a gated aidp MCP is configured (AIDP_MCP_ENABLE_ADMIN_TOOLS=true + MCP
restart), manage_workspace_permission / manage_cluster_permission / manage_volume_permission /
manage_create_workspace_permission wrap the same writes (details_json
{"principals":[…],"permission":"WRITE","action":"GRANT"}). Not required — REST verbs above are the source of
truth; or apply the grant in the console.
There is no programmatic masking/classification REST API in the tested tenancy — GET …/maskingPolicies,
/dataClassifications, /columnMaskingPolicies, /tags all returned 404 (probed 2026-06-10; recorded in
references/rest-endpoint-map.md). Do not fabricate one. What actually exists:
CREATE VIEW exposing only
permitted columns (or CASE/hashing to redact), then grant on the view, not the base table (aidp-sql-ddl
av:isSensitive / av:requiresRole)
for governance, but it is UI-driven with no confirmed REST surface here (see the Ontologies note in
aidp-semantic-model).
If the user needs policy-based dynamic masking, surface that it's UI/ontology-governed today and offer the
restricted-view pattern as the API-driven equivalent — don't claim a masking endpoint.GET /roles + the relevant role's /permissions).原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。