@uipath/skills 1.201.0-preview.621 → 1.202.0-preview.635
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/CODEOWNERS +41 -29
- package/README.md +1 -0
- package/assets/skill-status.json +13 -2
- package/assets/uip-catalog-snapshot.json +95 -46
- package/package.json +2 -1
- package/skills/uipath-admin/SKILL.md +107 -197
- package/skills/uipath-admin/references/audit-commands.md +69 -120
- package/skills/uipath-admin/references/audit-workflow-guide.md +101 -152
- package/skills/uipath-admin/references/authorization/authorization-commands.md +121 -210
- package/skills/uipath-admin/references/authorization/check-access.md +39 -63
- package/skills/uipath-admin/references/authorization/grant-permissions.md +38 -49
- package/skills/uipath-admin/references/authorization/permission-catalog.md +32 -34
- package/skills/uipath-admin/references/authorization/role-assignment-management.md +96 -99
- package/skills/uipath-admin/references/authorization/role-management.md +113 -142
- package/skills/uipath-admin/references/diagnose/CAPABILITY.md +13 -14
- package/skills/uipath-admin/references/diagnose/{references/failure-modes.md → failure-modes.md} +90 -46
- package/skills/uipath-admin/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +21 -14
- package/skills/uipath-admin/references/external-app-management.md +42 -39
- package/skills/uipath-admin/references/identity-commands.md +72 -625
- package/skills/uipath-admin/references/identity-troubleshoot-guide.md +73 -95
- package/skills/uipath-admin/references/ip-restriction/bypass-rule-management.md +25 -54
- package/skills/uipath-admin/references/ip-restriction/enforcement-management.md +19 -31
- package/skills/uipath-admin/references/ip-restriction/ip-range-management.md +48 -45
- package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +89 -146
- package/skills/uipath-admin/references/key-concepts.md +24 -0
- package/skills/uipath-admin/references/organization-management.md +49 -70
- package/skills/uipath-admin/references/organizations-commands.md +39 -74
- package/skills/uipath-admin/references/pat-management.md +25 -38
- package/skills/uipath-admin/references/robot-account-management.md +16 -14
- package/skills/uipath-admin/references/smtp-management.md +19 -14
- package/skills/uipath-admin/references/tenant-management.md +1 -1
- package/skills/uipath-admin/references/tenants-commands.md +82 -148
- package/skills/uipath-admin/references/user-management.md +70 -56
- package/skills/uipath-agents/SKILL.md +4 -3
- package/skills/uipath-agents/references/authentication.md +4 -3
- package/skills/uipath-agents/references/coded/capabilities/datafabric.md +465 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +5 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +12 -6
- package/skills/uipath-agents/references/coded/flow-integration.md +2 -2
- package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +48 -16
- package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +1 -1
- package/skills/uipath-agents/references/coded/lifecycle/deployment.md +11 -1
- package/skills/uipath-agents/references/coded/quickstart.md +11 -8
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +3 -3
- package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +19 -2
- package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -2
- package/skills/uipath-agents/references/lowcode/evaluations/orchestrator-eval-run.md +409 -155
- package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +2 -2
- package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +1 -1
- package/skills/uipath-aops/SKILL.md +313 -0
- package/skills/uipath-aops/assets/templates/pipeline-dto-template.json +15 -0
- package/skills/uipath-aops/references/discovery-flow.md +312 -0
- package/skills/uipath-aops/references/migration-guide.md +146 -0
- package/skills/uipath-aops/references/pipeline-dto-guide.md +276 -0
- package/skills/uipath-aops/references/save-and-run-guide.md +156 -0
- package/skills/uipath-api-workflow/SKILL.md +48 -6
- package/skills/uipath-api-workflow/assets/templates/file-base64-roundtrip-example.json +154 -0
- package/skills/uipath-api-workflow/assets/templates/nested-control-flow-example.json +0 -1
- package/skills/uipath-api-workflow/references/cli-reference.md +20 -1
- package/skills/uipath-api-workflow/references/expressions-and-context.md +19 -0
- package/skills/uipath-api-workflow/references/files-and-base64.md +153 -0
- package/skills/uipath-api-workflow/references/operating-published-workflows.md +3 -2
- package/skills/uipath-api-workflow/references/task-types.md +89 -3
- package/skills/uipath-api-workflow/references/testing-and-evals.md +224 -0
- package/skills/uipath-api-workflow/references/troubleshooting.md +124 -4
- package/skills/uipath-coded-apps/SKILL.md +4 -2
- package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1 -1
- package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +11 -1
- package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +5 -3
- package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +1 -0
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +2 -0
- package/skills/uipath-coded-apps/references/pack-publish-deploy.md +18 -0
- package/skills/uipath-coded-apps/references/sdk/orchestrator.md +4 -0
- package/skills/uipath-connector-builder/SKILL.md +7 -5
- package/skills/uipath-connector-builder/references/debugging.md +5 -1
- package/skills/uipath-connector-builder/references/element-json.md +3 -1
- package/skills/uipath-connector-builder/references/standard-resources.md +37 -6
- package/skills/uipath-functions/SKILL.md +134 -222
- package/skills/uipath-functions/references/js/authoring-guide.md +141 -0
- package/skills/uipath-functions/references/js/bindings-guide.md +120 -0
- package/skills/uipath-functions/references/js/calling-uipath-apis-guide.md +112 -0
- package/skills/uipath-functions/references/js/coded-app-wiring-guide.md +103 -0
- package/skills/uipath-functions/references/js/deployment-guide.md +109 -0
- package/skills/uipath-functions/references/js/http-semantics-guide.md +80 -0
- package/skills/uipath-functions/references/js/job-mode-guide.md +114 -0
- package/skills/uipath-functions/references/js/local-dev-guide.md +107 -0
- package/skills/uipath-functions/references/python/workflow-guide.md +224 -0
- package/skills/uipath-governance/SKILL.md +9 -8
- package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +36 -8
- package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +14 -12
- package/skills/uipath-governance/references/compliance-pack/disable/impl.md +5 -3
- package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +7 -5
- package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +14 -7
- package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +3 -1
- package/skills/uipath-governance/references/compliance-pack/preview-gate.md +1 -1
- package/skills/uipath-governance/references/compliance-pack/query/impl.md +4 -2
- package/skills/uipath-governance/references/diagnose/CAPABILITY.md +12 -12
- package/skills/uipath-governance/references/diagnose/{references/failure-modes.md → failure-modes.md} +5 -5
- package/skills/uipath-governance/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +2 -2
- package/skills/uipath-governance/references/disambiguation-guide.md +15 -7
- package/skills/uipath-human-in-the-loop/SKILL.md +107 -9
- package/skills/uipath-human-in-the-loop/references/hitl-casetask-action.md +413 -0
- package/skills/uipath-insights/SKILL.md +21 -14
- package/skills/uipath-insights/references/alerts-reads-guide.md +242 -0
- package/skills/uipath-insights/references/filter-discovery-guide.md +1 -1
- package/skills/uipath-insights/references/jobs-commands-guide.md +2 -2
- package/skills/uipath-ixp/references/cli-reference.md +1 -1
- package/skills/uipath-ixp/references/improve-prompts-guide.md +5 -6
- package/skills/uipath-maestro-bpmn/SKILL.md +87 -15
- package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +10 -10
- package/skills/uipath-maestro-bpmn/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +1 -1
- package/skills/uipath-maestro-bpmn/references/expression-authoring.md +12 -2
- package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +12 -12
- package/skills/uipath-maestro-bpmn/references/operate/{references/run.md → run.md} +2 -2
- package/skills/uipath-maestro-bpmn/references/operate/{references/ship.md → ship.md} +3 -3
- package/skills/uipath-maestro-bpmn/references/patterns/ai-decision-review-guide.md +138 -0
- package/skills/uipath-maestro-bpmn/references/patterns/approval-chain-guide.md +136 -0
- package/skills/uipath-maestro-bpmn/references/patterns/composing-guide.md +113 -0
- package/skills/uipath-maestro-bpmn/references/patterns/external-wait-guide.md +145 -0
- package/skills/uipath-maestro-bpmn/references/patterns/failure-escalation-guide.md +103 -0
- package/skills/uipath-maestro-bpmn/references/patterns/high-volume-batch-guide.md +107 -0
- package/skills/uipath-maestro-bpmn/references/patterns/queue-distribution-guide.md +129 -0
- package/skills/uipath-maestro-bpmn/references/patterns/smart-triage-guide.md +129 -0
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +15 -0
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +67 -36
- package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +6 -5
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +23 -5
- package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +101 -53
- package/skills/uipath-maestro-case/SKILL.md +23 -24
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +30 -17
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +5 -5
- package/skills/uipath-maestro-case/references/brownfield.md +3 -3
- package/skills/uipath-maestro-case/references/case-commands.md +8 -4
- package/skills/uipath-maestro-case/references/case-editing-operations.md +19 -19
- package/skills/uipath-maestro-case/references/case-schema.md +17 -3
- package/skills/uipath-maestro-case/references/connector-integration.md +25 -16
- package/skills/uipath-maestro-case/references/connector-trigger-impl.md +15 -15
- package/skills/uipath-maestro-case/references/connector-trigger-planning.md +32 -29
- package/skills/uipath-maestro-case/references/entry-points-sync.md +2 -1
- package/skills/uipath-maestro-case/references/evals/evals.json +11 -11
- package/skills/uipath-maestro-case/references/implementation.md +74 -44
- package/skills/uipath-maestro-case/references/phased-execution.md +23 -21
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +28 -23
- package/skills/uipath-maestro-case/references/planning.md +37 -252
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +8 -6
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +11 -10
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +6 -6
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +12 -12
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +10 -9
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +16 -14
- package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +15 -15
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +20 -21
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +6 -6
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +38 -38
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +24 -20
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +24 -20
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +25 -21
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +30 -22
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +44 -28
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +10 -10
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +27 -23
- package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +25 -22
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +25 -21
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +5 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +30 -19
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/planning.md +8 -7
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +5 -4
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +7 -7
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +21 -17
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +29 -21
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +23 -21
- package/skills/uipath-maestro-case/references/registry-discovery.md +5 -5
- package/skills/uipath-maestro-flow/.maintenance/README.md +35 -28
- package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +19 -1
- package/skills/uipath-maestro-flow/.maintenance/check-links.sh +3 -0
- package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +2 -2
- package/skills/uipath-maestro-flow/SKILL.md +66 -76
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +75 -72
- package/skills/uipath-maestro-flow/references/author/brownfield.md +90 -0
- package/skills/uipath-maestro-flow/references/author/{references/editing-operations-cli.md → editing-operations-cli.md} +9 -4
- package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +373 -0
- package/skills/uipath-maestro-flow/references/author/editing-operations.md +103 -0
- package/skills/uipath-maestro-flow/references/author/{references/greenfield.md → greenfield.md} +32 -20
- package/skills/uipath-maestro-flow/references/author/planning-arch.md +342 -0
- package/skills/uipath-maestro-flow/references/author/planning-impl.md +283 -0
- package/skills/uipath-maestro-flow/references/author/plugins/agent/impl.md +227 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agent/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +171 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/batch-transform/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +449 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector/planning.md +3 -3
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/impl.md +20 -18
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +427 -0
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +185 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/impl.md +5 -0
- package/skills/uipath-maestro-flow/references/author/plugins/delay/impl.md +38 -0
- package/skills/uipath-maestro-flow/references/author/plugins/end/impl.md +56 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +178 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/hitl/planning.md +14 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/impl-connector.md +4 -4
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl-manual.md +68 -0
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl.md +173 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/planning.md +3 -3
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/impl.md +6 -6
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/impl.md +4 -4
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/impl.md +8 -8
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/impl.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/merge/impl.md +43 -0
- package/skills/uipath-maestro-flow/references/author/plugins/merge/planning.md +24 -0
- package/skills/uipath-maestro-flow/references/author/plugins/rpa/impl.md +117 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/rpa/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/impl.md +6 -8
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/impl.md +5 -5
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +164 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/subflow/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +189 -0
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +66 -0
- package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +34 -0
- package/skills/uipath-maestro-flow/references/author/plugins/terminate/impl.md +48 -0
- package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +241 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/transform/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +39 -37
- package/skills/uipath-maestro-flow/references/diagnose/{references/failure-modes.md → failure-modes.md} +22 -22
- package/skills/uipath-maestro-flow/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +60 -1
- package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +27 -25
- package/skills/uipath-maestro-flow/references/evaluate/{references/commands-reference.md → commands-reference.md} +58 -7
- package/skills/uipath-maestro-flow/references/evaluate/eval-sets-guide.md +227 -0
- package/skills/uipath-maestro-flow/references/evaluate/upload-safety.md +94 -0
- package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +21 -21
- package/skills/uipath-maestro-flow/references/operate/{references/manage.md → manage.md} +4 -4
- package/skills/uipath-maestro-flow/references/operate/run.md +121 -0
- package/skills/uipath-maestro-flow/references/operate/{references/ship.md → ship.md} +5 -5
- package/skills/uipath-maestro-flow/references/shared/action-nodes.md +30 -22
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +76 -184
- package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +49 -60
- package/skills/uipath-maestro-flow/references/shared/file-format.md +32 -11
- package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +49 -104
- package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +66 -103
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +4 -4
- package/skills/uipath-planner/SKILL.md +1 -1
- package/skills/uipath-planner/assets/templates/case/case-sdd-template.md +5 -3
- package/skills/uipath-planner/references/case/case-design-lane-guide.md +1 -1
- package/skills/uipath-planner/references/case/case-design-layers-guide.md +2 -2
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -1
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +3 -2
- package/skills/uipath-planner/references/sdd-generation-guide.md +1 -0
- package/skills/uipath-planner/scripts/case/audit_sdd.py +77 -1
- package/skills/uipath-platform/SKILL.md +6 -4
- package/skills/uipath-platform/references/integration-service/activities.md +7 -4
- package/skills/uipath-platform/references/integration-service/reference-resolution.md +28 -0
- package/skills/uipath-platform/references/integration-service/resources.md +11 -0
- package/skills/uipath-platform/references/integration-service/triggers.md +2 -2
- package/skills/uipath-platform/references/licensing/diagnose/CAPABILITY.md +80 -0
- package/skills/uipath-platform/references/licensing/diagnose/references/failure-modes.md +147 -0
- package/skills/uipath-platform/references/licensing/diagnose/references/troubleshooting-guide.md +125 -0
- package/skills/uipath-platform/references/licensing/licensing.md +3 -0
- package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +5 -0
- package/skills/uipath-platform/references/orchestrator/run-jobs.md +11 -2
- package/skills/uipath-platform/references/traces/feedback.md +4 -4
- package/skills/uipath-platform/references/traces/traces.md +1 -1
- package/skills/uipath-process-mining/SKILL.md +6 -6
- package/skills/uipath-process-mining/references/lifecycle-and-rbac.md +10 -8
- package/skills/uipath-process-mining/references/model-editing.md +1 -1
- package/skills/uipath-process-mining/references/querying.md +4 -3
- package/skills/uipath-review/SKILL.md +171 -541
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +73 -92
- package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +4 -0
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +73 -180
- package/skills/uipath-review/references/architecture-assessment-guide.md +93 -105
- package/skills/uipath-review/references/review-workflow-guide.md +1 -1
- package/skills/uipath-review/references/rpa/modern-studio-issues.md +44 -44
- package/skills/uipath-review/references/rpa/rpa-common-issues.md +251 -321
- package/skills/uipath-review/references/rpa/rpa-review-checklist.md +1 -1
- package/skills/uipath-review/references/rule-catalog-workflow.md +25 -45
- package/skills/uipath-review/references/rule-format.md +21 -21
- package/skills/uipath-rpa/.maintenance/pattern-card-maintenance.md +1 -1
- package/skills/uipath-rpa/CLAUDE.md +4 -5
- package/skills/uipath-rpa/SKILL.md +40 -246
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/FindText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetColorAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetCursorPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetField.md +13 -13
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetFieldAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetScreenArea.md +27 -8
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetText.md +2 -14
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetTextAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursor.md +3 -11
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursorToText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendControlKey.md +2 -8
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeys.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeysSecure.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetField.md +14 -13
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetFieldAtPosition.md +4 -7
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/_common-options.md +29 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/authoring-paths.md +58 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession.md +197 -11
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitFieldText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenReady.md +9 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenText.md +2 -14
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitTextAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities.json +271 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/coded/coded-api.md +61 -3
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/overview.md +76 -0
- package/skills/uipath-rpa/references/cli-reference.md +63 -29
- package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +59 -1
- package/skills/uipath-rpa/references/coded/operations-guide.md +2 -1
- package/skills/uipath-rpa/references/debugging.md +29 -12
- package/skills/uipath-rpa/references/environment-setup.md +54 -1
- package/skills/uipath-rpa/references/execution-maps-guide.md +10 -9
- package/skills/uipath-rpa/references/legacy/activity-docs/_INVOKE-CODE.md +1 -1
- package/skills/uipath-rpa/references/uia-starter-guide.md +46 -8
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +3 -4
- package/skills/uipath-rpa/references/xaml/csharp-activity-binding-guide.md +7 -8
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +132 -42
- package/skills/uipath-solution/SKILL.md +9 -6
- package/skills/uipath-solution/references/activate-and-manage.md +11 -6
- package/skills/uipath-solution/references/develop-solution.md +39 -28
- package/skills/uipath-solution/references/pack-and-deploy.md +49 -1
- package/skills/uipath-solution/references/scenarios/failure-modes.md +1 -1
- package/skills/uipath-solution/references/scenarios/intra-solution-references.md +3 -3
- package/skills/uipath-solution/references/scenarios/manual-edits.md +1 -1
- package/skills/uipath-solution/references/scenarios.md +2 -2
- package/skills/uipath-solution/references/solution-overview.md +15 -6
- package/skills/uipath-tasks/SKILL.md +11 -6
- package/skills/uipath-tasks/references/task-assignment.md +5 -0
- package/skills/uipath-tasks/references/task-catalogs.md +7 -4
- package/skills/uipath-tasks/references/task-completion.md +3 -1
- package/skills/uipath-tasks/references/task-data.md +3 -3
- package/skills/uipath-tasks/references/task-lifecycle.md +11 -0
- package/skills/uipath-tasks/references/task-metadata.md +4 -3
- package/skills/uipath-test/SKILL.md +13 -28
- package/skills/uipath-test/references/failure-triage-guide.md +90 -0
- package/skills/uipath-test/references/playwright-first-mile-guide.md +2 -2
- package/skills/uipath-test/references/publish-and-link-guide.md +0 -1
- package/skills/uipath-test/references/test-result-report-guide.md +1 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/interpretations/healing-agent-data.md +1 -1
- package/skills/uipath-troubleshoot/references/presenting.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/folder-not-accessible.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/generic-error-400.md +4 -4
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/integration-service-400.md +2 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/job-operation-timeout.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/no-suitable-runtime-machine.md +1 -1
- package/version-manifest.json +2 -2
- package/skills/uipath-maestro-case/scripts/audit_plan.py +0 -231
- package/skills/uipath-maestro-flow/references/author/references/brownfield.md +0 -93
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +0 -545
- package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +0 -131
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +0 -638
- package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +0 -306
- package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +0 -229
- package/skills/uipath-maestro-flow/references/author/references/plugins/batch-transform/impl.md +0 -174
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +0 -741
- package/skills/uipath-maestro-flow/references/author/references/plugins/delay/impl.md +0 -75
- package/skills/uipath-maestro-flow/references/author/references/plugins/end/impl.md +0 -65
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +0 -204
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +0 -65
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +0 -201
- package/skills/uipath-maestro-flow/references/author/references/plugins/merge/impl.md +0 -43
- package/skills/uipath-maestro-flow/references/author/references/plugins/merge/planning.md +0 -29
- package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +0 -121
- package/skills/uipath-maestro-flow/references/author/references/plugins/subflow/impl.md +0 -230
- package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/impl.md +0 -198
- package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/planning.md +0 -71
- package/skills/uipath-maestro-flow/references/author/references/plugins/switch/planning.md +0 -38
- package/skills/uipath-maestro-flow/references/author/references/plugins/terminate/impl.md +0 -48
- package/skills/uipath-maestro-flow/references/author/references/plugins/transform/impl.md +0 -287
- package/skills/uipath-maestro-flow/references/evaluate/references/eval-sets-guide.md +0 -226
- package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +0 -82
- package/skills/uipath-maestro-flow/references/operate/references/run.md +0 -99
- /package/skills/uipath-maestro-bpmn/references/diagnose/{references/failure-modes.md → failure-modes.md} +0 -0
- /package/skills/uipath-maestro-bpmn/references/operate/{references/manage.md → manage.md} +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/delay/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/end/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/impl.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/switch/impl.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/terminate/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/evaluate/{references/evaluators-guide.md → evaluators-guide.md} +0 -0
- /package/skills/uipath-maestro-flow/references/evaluate/{references/running-guide.md → running-guide.md} +0 -0
|
@@ -1,54 +1,36 @@
|
|
|
1
1
|
# Check Access (Effective Permissions)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Guide for `uip admin authorization check-access`. See [authorization-commands.md — Check Access](authorization-commands.md#check-access--uip-admin-authorization-check-access) for the complete flag/argument table and output codes.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Purpose and Output
|
|
6
6
|
|
|
7
|
-
`check-access` is the
|
|
7
|
+
`check-access` is the Policy Decision Point (PDP): it reports what a principal can do at a scope now. Unlike `roles assignments list`, which reads PAP catalog assignments, it evaluates effective access, including server-side role catalogs managed by `orchestrator`, `dataservice`, `insights`, `taskmining`, `testmanager`, `automationops`, `casemanagement`, and `processmining`. The catalog still exposes those roles and assignments through `roles list --service <svc>` and `roles assignments list --service <svc>`, but the PDP is authoritative for resolved permissions.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Returned `Data` includes `roleAssignments.results[]` effective roles. Each row contains `roleId`, `roleName`, `serviceName` (display-name form), `roleType`, and nested `roleAssignments[]` entries for underlying grants. It also includes `grantedServicesMetadata` (services with any access) and `grantedRolesMetadata` (roles contributing to the result).
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Inspect every nested `roleAssignments[]` entry; do not collapse paths:
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
| Entry | Report label |
|
|
14
|
+
|---|---|
|
|
15
|
+
| `securityPrincipalType: "User"` and `securityPrincipalId == queried-user-id` | `direct` |
|
|
16
|
+
| `securityPrincipalType: "Group"` | `inherited from <Group displayName>` |
|
|
17
|
+
| `securityPrincipalType: "Robot"` or `"ExternalApplication"` | `via <Robot\|ExternalApplication> <name>` |
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
For group entries, resolve `securityPrincipalId` with `uip admin groups get <id> --output json`, cache lookups within one report, and treat the entry as a group of which the user is a member. Explain that revoking a direct grant targets the user’s assignment; revoking an inherited grant requires changing group membership or the group’s role binding.
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
Group roles by the response’s `serviceName`, verbatim. When only `ownerServiceName` is available from `roles get`, translate it using [authorization-commands.md — Service display-name mapping](authorization-commands.md#service-display-name-mapping). Include scope and service span where useful:
|
|
20
22
|
|
|
21
|
-
|
|
23
|
+
```text
|
|
24
|
+
Effective access for <user> at tenant <tenant> — spans <N> services: <service labels>
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
| `securityPrincipalType: "Group"` | Role assigned to a group the user is a member of | `inherited from <Group displayName>` — resolve the `securityPrincipalId` via `uip admin groups get <id> --output json` (cache lookups within one report) |
|
|
27
|
-
| `securityPrincipalType: "Robot"` / `"ExternalApplication"` | Cross-principal grant (rare on a user `check-access`) | `via <Robot\|ExternalApplication> <name>` |
|
|
28
|
-
|
|
29
|
-
Multiple entries under one role's `roleAssignments[]` mean the user has the role via multiple paths — list **all** of them; do not collapse.
|
|
30
|
-
|
|
31
|
-
### Example presentation
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
Effective access for alice@example.com at tenant Prod-East — spans 3 services: IXP, Orchestrator, Apps
|
|
35
|
-
|
|
36
|
-
IXP (ownerServiceName: Reinfer)
|
|
37
|
-
• IXP Tenant Admin — inherited from Tenant Admins
|
|
38
|
-
• IXP Project Reader — direct
|
|
39
|
-
|
|
40
|
-
Orchestrator
|
|
41
|
-
• Orchestrator Folder Admin — inherited from Tenant Admins
|
|
42
|
-
|
|
43
|
-
Apps
|
|
44
|
-
• App User — direct
|
|
26
|
+
<service label>
|
|
27
|
+
• <role> — direct
|
|
28
|
+
• <role> — inherited from <group>
|
|
45
29
|
```
|
|
46
30
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
## Identity Argument
|
|
31
|
+
## Identity and Scope
|
|
50
32
|
|
|
51
|
-
The principal is the
|
|
33
|
+
The principal is the positional first argument: UUID, name, or email. The CLI resolves names and emails through the identity API; there is no `--identity-id` flag. Run:
|
|
52
34
|
|
|
53
35
|
```bash
|
|
54
36
|
uip admin authorization check-access <USER_GUID>
|
|
@@ -56,50 +38,44 @@ uip admin authorization check-access alice@example.com
|
|
|
56
38
|
uip admin authorization check-access "Alice Smith"
|
|
57
39
|
```
|
|
58
40
|
|
|
59
|
-
|
|
41
|
+
With `--file`, omit the positional argument and set the identity in the request body as `SecurityPrincipalId`.
|
|
60
42
|
|
|
61
|
-
|
|
43
|
+
`--scope` accepts only `Tenant` (default) or `Folder`:
|
|
62
44
|
|
|
63
|
-
|
|
45
|
+
| Scope | Use | Required flags beyond identity |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| `Tenant` | Per-tenant access | `--tenant-id <GUID>` optional; defaults to the login tenant |
|
|
48
|
+
| `Folder` | Folder-scoped access | `--scope Folder --folder-id <FOLDER_ID>`; `--tenant-id` is the owning tenant’s `ParentId` and defaults to the login tenant |
|
|
64
49
|
|
|
65
|
-
|
|
66
|
-
|-------|-------------|--------------------------------|
|
|
67
|
-
| `Tenant` (default if omitted) | Per-tenant access | `--tenant-id <GUID>` optional (defaults to login tenant) |
|
|
68
|
-
| `Folder` | Folder-scoped access | `--scope Folder --folder-id <FOLDER_ID>`. `--tenant-id` becomes the owning tenant ParentId (defaults to login tenant) |
|
|
50
|
+
`--folder-id` replaces the older `--scope-id` / `--parent-folder-id` pair. For Folder scope, `--folder-id` is the folder’s `Id` and `--tenant-id` is its owning tenant’s `ParentId`. Do not use `Organization` or `Project` scope.
|
|
69
51
|
|
|
70
|
-
>
|
|
71
|
-
> - **Org-wide entitlement check** — loop `check-access <USER> --tenant-id <TID>` over every tenant (`tenants list`), then aggregate `grantedRolesMetadata` per service.
|
|
72
|
-
> - **Project-level access** — use `--scope Folder` with the project's owning folder, or filter the default `Tenant` result to the service that owns the project (`--service documentunderstanding` etc.).
|
|
52
|
+
For org-wide entitlement, run `check-access <USER> --tenant-id <TID>` for every tenant from `tenants list` and aggregate `grantedRolesMetadata` per service. For project-level access, use `--scope Folder` with the owning folder, or filter the default `Tenant` result to the owning service with `--service documentunderstanding` (or the relevant service).
|
|
73
53
|
|
|
74
|
-
|
|
54
|
+
## Workflows
|
|
75
55
|
|
|
76
|
-
|
|
56
|
+
Run the following for login-tenant access; the default scope is `Tenant` and the default tenant is the login tenant:
|
|
77
57
|
|
|
78
58
|
```bash
|
|
79
59
|
uip admin authorization check-access <USER_GUID> --output json
|
|
80
60
|
```
|
|
81
61
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
## Workflow: Check Across Tenants
|
|
62
|
+
Run the following for another tenant:
|
|
85
63
|
|
|
86
64
|
```bash
|
|
87
65
|
uip admin authorization check-access <USER_GUID> --tenant-id <OTHER_TENANT_ID> --output json
|
|
88
66
|
```
|
|
89
67
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
Especially useful for services that manage their own roles, where the PAP catalog may not reflect server-side rules:
|
|
68
|
+
Run the following to restrict evaluation to one service, especially when server-side service roles may not appear in the PAP catalog:
|
|
93
69
|
|
|
94
70
|
```bash
|
|
95
71
|
uip admin authorization check-access <USER_GUID> --service orchestrator --output json
|
|
96
72
|
```
|
|
97
73
|
|
|
98
|
-
|
|
74
|
+
Use these known service names: `apps, authz, automationops, casemanagement, dataservice, documentunderstanding, identity, insights, licensing, oms, orchestrator, platform, processmining, reinfer, studio, taskmining, testmanager`. Other names are accepted free-form and passed verbatim as `ServiceName`.
|
|
99
75
|
|
|
100
|
-
|
|
76
|
+
Do not use `--service centralizedaccess`: although arbitrary values pass through, the PDP has no separate `centralizedaccess` service and returns no useful access information. Omit `--service` for the multi-service / Centralized Access view.
|
|
101
77
|
|
|
102
|
-
|
|
78
|
+
Run the following for Folder scope:
|
|
103
79
|
|
|
104
80
|
```bash
|
|
105
81
|
uip admin authorization check-access <USER_GUID> \
|
|
@@ -108,11 +84,11 @@ uip admin authorization check-access <USER_GUID> \
|
|
|
108
84
|
--output json
|
|
109
85
|
```
|
|
110
86
|
|
|
111
|
-
`--tenant-id` defaults to the login tenant
|
|
87
|
+
`--tenant-id` defaults to the login tenant’s `ParentId`; override it only for a folder in another tenant.
|
|
112
88
|
|
|
113
|
-
##
|
|
89
|
+
## File-Based Request
|
|
114
90
|
|
|
115
|
-
|
|
91
|
+
Run `--file <PATH>` when using filters not exposed inline, such as `RoleNameStartsWith`. Omit the positional identity and inline scope flags; put them in the body.
|
|
116
92
|
|
|
117
93
|
`check-access.json`:
|
|
118
94
|
|
|
@@ -128,7 +104,7 @@ Use `--file <PATH>` for filters not exposed inline (e.g. `RoleNameStartsWith`).
|
|
|
128
104
|
}
|
|
129
105
|
```
|
|
130
106
|
|
|
131
|
-
For Folder scope, `Value.Id` is the folder UUID and `Value.ParentId` is the owning tenant UUID.
|
|
107
|
+
For Folder scope, `Value.Id` is the folder UUID and `Value.ParentId` is the owning tenant UUID. Run:
|
|
132
108
|
|
|
133
109
|
```bash
|
|
134
110
|
uip admin authorization check-access --file ./check-access.json --output json
|
|
@@ -136,4 +112,4 @@ uip admin authorization check-access --file ./check-access.json --output json
|
|
|
136
112
|
|
|
137
113
|
## Resolving Principal IDs
|
|
138
114
|
|
|
139
|
-
|
|
115
|
+
To verify a UUID or obtain IDs for non-User principals, see [role-assignment-management.md — Resolving Principal IDs](role-assignment-management.md#resolve-principals-before-mutation).
|
|
@@ -1,44 +1,40 @@
|
|
|
1
1
|
# Grant Permission(s) to a Principal
|
|
2
2
|
|
|
3
|
-
Workflow for
|
|
3
|
+
Workflow for ad-hoc **"grant me X"** / **"give <PRINCIPAL> permissions Y, Z"** requests: a shortcut over Create-Role + Create-Assignment when the user names permissions rather than a role shape.
|
|
4
4
|
|
|
5
5
|
For per-command flag tables and output codes, see [authorization-commands.md](authorization-commands.md). For shared role-shape concepts (Centralized Access, service-inference rules, scope modes), see [role-management.md](role-management.md).
|
|
6
6
|
|
|
7
7
|
## When to Use This Workflow
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Use when the user names permissions without naming a role or scope, such as *"grant me DOCUMENTUNDERSTANDING.PROJECTS.READ"*, *"give alice DU projects read and update"*, or *"what's the minimal grant for licensing reads?"* If the user names a role shape first, use [role-management.md — Workflow: Create a Custom Role](role-management.md#workflow-create-a-custom-role); its Step 1a-1d substeps cover the role-first path.
|
|
10
10
|
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
If the user names a **role shape first** (e.g., *"create a tenant role for DU"*, *"make a custom role with DU permissions"*), use [role-management.md — Workflow: Create a Custom Role](role-management.md#workflow-create-a-custom-role) instead — those Step 1a-1d substeps cover the role-first entry path.
|
|
16
|
-
|
|
17
|
-
> **Sibling workflow.** [Step 1b of Workflow: Create a Custom Role](role-management.md#step-1b--hoist-check-prefer-the-umbrella-when-permissions-overlap) is the binary (service vs. umbrella) form of the same scope-selection problem this workflow solves with a full N-scope intersection (Steps G2-G3). Keep them in sync if either changes.
|
|
18
|
-
|
|
19
|
-
> **Never skip the scope menu.** The same permission name (e.g., `DOCUMENTUNDERSTANDING.PROJECTS.UPDATE`) almost always appears in *both* the service catalog *and* the Tenant / TenantGlobal umbrella catalogs. Defaulting to `--service <svc>` silently locks the role to one service and loses the multi-service reuse the umbrella offers. Always probe every applicable scope and let the user pick.
|
|
11
|
+
> **Sibling workflow.** [Step 1b of Workflow: Create a Custom Role](role-management.md#step-1b--hoist-overlapping-permissions-to-the-umbrella) is the binary service-versus-umbrella form of the scope-selection problem solved here with a full N-scope intersection (Steps G2-G3). Keep them synchronized.
|
|
12
|
+
>
|
|
13
|
+
> **Never skip the scope menu.** A permission may appear in both service and Tenant / TenantGlobal umbrella catalogs. Do not default to `--service <svc>`; probe every applicable scope and let the user choose.
|
|
20
14
|
|
|
21
15
|
## Step G1 — Identify the permission(s)
|
|
22
16
|
|
|
23
|
-
Resolve the
|
|
17
|
+
Resolve the wording to exact permission `name` values. If any token is ambiguous or has no exact match, run:
|
|
24
18
|
|
|
25
19
|
```bash
|
|
26
20
|
uip admin authorization permissions list --output json \
|
|
27
21
|
--output-filter "Data[?contains(name, '<TOKEN>')].{name:name,resourceType:resourceType,scopeType:scopeType}"
|
|
28
22
|
```
|
|
29
23
|
|
|
30
|
-
If multiple candidates remain for any token, render a numbered Markdown menu and stop until
|
|
24
|
+
If multiple candidates remain for any token, render a numbered Markdown menu and stop until the user disambiguates. End with one or more confirmed permission `name` strings.
|
|
31
25
|
|
|
32
26
|
## Step G2 — Probe which scopes admit each permission
|
|
33
27
|
|
|
34
|
-
|
|
28
|
+
Run the Tenant and TenantGlobal probes always; run the other probes conditionally:
|
|
35
29
|
|
|
36
30
|
| Probe | Run when |
|
|
37
31
|
|---|---|
|
|
38
32
|
| `permissions list --scope Tenant` | Always |
|
|
39
33
|
| `permissions list --scope TenantGlobal` | Always |
|
|
40
|
-
| `permissions list --service <SERVICE>` | Every selected permission shares
|
|
41
|
-
| `permissions list --scope Organization` | Any selected permission has an org-scope service prefix
|
|
34
|
+
| `permissions list --service <SERVICE>` | Every selected permission shares one service prefix; run one per distinct prefix |
|
|
35
|
+
| `permissions list --scope Organization` | Any selected permission has an org-scope service prefix, such as `APPS.*` or `IDENTITY.*` |
|
|
36
|
+
|
|
37
|
+
Run:
|
|
42
38
|
|
|
43
39
|
```bash
|
|
44
40
|
uip admin authorization permissions list --scope Tenant --output json > tenant.json
|
|
@@ -47,44 +43,37 @@ uip admin authorization permissions list --service <SERVICE> --output json > svc
|
|
|
47
43
|
uip admin authorization permissions list --scope Organization --output json > org.json # conditional
|
|
48
44
|
```
|
|
49
45
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
## Step G2.5 — Compute the intersection of valid scopes/services across all selected permissions
|
|
53
|
-
|
|
54
|
-
A role can hold a permission only if **every** permission in the set is valid at that role shape. Build the intersection across **five** candidate shapes — four umbrella scopes (Tenant, TenantGlobal, Organization, Project) **plus** the Service shape (`--service <SERVICE>`, scope inferred). The Service shape is always a row in the matrix when every selected permission shares one service prefix — never drop it silently just because an umbrella also admits the perm.
|
|
46
|
+
A permission is valid in scope X iff its `name` appears in that scope's catalog. Treat Tenant and TenantGlobal as distinct menu options even when their catalogs match.
|
|
55
47
|
|
|
56
|
-
|
|
57
|
-
2. **Intersect** the shape-sets across all candidates. The result is the set of role shapes the role can take.
|
|
48
|
+
## Step G2.5 — Compute the intersection of valid scopes/services
|
|
58
49
|
|
|
59
|
-
|
|
50
|
+
Build each permission's shape-set and intersect the five candidate shapes: Tenant, TenantGlobal, Organization, Project, and Service (`--service <SERVICE>`, scope inferred). Include Service whenever all selected permissions share one service prefix, even if an umbrella also admits them. Record shapes such as `{Tenant, TenantGlobal, Service:documentunderstanding}`; the intersection is the permissible role-shape set.
|
|
60
51
|
|
|
61
52
|
| Intersection | Action |
|
|
62
|
-
|
|
63
|
-
| **Empty**
|
|
64
|
-
| **One shape** | Skip the menu
|
|
53
|
+
|---|---|
|
|
54
|
+
| **Empty** | Show the per-permission scope matrix and offer (a) split into multiple roles by scope group, (b) drop outliers, or (c) reconsider the set. Never silently omit permissions or downshift to one incomplete role. |
|
|
55
|
+
| **One shape** | Skip the menu, proceed to Step G4, and state the resolved shape. |
|
|
65
56
|
| **≥2 shapes** | Render the matrix and menu in Step G3. |
|
|
66
57
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
## Step G3 — Render the intersection matrix and scope menu (Tenant Recommended when present)
|
|
58
|
+
**Project-scope-only permissions** (for example, `DOCUMENTUNDERSTANDING.DOCUMENTTYPE.*`) have no umbrella and appear only in `permissions list --scope Project --service <svc>`. If all candidates are Project-scope and share a service, the intersection is `{Project:<service>}`; skip the menu and use `--scope Project --service <svc>`. If Project is mixed with Tenant or Organization, the intersection is empty and the split rule applies.
|
|
70
59
|
|
|
71
|
-
|
|
60
|
+
## Step G3 — Render the intersection matrix and scope menu
|
|
72
61
|
|
|
73
|
-
|
|
62
|
+
When the intersection has ≥2 shapes, render the presence matrix first, then a numbered menu. Show only intersection survivors; never offer an invalid shape. Mark Tenant **Recommended** when present. Decide rows as follows:
|
|
74
63
|
|
|
75
64
|
| Row in `Scope/Service` column | Owning service for the created role | Render when |
|
|
76
65
|
|---|---|---|
|
|
77
|
-
| Tenant | `CentralizedAccess` | Intersection includes `Tenant
|
|
78
|
-
| TenantGlobal | `CentralizedAccess` | Intersection includes `TenantGlobal
|
|
79
|
-
| Organization | `CentralizedAccess` | Intersection includes `Organization
|
|
80
|
-
| Service | `<SERVICE>` (
|
|
81
|
-
| Project | `<SERVICE>` | Intersection is `{Project:<service>}` only
|
|
66
|
+
| Tenant | `CentralizedAccess` | Intersection includes `Tenant`; mark **Recommended** |
|
|
67
|
+
| TenantGlobal | `CentralizedAccess` | Intersection includes `TenantGlobal` |
|
|
68
|
+
| Organization | `CentralizedAccess` | Intersection includes `Organization`, meaning every selected permission has an org-scope service prefix |
|
|
69
|
+
| Service | `<SERVICE>` (for example, `DocumentUnderstanding`) | Intersection includes the service catalog and every selected permission shares one service prefix; omit for multi-service or cross-cutting permissions such as `AUTHZ.*` |
|
|
70
|
+
| Project | `<SERVICE>` | Intersection is `{Project:<service>}` only; normally handled by the Project-only branch in Step G2.5 rather than shown with umbrella rows |
|
|
82
71
|
|
|
83
|
-
|
|
72
|
+
**Owning Service** is the `ownerServiceName` returned by `roles get`: umbrella scopes without `--service` resolve to `CentralizedAccess`; service-shape roles resolve to the named service. See [role-management.md — Step 6](role-management.md#step-6--summarize-the-resolved-service).
|
|
84
73
|
|
|
85
|
-
**Artifact 1 — Intersection matrix.**
|
|
74
|
+
**Artifact 1 — Intersection matrix.** Use columns `Scope/Service`, `Owning Service`, and `Perm present?`; use ✅ for intersection shapes and ❌ for probed but excluded shapes. Always include the Service row when all selected permissions share one service prefix:
|
|
86
75
|
|
|
87
|
-
```
|
|
76
|
+
```markdown
|
|
88
77
|
| Scope/Service | Owning Service | Perm present? |
|
|
89
78
|
|---------------|-----------------------|---------------|
|
|
90
79
|
| Tenant | CentralizedAccess | ✅ |
|
|
@@ -94,9 +83,9 @@ When the intersection has ≥2 shapes, render **two artifacts**: a presence matr
|
|
|
94
83
|
| Project | DocumentUnderstanding | ❌ |
|
|
95
84
|
```
|
|
96
85
|
|
|
97
|
-
**Artifact 2 — Numbered menu
|
|
86
|
+
**Artifact 2 — Numbered menu.** Build it from the ✅ rows and renumber from `1`. Identify the permission(s), explain that they are valid in multiple role shapes, state each shape's binding, owning service, and create flags, and end with “Reply with the digit of your choice.” Use this structure:
|
|
98
87
|
|
|
99
|
-
```
|
|
88
|
+
```markdown
|
|
100
89
|
`<PERMISSION_NAME_1>` (+ N more) are valid in multiple role shapes. Pick:
|
|
101
90
|
|
|
102
91
|
1. **Tenant** (Recommended) — multi-service role bound to one tenant. Owning service: `CentralizedAccess`. Built with `--scope Tenant` and no `--service`. Reusable across every tenant-service in this tenant.
|
|
@@ -107,26 +96,26 @@ When the intersection has ≥2 shapes, render **two artifacts**: a presence matr
|
|
|
107
96
|
Reply with the digit of your choice.
|
|
108
97
|
```
|
|
109
98
|
|
|
110
|
-
|
|
99
|
+
Recommend Tenant because it can later bundle tenant-scope permissions from other services (`LICENSING.*`, `IDENTITY.*`, etc.) without re-authoring; still list Service for deliberate isolation.
|
|
111
100
|
|
|
112
101
|
## Step G4 — Map the pick to the create-call shape
|
|
113
102
|
|
|
114
103
|
| Pick | `roles create` flags |
|
|
115
|
-
|
|
104
|
+
|---|---|
|
|
116
105
|
| Tenant | `--scope Tenant` (no `--service`; `--tenant-id` defaults to login) |
|
|
117
106
|
| TenantGlobal | `--scope TenantGlobal` (no `--service`) |
|
|
118
107
|
| Organization | `--scope Organization` (no `--service`) |
|
|
119
108
|
| Service | `--service <SERVICE>` (no `--scope`; registry infers) |
|
|
120
109
|
| Project | `--scope Project --service <SERVICE>` |
|
|
121
110
|
|
|
122
|
-
Author `actions.json` as a JSON array containing **every** permission `name` confirmed in Step G1
|
|
111
|
+
Author `actions.json` as a JSON array containing **every** permission `name` confirmed in Step G1. Then run [Steps 2-5 of Workflow: Create a Custom Role](role-management.md#step-2--suggest-a-role-name): name suggestion, action-file authoring, create, and verify. After the role exists, run [Workflow: Create a Single Assignment](role-assignment-management.md#create-one-assignment), including the [Echo-before-mutate protocol](role-assignment-management.md#echo-before-mutate-protocol) for the principal.
|
|
123
112
|
|
|
124
113
|
## Step G5 — Summarize: state the resolved scope, service, and full permission list
|
|
125
114
|
|
|
126
115
|
In the post-create / post-assign summary, include:
|
|
127
116
|
|
|
128
|
-
- The scope path the assignment landed
|
|
129
|
-
- The resolved `--service` value
|
|
130
|
-
- The **full list of permissions** in the role
|
|
117
|
+
- The scope path where the assignment landed.
|
|
118
|
+
- The resolved `--service` value, or “no `--service` — multi-service <scope> role” when omitted.
|
|
119
|
+
- The **full list of permissions** in the role, not only the first named permission.
|
|
131
120
|
|
|
132
|
-
|
|
121
|
+
Apply the same rule as [Step 6 of Workflow: Create a Custom Role](role-management.md#step-6--summarize-the-resolved-service).
|
|
@@ -4,36 +4,34 @@ Conceptual guide for the read-only catalog at `uip admin authorization permissio
|
|
|
4
4
|
|
|
5
5
|
## Concept
|
|
6
6
|
|
|
7
|
-
The catalog is the master list of permission definitions
|
|
8
|
-
|
|
9
|
-
Each permission record:
|
|
7
|
+
The catalog is the master list of permission definitions. Custom roles reference permissions by `name` (the dotted string, such as `STUDIO.X.Y`); see [role-management.md — Workflow: Create a Custom Role](role-management.md#workflow-create-a-custom-role).
|
|
10
8
|
|
|
11
9
|
| Field | Example | Used for |
|
|
12
10
|
|-------|---------|----------|
|
|
13
|
-
| `id` | UUID | Internal
|
|
14
|
-
| `name` | `IDENTITY.GROUP.UPDATE` | **
|
|
11
|
+
| `id` | UUID | Internal; not required for role authoring |
|
|
12
|
+
| `name` | `IDENTITY.GROUP.UPDATE` | **Value in `roles create --file ./actions.json`** |
|
|
15
13
|
| `namespace` | `IDENTITY` | Grouping / display |
|
|
16
14
|
| `serviceDisplayName` | `Identity Service` | Grouping / display |
|
|
17
15
|
| `resourceType` | `Group` | Grouping / display |
|
|
18
16
|
| `resourceAction` | `Update` | Grouping / display |
|
|
19
17
|
| `resourceGroup` | `Identity` | Grouping / display |
|
|
20
|
-
| `scopeType` | `ORGANIZATION` / `TENANT` / `PROJECT` / `ANY` | Determines
|
|
18
|
+
| `scopeType` | `ORGANIZATION` / `TENANT` / `PROJECT` / `ANY` | Determines the role-scope mode |
|
|
21
19
|
|
|
22
20
|
> The `--file` payload for `roles create`/`roles update` is a **JSON array of permission `name` strings**, not UUIDs. The CLI resolves names to ids server-side.
|
|
23
21
|
|
|
24
22
|
## Scope Behavior
|
|
25
23
|
|
|
26
|
-
Each service registers
|
|
24
|
+
Each service registers permissions at a specific scope:
|
|
27
25
|
|
|
28
|
-
- Studio
|
|
29
|
-
- Apps
|
|
30
|
-
- Document Understanding registers Project-shape permissions
|
|
26
|
+
- Studio registers at `Tenant`; `--service studio` therefore infers `Tenant`.
|
|
27
|
+
- Apps registers at `Organization`.
|
|
28
|
+
- Document Understanding registers Project-shape permissions; query them with `--scope Project --service documentunderstanding`.
|
|
31
29
|
|
|
32
|
-
|
|
30
|
+
`--scope <TYPE>` may surface or hide entries according to service registration.
|
|
33
31
|
|
|
34
32
|
## `--service` Infers Scope
|
|
35
33
|
|
|
36
|
-
|
|
34
|
+
With `--service <NAME>` and no `--scope`, `permissions list` consults the service registry and applies the inferred scope. Override it by passing both flags, as required for Project-shape services such as Document Understanding and Reinfer.
|
|
37
35
|
|
|
38
36
|
```bash
|
|
39
37
|
uip admin authorization permissions list --service studio --output json
|
|
@@ -42,9 +40,9 @@ uip admin authorization permissions list --service documentunderstanding --scope
|
|
|
42
40
|
|
|
43
41
|
### `--service` serviceNames and How to Re-Derive Them
|
|
44
42
|
|
|
45
|
-
`--service <NAME>`
|
|
43
|
+
Use `--service <NAME>` when the caller names the service. When the owning service is unknown, use [Find the Permission Governing an Action](#workflow-find-the-permission-governing-an-action).
|
|
46
44
|
|
|
47
|
-
|
|
45
|
+
`--service` takes a **`serviceName`**: the API filter equal to catalog `Namespace` lowercased and to `lowercase(OwnerServiceName)` from `roles list`. All 22, verified against `uip` 1.201.0:
|
|
48
46
|
|
|
49
47
|
```
|
|
50
48
|
apps audit authz automationops casemanagement communicationsmining cx
|
|
@@ -53,33 +51,33 @@ licensing oms orchestrator platform processmining reinfer relay studio
|
|
|
53
51
|
taskmining testmanager
|
|
54
52
|
```
|
|
55
53
|
|
|
56
|
-
`centralizedaccess` is the
|
|
54
|
+
`centralizedaccess` is the only namespace without a usable `serviceName`. Reach `CENTRALIZEDACCESS` permissions, including the platform Administration page, only with `--scope Tenant` or an unfiltered list.
|
|
57
55
|
|
|
58
|
-
Derive
|
|
56
|
+
Derive `serviceName` from `Namespace` or `OwnerServiceName`, never `ServiceDisplayName`: `reinfer` works and `ixp` does not (`REINFER` / `Reinfer` displays as “IXP”); `casemanagement` works and `maestro` does not (displays as “Maestro”).
|
|
59
57
|
|
|
60
58
|
#### Re-derive the List When a `serviceName` Is Rejected
|
|
61
59
|
|
|
62
|
-
Never guess a replacement `serviceName`, and never trust the `Known services:` roster
|
|
60
|
+
Never guess a replacement `serviceName`, and never trust the `Known services:` roster from `check-access --help`; it is a stale 18-entry mirror omitting `audit`, `communicationsmining`, `cx`, `governedinference`, and `relay`. Run the catalog query, choose a real `serviceName`, and retry the original command:
|
|
63
61
|
|
|
64
62
|
```bash
|
|
65
63
|
uip admin authorization permissions list --output plain --output-filter "[].Namespace" \
|
|
66
64
|
| tr '[:upper:]' '[:lower:]' | sort -u | grep -v '^centralizedaccess$'
|
|
67
65
|
```
|
|
68
66
|
|
|
69
|
-
`--output plain` emits one bare value per line, so
|
|
67
|
+
`--output plain` emits one bare value per line, so no `jq` is needed and the approximately 210 KB catalog does not reach the transcript.
|
|
70
68
|
|
|
71
69
|
## Cross-Cutting `authz` Permissions
|
|
72
70
|
|
|
73
|
-
`AUTHZ`
|
|
71
|
+
`AUTHZ` has 14 permissions: 10 at `ScopeType: ANY`—the only `ANY` rows in the catalog—and 4 at `ORGANIZATION`. `ANY` matches every scope filter, so every `--service` slice includes those 10 alongside that service's rows: `--service studio` yields `STUDIO` + `AUTHZ`; `--service identity` yields `IDENTITY` + `AUTHZ`; `--service authz` adds the 4 `ORGANIZATION` rows.
|
|
74
72
|
|
|
75
|
-
A slice is a **role-shape slice**,
|
|
73
|
+
A slice is a **role-shape slice**, not a namespace filter, and never returns another namespace's rows:
|
|
76
74
|
|
|
77
|
-
1.
|
|
78
|
-
2.
|
|
75
|
+
1. A slice containing only the 10 `AUTHZ` rows means the `--service` / `--scope` pair matched none of that service—for example, `--service apps --scope Project`. This floor, not `Data: []`, signals the wrong slice.
|
|
76
|
+
2. A valid `serviceName` at the wrong scope hides real permissions. `--service documentunderstanding` returns 17 rows at its inferred `Tenant` scope and 49 at `--scope Project`. Never rule out a permission from one slice; remove `--service` and re-query.
|
|
79
77
|
|
|
80
78
|
## Workflow: Find the Permission Governing an Action
|
|
81
79
|
|
|
82
|
-
Use this
|
|
80
|
+
Use this for a 403 or to map a UI surface, such as an Administration page or Studio settings tab, to its permission name. Search the **whole** catalog; do not pre-filter by `--service`. Run:
|
|
83
81
|
|
|
84
82
|
```bash
|
|
85
83
|
uip admin authorization permissions list --output json \
|
|
@@ -94,29 +92,29 @@ uip admin authorization permissions list --output json \
|
|
|
94
92
|
|
|
95
93
|
Rules:
|
|
96
94
|
|
|
97
|
-
1. **
|
|
98
|
-
2. **`--output-filter` JMESPath `contains` is case-sensitive.** `Name` is UPPERCASE; `Description`, `ResourceType`, and `ResourceGroup`
|
|
99
|
-
3. Search `Name`
|
|
95
|
+
1. **Always filter when searching.** An unfiltered list is approximately 500 records / 210 KB of JSON and may exceed tool-output limits, so truncation can hide the needed record. Never conclude “not found” from truncated output. For handing over the whole catalog or a named service's complete slice, list unfiltered or with `--service` and save it complete; see [Find Permission Names for Role Authoring](#workflow-find-permission-names-for-role-authoring).
|
|
96
|
+
2. **`--output-filter` JMESPath `contains` is case-sensitive.** `Name` is UPPERCASE; `Description`, `ResourceType`, and `ResourceGroup` use sentence/Pascal case. `contains(Description, 'Administration')` returns `[]`; `contains(Description, 'administration')` matches.
|
|
97
|
+
3. Search `Name` with an UPPERCASE keyword first, then widen to lowercase `Description`. Run:
|
|
100
98
|
```bash
|
|
101
99
|
uip admin authorization permissions list --output json \
|
|
102
100
|
--output-filter "[?contains(Name, 'ADMIN') || contains(Description, 'admin')]"
|
|
103
101
|
```
|
|
104
|
-
4. Narrow by role shape with `--scope`, never a guessed `--service`. Scope matters: `--scope Tenant` surfaces the Administration page permission, `--scope Organization` does not
|
|
105
|
-
5. Read `ScopeType`
|
|
102
|
+
4. Narrow by role shape with `--scope`, never with a guessed `--service`. Scope matters: `--scope Tenant` surfaces the Administration page permission, while `--scope Organization` does not. Try the unfiltered catalog before ruling out a permission.
|
|
103
|
+
5. Read `ScopeType` from the hit; it determines the role scope needed to grant it (`TENANT` → a `Tenant`- or `TenantGlobal`-shape role). See [role-management.md](role-management.md).
|
|
106
104
|
|
|
107
105
|
## Workflow: Find Permission Names for Role Authoring
|
|
108
106
|
|
|
109
|
-
To build a custom role
|
|
107
|
+
To build a custom role actions file:
|
|
110
108
|
|
|
111
|
-
1. List candidate permissions for the target service:
|
|
109
|
+
1. List candidate permissions for the target service. Run:
|
|
112
110
|
```bash
|
|
113
111
|
uip admin authorization permissions list --service <SERVICE> --output json
|
|
114
112
|
```
|
|
115
|
-
2. Extract `name` values for the actions the role should grant
|
|
116
|
-
3. Write
|
|
113
|
+
2. Extract `name` values for the actions the role should grant, such as `STUDIO.X.Y` or `IDENTITY.GROUP.READ`.
|
|
114
|
+
3. Write a flat string array to `actions.json`:
|
|
117
115
|
```json
|
|
118
116
|
["STUDIO.X.Y", "STUDIO.A.B", "IDENTITY.GROUP.READ"]
|
|
119
117
|
```
|
|
120
|
-
4. Pass
|
|
118
|
+
4. Pass it with `--file ./actions.json` to `roles create` or `roles update`. See [role-management.md](role-management.md).
|
|
121
119
|
|
|
122
|
-
|
|
120
|
+
For interactive selection, present one numbered table grouped by `serviceDisplayName`, with columns `# | Service | Permission | Scope | Description`; see [role-management.md — Step 3](role-management.md#step-3--present-a-numbered-permission-menu). Map selected numbers to permission `name` strings internally; never ask the user to copy UUIDs.
|