Create a custom role
Create a custom role that bundles built-in policies to grant a team exactly the workflow access they need within a project.
Before you begin
- You have the admin role, or a role with
role:createandrole-assignment:assignpermissions. - You have created a project for the role assignment.
- You have the project UUID for the
project_idfield in the API example. - A group exists for the assignment target.
About this task
Built-in roles cover common access patterns, but you can create custom roles that bundle built-in policies. To grant a team workflow access within a project, create a custom role from built-in policies, assign the role to a group, and verify the result.
Automation orchestrator ships built-in policies only. You cannot create custom policies. Custom roles reference built-in policy names such as workflow:read:project.
Procedure
What to do next
Verify the role assignment as a member of the assigned group, not the admin account that created the role. An admin account can return Allowed from broader admin policies instead of the policies in your custom role.
Use the authorization check API to confirm that the custom role grants the expected permissions:
curl -X POST https://orchestrator.example.com/api/v1/authz/can_i \
-H "Authorization: Bearer $MEMBER_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"action": "read",
"resource_type": "workflow",
"resource_project": "project-id"
}'Expected response:
{
"allowed": true,
"denied": false,
"matched_policy": "workflow:read:project",
"denial_reason": "",
"denied_by": ""
}Confirm that permissions the role does not include are denied. For the workflow-runner example, checking credential:read returns "allowed": false because the role does not include credential policies.
You can also verify in the UI. Open My Profile, select the Check my access tab, and test the target project with different resource type and action combinations.