@uipath/authz-tool
v1.196.0
Published
CLI plugin for the UiPath Authorization service.
Maintainers
Keywords
Readme
Authz Tool
CLI plugin for the UiPath Authorization service.
Composed under admin-tool. The tool registers its commands under a single authorization subject group, so users invoke them as uip admin authorization <subject> <verb>.
Command tree
uip admin authorization
├── roles
│ ├── list [--limit] [--offset] [--filter] [--service] [--scope-type] [--role-type] [--tenant-id <guid>]
│ ├── get <id>
│ ├── create --file <path>
│ ├── update <id> --file <path>
│ ├── delete <id>
│ └── assignments
│ ├── list [--limit] [--offset] [--service] [--identity-id]
│ ├── create --file <path> # JSON array of AddRoleAssignmentRequest
│ └── delete --file <path> # JSON array of assignment-id strings
├── permissions
│ └── list [--service] [--scope-type]
└── check-access [--file <path> | --identity-id <guid> --scope-type <Tenant|Folder> --scope-id <guid> [--parent-folder-id <guid>]]Subjects
roles— custom role CRUD on the Policy Administration Point (PAP), with one nested group:roles assignments—list/create/deletewho-has-what-role.
permissions list— read-only catalog of permission definitions.check-access— compute the effective permissions a security principal has within a tenant or folder scope, via the Policy Decision Point (PDP).
Policy CRUD
Policy management (policies list/get/create/update/delete/evaluate) lives under uip gov access-policy …, not here, even though both tools target the same authz-sdk swagger. This split keeps the existing uip gov namespace stable.
Conventions
- Authenticated via
uip login. - Mutating commands (and most query commands) take
--file <path>carrying the matching SDK request DTO as JSON. assignments createexpects an array ofAddRoleAssignmentRequestobjects; the tool wraps it as{roleAssignmentsToAdd: [...], roleAssignmentsToDelete: []}and POSTs to the bulk-update endpoint.assignments deleteexpects an array of assignment-id strings; the tool wraps it as{roleAssignmentsToAdd: [], roleAssignmentsToDelete: [...]}and POSTs to the same endpoint.check-accessbypasses the SDK method because the source swagger does not declare arequestBody; the tool POSTs directly via the SDK's resolvedConfiguration.basePathand bearer token.
