Skip to content

Commit f316e37

Browse files
[release-1.6] RHIDP-7461: List the steps for role-based access in UI (#1189)
* RHIDP-7461: List the steps for role-based access in UI * Incorporated review comments --------- Co-authored-by: Heena Manwani <[email protected]>
1 parent d103e3b commit f316e37

File tree

4 files changed

+60
-19
lines changed

4 files changed

+60
-19
lines changed

assemblies/assembly-configuring-authorization-in-rhdh.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ include::assembly-managing-authorizations-by-using-external-files.adoc[leveloffs
3535

3636
include::assembly-configuring-guest-access-with-rbac-ui.adoc[leveloffset=+1]
3737

38-
include::modules/authorization/proc-delegating-rbac-access.adoc[leveloffset=+1]
38+
include::assembly-delegating-rbac-access-rhdh.adoc[leveloffset=+1]
3939

4040
include::modules/authorization/ref-rbac-permission-policies.adoc[leveloffset=+1]
4141

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
3+
[id="assembly-delegating-rbac-access-rhdh_{context}"]
4+
= Delegating role-based access controls (RBAC) access in {product}
5+
6+
An enterprise customer requires the ability to delegate role-based access control (RBAC) responsibilities to other individuals in the organization. In this scenario, you, as the administrator, can provide access to the RBAC plugin specifically to designated users, such as team leads. Each team lead is then able to manage permissions exclusively for users within their respective team or department, without visibility into or control over permissions outside their assigned scope. This approach allows team leads to manage access and permissions for their own teams independently, while administrators maintain global oversight.
7+
8+
In {product}, you can delegate RBAC access using the multitenancy feature of the RBAC plugin, specifically the `IS_OWNER` conditional rule. You can either use the web UI or the RBAC backend API, depending on your preferred workflow and level of automation:
9+
10+
* Use the web UI to create roles, assign users or groups, define permissions, and apply ownership conditions through an intuitive interface.
11+
12+
* Use the API for a more flexible and automatable approach, where you can programmatically manage roles, permissions, and ownership conditions using authenticated curl requests.
13+
14+
By delegating RBAC access through either method, you can expect the following outcomes:
15+
16+
* Team leads can manage RBAC settings for their teams independently.
17+
* Visibility of other users' or teams' permissions is restricted.
18+
* Administrators retain overarching control while delegating team-specific access.
19+
20+
.Prerequisites
21+
* Your {product-very-short} instance is running with the RBAC plugin installed and configured.
22+
* You have administrative access to {product-very-short}.
23+
24+
include::modules/authorization/proc-delegating-rbac-access-webui.adoc[leveloffset=+1]
25+
include::modules/authorization/proc-delegating-rbac-access-api.adoc[leveloffset=+1]

modules/authorization/proc-delegating-rbac-access.adoc renamed to modules/authorization/proc-delegating-rbac-access-api.adoc

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,13 @@
1-
[id='proc-delegating-rbac-access_{context}']
2-
= Delegating role-based access controls (RBAC) access in {product}
1+
[id='proc-delegating-rbac-access-api_{context}']
2+
= Delegating RBAC access in {product} by using API
33

4-
An enterprise customer requires the ability to delegate role-based access control (RBAC) responsibilities to other individuals in the organization. In this scenario, you, as the administrator, can provide access to the RBAC plugin specifically to designated users, such as team leads. Each team lead is then able to manage permissions exclusively for users within their respective team or department, without visibility into or control over permissions outside their assigned scope. This approach allows team leads to manage access and permissions for their own teams independently, while administrators maintain global oversight.
5-
6-
In {product-very-short}, you can delegate RBAC access using the multitenancy feature of RBAC plugin, specifically the `IS_OWNER` conditional rule.
7-
8-
By delegating the RBAC access, you can expect the following outcomes:
9-
10-
* Team leads can manage RBAC settings for their teams independently.
11-
* Visibility of other users' or teams' permissions is restricted.
12-
* Administrators retain overarching control while delegating team-specific access.
4+
You can delegate the RBAC access in {product} by using the RBAC backend API.
135

146
.Prerequisites
15-
* Your {product-very-short} instance is up and running with RBAC plugin installed and configured.
16-
* You have administrative access to {product-very-short}.
177
* You have API access using `curl` or another tool.
188

199
.Procedure
20-
. In your {product-very-short} instance, navigate to the *Administration -> RBAC* page.
21-
. Create a new role designated for team leads using the Web UI or API:
10+
. Create a new role designated for team leads using the RBAC backend API:
2211
+
2312
--
2413
.Example of creating a new role for the team lead using the RBAC backend API
@@ -35,11 +24,9 @@ curl -X POST 'http://localhost:7007/api/permission/roles' \
3524
}
3625
}'
3726
----
38-
39-
For more information about creating a role using the Web UI, see xref:proc-rbac-ui-create-role_title-authorization[Creating a role in the {product} Web UI].
4027
--
4128

42-
. Allow team leads to read catalog entities and create permissions in the RBAC plugin using the Web UI or the following API request:
29+
. Allow team leads to read catalog entities and create permissions in the RBAC plugin using the following API request:
4330
+
4431
--
4532
.Example of granting the team lead role permission to create RBAC policies and read catalog entities
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
[id='proc-delegating-rbac-access-webui_{context}']
2+
= Delegating RBAC access in {product} by using the web UI
3+
4+
You can delegate the RBAC access in {product} by using the web UI.
5+
6+
.Procedure
7+
. Log in to your {product-very-short} instance with administrator credentials.
8+
. Navigate to *Administration → RBAC*.
9+
. Click *Create Role* and define a new role for team leads, such as `role:default/team_lead`.
10+
. In the *Members* section, add the user or group, such as `user:default/team_lead`.
11+
. Grant permissions required by team leads, such as:
12+
+
13+
--
14+
* `policy.entity.create` to allow policy creation.
15+
* `catalog-entity:read` to allow catalog access.
16+
--
17+
. Apply *conditions* to limit access as follows:
18+
+
19+
* Use the `IS_OWNER` rule to ensure team leads can only manage resources they own.
20+
21+
. Click *Save* to create the role and apply changes.
22+
23+
.Verification
24+
* Log in as a team lead.
25+
* Verify the following:
26+
+
27+
** RBAC UI is accessible.
28+
** Only users or roles related to their team are visible.
29+
** No access to roles or permissions outside their scope is granted.

0 commit comments

Comments
 (0)