From oracle-ai-data-platform-workbench-engineer-agent
Inspect and manage AIDP RBAC — list roles, view permissions, create/delete roles, add/remove members, and grant/revoke per-resource access on catalogs, schemas, tables, views, volumes, workspaces, and clusters. Also covers column masking and classification.
How this skill is triggered — by the user, by Claude, or both
Slash command
/oracle-ai-data-platform-workbench-engineer-agent:aidp-roles-accessThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Inspect and manage AIDP RBAC.
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).npx claudepluginhub anthropics/claude-plugins-official --plugin oracle-ai-data-platform-workbench-engineer-agentConfigures Databricks SSO, SCIM groups, Unity Catalog privileges, and workspace entitlements for enterprise RBAC and organization management.
Authors, edits, and applies Descope FGA schemas using the ReBAC/ABAC DSL. Handles schema creation, modification, dry-run validation, and application via the Descope Management MCP.
Designs row-level security, Data Access Controls (DACs), BW/4HANA authorization imports, and audit policies in SAP Datasphere for data governance, sensitive data protection, compliance (SOX, GDPR), and segregation of duties.