User Provider

The container is secured by default. Users and services must authenticate before they are allowed to use the container. Containers built from within Digital Enterprise Suite (DES) are automatically configured to use that DES instance as its authorization server. No additional configuration is required aside from network connectivity between the deployed containers and the DES instance.

Important security aspects that should be taken into account when building and running digital distributed containers:

  1. Containers are built for in a given execution environment e.g. prod

  2. Security restrictions from the execution environment are included in the container

  3. Access rights are enforced based on execution environment settings

Users that have access to DES will also have access to container’s services as long as they are granted roles within the environment the container was built for.

Security of the Digital Distributed Containers is based on the OpenID Connect standard to allow easy configuration with external OpenID Connect providers as an alternative to the Digital Enterprise Suite.

When using external OpenID Connect provider not all security features are available. Information about the groups that a user is a member of are not available, execution environment access is not synced at runtime thus might result in users not being granted to perform certain operations.

Disabling Security

Security can be disabled to be able to run containers in an open mode without requiring authentication. This could be required if there is no connectivity between the container and the DES or if you want to implement an external authorization mechanism (api gateway or otherwise).

Using the following helm variable on installation or upgrade disables the security:

--set ddc.SSO_METHOD=none

Using an external OpenID Connect provider

To be able to use external OpenID Connect provider, the following environment variables must be provided when starting the container

Using the following helm variable on installation or upgrade use an external OpenID Connect provider:

--set ddc.OIDC_ISSUER=https://...
--set ddc.OIDC_CLIENT_ID=XXX-XXX-XXX
--set ddc.OIDC_CLIENT_SECRET=XXX-XXX-XXX

Complete list of configuration variables and their description

Configurations Variable Description

OIDC_ISSUER

URL to the provider that acts as issuer and also the starting point of discovery of OpenID Connect configuration.

OIDC_CLIENT_ID

Client id of the application created in the Open ID Connect provider.

OIDC_CLIENT_SECRET

Corresponding client secret created in the Open ID Connect provider. Only required when the Open ID Connect provider does not allow to use PKCE.

If group-based access is needed, the OpenID Connect provider must include a groups claim in the ID token, listing the user’s group names. This is configured in the client application’s settings on the identity provider.