Identity Config 0.11.0
These notes preserve manual upgrade steps from older UDS Identity Config versions. Use them when supporting an older UDS Core deployment that may have skipped a historical Keycloak realm change.
Client credentials grant
Section titled “Client credentials grant”UDS Identity Config v0.11.0 introduced Client Credentials Grant support for the UDS Operator. This replaced Dynamic Client Registration, improved reliability, and removed the need to store registration tokens in the Pepr Store.
Create the uds-operator client
Section titled “Create the uds-operator client”Create a Keycloak client for the UDS Operator:
- Navigate to the
udsrealm. - Go to Clients > Create.
- Set Client type to
openid-connect. - Set Client ID to
uds-operator. - Set Client name to
uds-operator. - Click Next.
- Enable Client authentication.
- Disable all authentication flows except Service account roles.
- Click Next.
- Click Save.
Configure the client authenticator:
- Go to Clients > uds-operator > Credentials.
- Set Client authenticator to Client Id and Kubernetes Secret.
- Click Save.
Configure service account roles:
- Go to Clients > uds-operator > Service account roles.
- If
default-roles-udsis assigned, open the row action menu and click Unassign > Remove. - Click Assign role.
- Set the filter to Filter by clients.
- Select
realm-management: manage-clients. - Click Assign.
Configure the UDS client policy
Section titled “Configure the UDS client policy”The UDS client policy applies the UDS client profile to clients created for UDS packages.
Create the client profile:
- Go to Realm settings > Client policies > Profiles.
- Click Create client profile.
- Set Name to
uds-client-profile. - Set Description to
UDS Client Profile. - Click Save.
- Click Add executor.
- Select uds-operator-permissions.
- Click Add.
Create the client policy:
- Go to Realm settings > Client policies > Policies.
- Click Create client policy.
- Set Name to
uds-client-policy. - Set Description to
UDS Client Policy. - Click Save.
- Click Add condition.
- Select any-client.
- Click Add.
- Click Add client profile.
- Select
uds-client-profile. - Click Add.
Configure the client credentials authentication flow
Section titled “Configure the client credentials authentication flow”Create and bind the authentication flow:
- Go to Authentication > Flows.
- Select the
clientsflow. - Click Actions > Duplicate.
- Set Name to
UDS Client Credentials. - Set Description to
UDS Client Credentials. - Click Duplicate.
- Go to Authentication > UDS Client Credentials.
- Click Add step on pre-v0.40.0 UDS Core deployments, or Add execution on v0.40.0 and later.
- Select Client Id and Kubernetes Secret.
- Click Add.
- Set Requirement to Alternative.
- In the row action menu for UDS Client Credentials, select Bind flows.
- Select Client authentication flow.
- Click Save.
Verify client credentials configuration
Section titled “Verify client credentials configuration”Deploy or update a UDS package, then check the UDS Operator logs.
Use this command to verify that the UDS Operator uses the client credentials flow:
uds zarf tools kubectl logs deploy/pepr-uds-core-watcher -n pepr-system | grep "Client Credentials Keycloak Client is available"After applying these changes, confirm every Package reconciles and that the UDS Operator logs show no errors.
If you need to allow additional protocol mappers or client scopes, see Identity and authorization configuration.
MFA changes
Section titled “MFA changes”UDS Identity Config v0.11.0 also introduced MFA changes. Previous versions did not support MFA on the X.509 authentication flow. This version added support for X.509 MFA and WebAuthn MFA. Both options were disabled by default.
If you need OTP and WebAuthn MFA everywhere, update required actions first:
- Go to Authentication > Required actions.
- Enable these required actions, but do not set them as default actions:
- Configure OTP
- Webauthn Register
- Delete Credential
- Disable WebAuthn Register Passwordless. Do not disable Webauthn Register.
To update the UDS Authentication flow for X.509 MFA:
- Go to Authentication > Flows.
- Select UDS Authentication.
- In the top-level Authentication sub-flow, add a sub-flow named
X509 Authentication. - Drag
X509 Authenticationdirectly below Cookie and IDP Redirector. - Set
X509 Authenticationto Alternative. - In
X509 Authentication, add a sub-flow namedX509 Conditional OTP. - Set
X509 Conditional OTPto Required. - Add Condition - user configured to
X509 Conditional OTPand set it to Required. - Add OTP Form to
X509 Conditional OTPand set it to Required. - Add WebAuthn Authenticator to
X509 Conditional OTP. - Drag the existing X509/Validate Username Form step into the
X509 Authenticationsub-flow aboveX509 Conditional OTP. - Set X509/Validate Username Form to Required.
IDP redirector
Section titled “IDP redirector”To add an IDP redirector option to UDS Authentication:
- Go to Authentication > Flows.
- Select UDS Authentication.
- Under the Authentication sub-flow, add a new sub-flow named
idp redirector. - Drag
idp redirectordirectly below Cookie. - Set
idp redirectorto Alternative. - Add Identity Provider Redirector to
idp redirector. - Set Identity Provider Redirector to Required.
Related documentation
Section titled “Related documentation”- Legacy upgrade notes - preserved manual steps for older Identity Config versions
- Identity and authorization configuration - current Identity Config configuration reference