Configuring User Endpoints
Stratos provides a way for users to create endpoints without the need to be an administrator.
Note: Admin endpoint-ID's are generated through a SHA-1 encryption of the URL. Personal endpoints will differ in their ID, by using the URL + user-ID for encryption. This should pose no problem in the usual Stratos workflow, but if you depend on the ID to be based solely on the URL, then use this feature with caution.
Set up
In order to enable User Endpoints support in Stratos:
- The environment variable
USER_ENDPOINTS_ENABLED
or helm chart valueconsole.userEndpointsEnabled
must be set - The UAA client used by Stratos needs an additional scope
stratos.endpointadmin
- Users need to have the
stratos.endpointadmin
group attached to them
Once all steps have been completed, user within the stratos.endpointadmin
group are allowed to create personal user endpoints. Endpoints created that way are only visible to their respective user and all admins. Admins will be able to create personal user endpoints after step 1 has been completed.
Environment variable
USER_ENDPOINTS_ENABLED
or helm chart value console.userEndpointsEnabled
can be set to three different states:
disabled
(default) will disable this feature. Neither admins nor users will see user endpoints.admin_only
will hide user endpoints from users. Admins can create and see all user endpoints.enabled
will allow users within thestratos.endpointadmin
group and admins to create personal user endpoints. These endpoints will only be visible to them or admins.
Adding scopes to the UAA client
To add the scope to a client, modify the following UAA CLI command:
Replace CLIENT_NAME
with the used client and OTHER_SCOPES
with the current configured scopes.
To add the group and add users to it, use: