Microsoft Entra SSO
The goal of this guide is to help customers enable Microsoft Entra SSO for their clusters.
The procedures outlined in this doc depend on Microsoft Azure and its components. Microsoft Azure is subject to change at any time. Thus, you may need to take additional steps not highlighted in this doc to successfully set up Entra SSO with TileDB.
Prerequisites
To enable Entra SSO, you must complete the following:
- Have a TileDB self-hosted cluster.
- Have access to the Azure Portal.
- Configure Microsoft Entra for each user. Each user must have an email address associated with their account, set in the Email field, with your organization’s Primary domain in Azure.
- Have access to the original YAML file used to deploy the cluster.
- Have knowledge and access to Helm.
- Have knowledge and access to a terminal.
Process
The process for configuring Entra SSO with TileDB involves the following high-level steps:
- Create a new app registration in Azure.
- Get the issuer URL.
- Add a client secret.
- Add a claim.
- Upgrade your TileDB cluster.
- Test your configuration.
Create a new app registration in Azure
- Log in to your Azure Portal.
- Open Microsoft Entra ID.
- From the Overview window, take note of the Primary domain (which this tutorial references as
<SSO_DOMAIN>
). - Under the Manage menu, select App registrations.
- Select + New registration.
- Enter a Name for the registration.
- Select the appropriate Supported account types.
- Enter a Redirect URI. The Redirect URI is of the form
<scheme>://<uri>/auth/sso/callback/perdomain
, where<scheme>
is the scheme you use for your site (http
orhttps
), and<uri>
is the console URI you use to log in to TileDB (which you can find in yourvalues.yaml
file undertiledb-cloud-ui.ingress.url[0]
). - Select Register.
Get the issuer URL
- On the App registrations page, make note of the Application (client) ID, referenced as
<SSO_CLIENT_ID>
. - On the App registrations page, select Endpoints.
- Find the OpenID Connect metadata document field, and copy the URL. Paste the URL in a new tab or window in your browser.
- Find and copy the issuer details, referred to as
<SSO_OIDC_ISSUER_URL>
.
Add a client secret
- On the App registrations page, select Certificates & secrets.
- In the Azure Portal, open the Registered app page.
- In the Azure Portal, open the application you created, and navigate to Manage > Certificates & secrets.
- From the Client secrets tab, select + New client secret. Set a description to help others identify this secret and an expiration date.
- Select Add to create the secret.
- In the Value column, select the Copy to clipboard button to copy the client secret. Copy the Value (referenced as
<SSO_CLIENT_SECRET>
). Note: The Value will only display once and disappear after navigating away from the current page.
Add a claim
- Navigate to Manage > Token configuration.
- Add the following optional claims:
email
: The addressable email for this user, if the user has one. Note: Theemail
claim is mandatory to exist for SSO to work with TileDB.preferred_username
: The preferred username claim, so apps can give username hints and show human readable display names.
Upgrade your TileDB cluster
Update your
values.yaml
file with the following information, creating any missing keys if necessary:tiledb-cloud-rest: restConfig: SSO: OIDC: - Domain: <SSO_DOMAIN> OIDCIssuer: <SSO_OIDC_ISSUER_URL> OIDCClientID: <SSO_CLIENT_ID> OIDCClientSecret: <SSO_CLIENT_SECRET>
Run an upgrade on your cluster, swapping your initial
helm install
command withhelm upgrade
(orhelm upgrade --install
if you prefer) and submitting your new values file configurations. For example:helm upgrade --install \ --namespace tiledb-cloud \ --values values.yaml \ \ tiledb-cloud tiledb/tiledb-cloud-enterprise
Test the configuration
- Open the TileDB console, and select Company SSO.
- Enter your email address in the Corporate email field, and select Continue with single sign-on. If everything is configured correctly, your browser should bring you to the Microsoft login, where you’ll sign in with your Microsoft credentials.
- After signing in, you should be redirected back to the TileDB console, where you’ll be logged in.