← Settings

# SSO Configuration

SAML 2.0 single sign-on for Okta, Azure AD, and Google Workspace.

🏢

### Enterprise Feature

SSO is available on the Enterprise plan. Upgrade to connect your identity provider and enable SAML-based authentication for your team.

View Enterprise Plan
Service Provider Info (paste these into your IdP)
SP Entity ID / Audience URI
Identifies TuneVault to your identity provider.
—
ACS URL / Reply URL
Where the IdP sends the SAML response after authentication.
—
SP Metadata XML
Some IdPs accept metadata import. Download this for quick setup.
Download XML
SSO Status
Not configured
Identity Provider Configuration
Identity Provider
Okta
Azure AD / Entra ID
Google Workspace
Custom SAML 2.0

#### 📋 Okta Setup Steps

1. In Okta Admin Console → Applications → Create App Integration
2. Choose SAML 2.0 as the sign-in method
3. Set Single sign on URL to the ACS URL above
4. Set Audience URI (SP Entity ID) to the Entity ID above
5. Set Name ID format to `EmailAddress`
6. Under Attribute Statements, add: `email → user.email`, `displayName → user.displayName`
7. Finish setup, go to Sign On tab → copy the Identity Provider metadata URL or download the certificate
8. Paste the SSO URL, IdP Entity ID, and X.509 Certificate below

#### 📋 Azure AD / Entra ID Setup Steps

1. Azure Portal → Microsoft Entra ID → Enterprise Applications → New application
2. Choose Create your own application → name it "TuneVault" → Integrate any other application (Non-gallery)
3. Go to Single sign-on → SAML
4. In Basic SAML Configuration: set Identifier (Entity ID) and Reply URL (ACS URL) from above
5. Under Attributes & Claims, ensure `user.mail` → `emailaddress` is mapped
6. Download the Certificate (Base64) from SAML Signing Certificate section
7. Copy the Login URL and Azure AD Identifier for the fields below

#### 📋 Google Workspace Setup Steps

1. Google Admin Console → Apps → Web and mobile apps → Add app → Add custom SAML app
2. Name your app "TuneVault", click Continue
3. Download the IdP metadata or copy the SSO URL, Entity ID, and Certificate
4. On the next screen: ACS URL = ACS URL above, Entity ID = SP Entity ID above
5. Set Name ID format to `EMAIL`, Name ID = `Basic Information > Primary email`
6. Add attribute mappings: `Primary email → email`, `First name + Last name → displayName`
7. Assign users/groups, then paste the values below

#### 📋 Custom SAML 2.0 Setup

1. In your IdP, create a new SAML 2.0 application/SP
2. Set the ACS URL (also called Reply URL or Recipient URL) to the value above
3. Set the SP Entity ID (also called Audience URI or Issuer) to the value above
4. Configure the response to include the user's email address (in NameID or a custom attribute)
5. Export the IdP's X.509 certificate, SSO endpoint URL, and Entity ID
6. Paste those values into the form below

IdP SSO URL *
The URL where TuneVault redirects users to authenticate.
IdP Entity ID *
Identifies your IdP in the SAML exchange. Often a URL but not a redirect.
X.509 Certificate *
Paste the full PEM certificate including BEGIN/END headers. Used to verify assertion signatures.
Attribute Mapping
Email attribute name
The SAML attribute name that contains the user's email. Use `nameID` if email is in the NameID element.
Display name attribute
SAML attribute containing the user's full name (optional).
Group attribute name
Attribute containing IdP group memberships, used for role mapping below (optional).
Group → Role Mapping (optional)

Map IdP group names to TuneVault roles. Enter one mapping per line as `GroupName = role`. Valid roles: `admin`, `senior_dba`, `junior_dba`, `viewer`.

Group mappings
Default role (for unmapped users)
Access Policy
Require SSO for all users
Disables magic link and Google OAuth for team members. Admins always retain magic link access as a break-glass fallback.
User Provisioning
Just-in-time provisioning
First-time SSO login automatically creates a TuneVault account. No manual invite needed for SSO users.
✓ Active
Role assignment
Roles are assigned from IdP group mapping on every login. Overrides manual role assignments for SSO users.
Group-based