Configure SSO Authentication with SAML
Set up SAML in Customer Environment
-
Set up your SAML based on the steps in BoxyHQ documentation.
Choose your IdP:
-
Use these values in the Service provider details section:
-
ACS URL
https://<your kloudfuse domain name>/api/oauth/saml
-
Entity ID
https://<your kloudfuse domain name>/samlresponse
-
-
Generate and save the Metadata (XML file).
This is necessary to configure the Kloudfuse connection with your SAML provider.
-
Share the metadata with Kloudfuse support.
Set up SAML in Kloudfuse
To set up SAML in Kloudfuse, you must:
Set up Metadata Secret
-
Rename the Metadata XML file that the customer shares to
kfuse.xml
.Alternatively, if the customer shared a URL, run the following command:
curl {metadata xml file url} > kfuse.xml
-
Save the
kfuse.xml
file in the customer’s terminal. -
Create the generic
kfuse-xml
secret in the customer’s cluster and namespace by running the following command:kubectl create secret generic kfuse-xml --from-file=kfuse.xml
If the secret
kfuse-xml
already exists, or if you are re-creating it, see Troubleshooting.
Set up the Environment
In the custom-values.yaml
file, complete these steps:
-
In the
global
section:-
Set the
dnsName
tag to the customer’s domain name. -
Enable the
kfuse-saml
service.
-
-
In the
kfuse-auth
section:-
Set the
saml-provider-name
to the customer’s SAML provider name. -
Set
existingSecret
tokfuse-auth-saml
.
-
-
Perform a general upgrade using the
custom-values.yaml
.See Upgrade Kloudfuse and Upgrade validation.
Example Configuration for SAML with Okta:global: dnsName: <your kloudfuse domain name> kfuse-saml: enabled: true kfuse-auth: oauth2-proxy: config: saml-provider-name: "Okta" existingSecret: "kfuse-auth-saml"
Troubleshooting
-
Open an interactive shell into
kfuse-configdb-0
pod.kubectl exec -it kfuse-configdb-0 -- bash
-
Log in to PostgreSQL:
psql into the postgres using command -
Enter your password when prompted.
-
Check if
samldb
database exists using the following command:\l
-
Delete and recreate the database
samldb
:DROP DATABASE samldb; CREATE DATABASE samldb;