Best practices¶
General¶
The following page describe the necessary steps for typical customer scenarios from an Identity and Access Management (IAM) perspective. This description applies to the Industrial Edge Management (IEM) product in its various offerings, unless explicitly limited in the chapter:
- IEM Pro
- IEM Virtual
- IEM Cloud
Prerequisites for the initial steps include a properly set up IEM environment and a user with the following roles:
- ie-management.Admin
- realm-management.realm-admin
NOTICE
The initial mandatory user includes both roles.
The described procedures assume the following knowledge:
IAM:
- Creating groups
- Adding client-specific roles to groups
- Adding users to groups
- Adding identity providers
- Creating mappers for identity provider
IEM:
- Creating device groups (“Admin groups”)
- Adding devices to groups
- Creating application groups (“User groups”)
- Adding applications to groups
Scenario 1: Central group for operating IEM and device administration¶
Overview¶
A central user group called iem-admins
serves as the operator for IEM and device administration.
User of the iem-admins
group can e.g:
- manage users
- administer IEM system
- create devices
- organize devices in groups
- manage existing devices, like firmware update
graph LR
subgraph Keycloak
subgraph groups
A[iem-admins]
end
end
Procedure¶
To create such a group, follow these steps:
- Navigate to “Identity & Access Management”.
- Open the “Groups” menu.
- Click the “Create group” button.
- Choose a name, e.g
iem-admins
for the group and click “Create”. - Click on the name of the group.
- Switch to the “Role mapping” tab.
- Click “Assign role”.
- Change the filter to “Filter by clients”.
-
Select the following roles:
- ie-management.Admin
- ie-management.DeviceOwner
- realm-management.realm-admin
-
Click "Assign"
- Switch to the "Members" tab.
- Click "Add member".
- Select / Deselect desired users
- Click "Add"
Scenario 2: Locations / production lines granular device access¶
Overview¶
Ensure that you have a properly set up the IEM environment and a user with the following roles:
- ie-management.Admin
- ie-management.DeviceOwner
- realm-management.realm-admin
This scenario includes a central group called iem-admins
for iem administration and two production lines.
User of the iem-admins
group can e.g.:
- delegate device administration by organizing devices into production line specific groups
Each production line has a separate group of device administrators. The groups are called line1-device-admins
and line2-device-admins
.
User of the device administrator groups can do the following actions on the devices in their production line e.g.:
- update firmware
- install, configure, update and delete apps
flowchart LR
subgraph Keycloak
subgraph groups
A[iem-admins]
B[line1-device-admins]
C[line2-device-admins]
end
end
Procedure¶
Set up the central IT like Scenario 1
The granular device access for locations / production lines requires the following steps:
IEM¶
- Navigate to “Edge Management” and open "User management" (new UI) / "Groups" (old UI) -> "My Admin Groups" menu
-
Create an “My Admin Group”:
- Choose a unique name for the group (to identify the corresponding role in IAM), for example "line1-device-admins".
- Select the template-role “devices.co-admin”.
- Click “Ok”.
-
Add the edge devices of the production line to that group.
IAM¶
- Navigate to “Identity & Access Management”.
- Create a group for each production line, for example "line1-device-admins"
-
Assign the following roles to each group:
- ie-management.User
- ie-management.iem.[iem-group-name].[group-id] (e.g. ie-management.iem.line1-device-admins.[group-id])
-
Add or remove users from these groups as needed.
NOTICE
The [group-id] will be generated by the system and is the internal unique identifier for the device group.
With Identity Provider¶
graph LR
subgraph Keycloak
subgraph roles
r1[ie-management.Admin \n ie-management.DeviceOwner \n realm-management.realm-admin]
r4[ie-management.User \n ie-management.iem.line1-device-admins.34632]
r5[ie-management.User \n ie-management.iem.line2-device-admins.79854]
end
subgraph groups[groups]
A[iem-admins]
B[line1-device-admins]
C[line2-device-admins]
end
end
subgraph IdP["Identity Provider"]
D[Central IT group </br> id=1234]
E[Maintenance Line1 </br> id=5678]
F[Maintenance Line2 </br> id=9012]
end
subgraph user[Users]
end
A -->|includes| r1
B -->|includes| r4
C -->|includes| r5
D -->|maps to| A
E -->|maps to| B
F -->|maps to| C
user -->|assigned to| IdP
Create a mapper for a specific identity provider:
- Open the "Identity providers" menu.
- Click on the specific identity provider.
- Switch to the "Mappers" tab.
-
Click "Add mapper":
- Choose a name for the mapper.
- Choose an appropriate sync mode overwrite.
- Use "Advanced claim to group" as mapper type.
- Add all necessary claims and values of the external identity provider.
- Select name as group.
- Click "Save".
Now authorized users can manage the group membership in the external identity provider.