You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
= Managing Orchestrator plugin permissions using RBAC policies
5
5
6
-
You can configure Role-Based Access Control (RBAC) policies so that users can view workflow details without the permission to run those workflows. This configuration limits user interaction to explicitly authorized workflows.
6
+
You can configure Role-Based Access Control (RBAC) policies so that users can view workflow details without the permission to run those workflows. This configuration restricts user interaction to authorized workflows.
7
7
8
8
.Prerequisites
9
-
• You have identified the specific [`workflowId`] for each workflow you want to restrict.
10
-
• You have enabled the RBAC plugin and configured the `policies-csv-file` path in your `{my-app-config-file}`.
9
+
. You have identified the [`workflowId`] for each workflow you want to restrict.
10
+
. You have enabled the RBAC plugin.
11
+
. You have configured the `policies-csv-file` path in your `{my-app-config-file}`.
11
12
12
13
.Procedure
13
-
. Identify the `workflowId` from your workflow definition file as shown in the following example:
14
+
. Identify the `workflowId` from your workflow definition file:
14
15
+
15
16
[source,yaml]
16
17
----
17
18
id: greeting
18
19
version: '1.0'
19
20
----
20
-
. Create or update your RBAC policy CSV file to define permissions. Use the format `p, role, permission, action, allow`.
21
+
. In your RBAC policy CSV file, define the permissions using the `p, role, permission, action, allow` format.
21
22
+
22
23
[NOTE]
23
24
====
24
-
You can grant access using generic permissions, (for example, `orchestrator.workflow`) or specific permissions targeting a `workflowId`, (for example, `orchestrator.workflow.greeting`). Generic permissions take precedence; you cannot grant generic access and then selectively deny a specific ID.
25
+
Generic permissions (for example, `orchestrator.workflow`) take precedence over specific permissions targeting a `workflowId`, (for example, `orchestrator.workflow.greeting`). You cannot grant generic access and then selectively deny a specific ID.
25
26
====
26
27
27
28
. Add the following example policies to your CSV file to establish basic user and administrator roles:
28
29
+
29
-
[source,yaml]
30
+
[source,csv]
30
31
----
31
32
# Minimal user role - can only view and run specific workflows
. Enable permissions in your `{my-app-config-file}` fileby adding the `orchestrator` plugin to the `rbac` section and set `policyFileReload` to true.
49
+
. In your {product-very-short} `{my-app-config-file}` file, enable permissions by adding the `orchestrator` plugin to the `rbac` section and setting `policyFileReload` to true.
46
50
+
47
-
[source,subs="+attributes,+quotes"]
51
+
[source,yaml,subs="+attributes,+quotes"]
48
52
----
49
53
permission:
50
54
enabled: true
@@ -61,13 +65,13 @@ permission:
61
65
62
66
.Verification
63
67
. Log in as a user assigned to the `workflowUser` role.
64
-
. Navigate to the Orchestrator plugin and verify that you can see the workflow in the list.
68
+
. Navigate to the Orchestrator plugin and verify that the workflow appears in the list.
65
69
66
70
[IMPORTANT]
67
71
====
68
-
You can view dynamic permissions containing a `workflowId` in the RBAC UI, but you cannot modify them in the interface. Use the policy CSV file or the RBAC API to manage these specific workflow permissions.
72
+
You can view dynamic permissions containing a `workflowId` in the RBAC UI, but you cannot modify them in the interface. You must use the policy CSV file or the RBAC API to manage these specific workflow permissions.
69
73
====
70
74
71
75
[role="_additional-resources"]
72
76
.Additional resources
73
-
* For more information on `casbin` rules, see link:https://www.casbin.org/docs/rbac[RBAC documentation].
Copy file name to clipboardExpand all lines: modules/orchestrator/ref-orchestrator-plugin-permissions.adoc
+12-13Lines changed: 12 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
= Orchestrator plugin permissions
5
5
6
6
The Orchestrator plugin uses the {product} permission mechanism and the Role-Based Access Control (RBAC) plugin to restrict access to backend endpoints.
7
-
Orchestrator supports decoupling visibility (read) from running (update) using specific workflow IDs instead of generic permissions as shown in the following table:
7
+
Orchestrator supports decoupling visibility (read) from running (update) using specific workflow IDs instead of generic permissions.
@@ -13,50 +13,49 @@ Orchestrator supports decoupling visibility (read) from running (update) using s
13
13
|`orchestrator.workflow`
14
14
|named resource
15
15
|read
16
-
|List and read _all_ workflow definitions
16
+
|Lists and reads all workflow definitions.
17
17
18
-
List and read their instances
18
+
Lists and reads their instances
19
19
20
20
|`orchestrator.workflow.[workflowId]`
21
21
|named resource
22
22
|read
23
-
|List and read a _single_ workflow definition
23
+
|Lists and reads a specific workflow definition.
24
24
25
-
List and read instances created for this particular workflow.
25
+
Lists and reads instances created for this particular workflow.
26
26
27
27
|`orchestrator.workflow.use`
28
28
|named resource
29
29
|update
30
-
|Run or abort _any_ workflow
30
+
|Runs or aborts any workflow.
31
31
32
32
|`orchestrator.workflow.use.[workflowId]`
33
33
|named resource
34
34
|update
35
-
|Run or abort a _specific_ workflow
35
+
|Runs or aborts a specific workflow.
36
36
37
37
|`orchestrator.workflowAdminView`
38
38
|named resource
39
39
|read
40
-
|View instance variables and workflow definition editor
40
+
|Views instance variables and the workflow definition editor.
41
41
42
42
|`orchestrator.instanceAdminView`
43
43
|named resource
44
44
|read
45
-
|View _all_ workflow instances, including those created by other users.
45
+
|Views all workflow instances, including those created by other users.
46
46
|===
47
47
48
48
[WARNING]
49
49
====
50
-
Avoid generic permissions for specific control. The system grants access if either a generic permission or a specific one provides it. Granting generic permissions overrides specific denial policies within the same action type as shown:
50
+
Generic permissions override specific denial policies within the same action type. To maintain granular control, avoid granting generic permissions if you intend to restrict specific workflows.
51
51
52
52
* Granting `orchestrator.workflow` (read) prevents you from denying access to `orchestrator.workflow.[workflowId]` (read).
53
53
* Granting `orchestrator.workflow.use` (update) prevents you from denying access to `orchestrator.workflow.use.[workflowId]` (update).
54
54
====
55
55
56
-
The [`workflowId`] must match the unique identifier in your workflow definition file. For example,
57
-
in the workflow definition below, the identifier is `greeting`:
56
+
The [`workflowId`] must match the unique identifier in your workflow definition file. For example, in the workflow definition below, the identifier is `greeting`:
0 commit comments