9.4. Extended Example: View All Resources, Edit Some Resources
Example Corp. has three major groups associated with its IT infrastructure: development, QE, and production. Each group requires information from the other teams to help maintain their configuration, manage performance settings, and roll out new applications, but they should only be able to manage their own systems.
Tim the IT Guy first defines the different relationships that need to be expressed within the access controls:
- Everyone needs to be able to view performance data for all stacks within the infrastructure.
- The individual divisions need write access to their own systems.
- At least some administrators within each group require the ability to update system configuration.
- At least some administrators within each group require the ability to create and deploy bundles to manage applications within their own groups.
- A mixed group which contains all of the resources within each given stack environment. The stacks include platforms, Postgres databases, EAP servers, web contexts, and other resources used to manage the production environment.This results in three groups: Dev Stack, QE Stack, and Production Stack.
- An "all stacks" nested group which includes all three stack groups.This group is not for all resources — it only includes the stack groups, excluding JBoss ON-related resources and other managed resources not relevant to those stacks.
- Since these environments include application development, each organization also requires its own bundle group to maintain deployments.
- There has to be a mechnism to promote bundles between environments. Tim the IT Guy creates "Promote Bundles" group where bundles can be added when they are ready to be moved into a different environment.
- View-only rights to all resources, including configuration view-only rights
- Edit rights to resources within the stacks for monitoring, alerts, drift, operations, and inventory
- Edit rights to resources within the stacks for configuration
- View bundle rights within the stacks
- Create and deploy bundle rights within the stacks
- Regular users
- Administrators which manage resource configuration
- Administrators which can create (promote) bundles between groups
Dev Stack
Bundle Group
|
Role BG1
|
V
Regular Joe
^ ^
| |
Role RG1 Role RG2
| |
"All Stack" Dev Stack
Resource Resource
Group Group ^
|
Role RG1 <------Permissions
| |
"All Stack" View.alerts
Resource View.inventory
Group View.measurements
View.etc...
View.configuration ^
|
Role RG2 <------Permissions
| |
Dev Stack Edit.alerts
Resource Edit.inventory
Group Edit.measurements
Edit.etc...
Deploy.bundles Dev Stack
Bundle Group
|
Role BG1 <-----Permissions
| |
V View.bundles
Create.bundles"Regular Joe" roles
|
V
Group Lead <------Role RG3
|
Permissions
|
Edit.configuration Dev Stack Permission:
Bundle Group Create.Bundles
\ /
\ /
Role BG1
|
V
Role BG2 ----> Group Lead <---- Role BG3
/ \ / \
/ \ / \
QE Stack Permission: Prod Stack Permission:
Bundle Group Create.Bundles Bundle Group Create.BundlesUsers within each group are granted access to view whatever performance and configuration information they need, but they can only make changes to resources within their specified group. Only administrators within each group can make configuration changes.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.