Configure SAML-based SSO for SaaS environments
Instabase supports security assertion markup language (SAML)-based authentication to manage access to your Instabase environment. Using SAML-based single sign-on (SSO) lets you leverage your existing SSO identity provider (IdP) to automatically create new user accounts on the Instabase platform upon initial login. You can also optionally map existing groups configured in your IdP to groups in your Instabase environment.
Instabase uses service provider (SP)-initiated SSO authentication and supports IdPs that use SAML 2.0. Supported IdPs include:
-
Microsoft Entra ID
-
Active Directory Federation Services (AD FS)
-
Auth0
-
Okta
-
PingFederate
Customer requirements
Enabling SAML on an Instabase SaaS environment involves working closely with your Instabase support team. While your Instabase support team performs configuration steps on the Instabase side, it’s your responsibility to review this documentation and ensure the following customer requirements are met:
-
At least one user in the environment is configured as a site admin.
-
You’ve created an app registration in your IdP according to the IdP configuration requirements. As part of this requirement, ensure that:
-
You can provide Instabase with the SP entity ID, SP name, and ACS URL values used in your app registration.
-
All user accounts in the environment have credentials that match the
uid
andemail
attributes defined in the app registration.
-
-
You’ve connected with Instabase support to discuss and apply the required SAML patches.
-
(Optional) You’ve configured external group mappings.
Be aware that applying SAML configuration requires downtime while the API and web interfaces restart. Work with your support team to establish when this required downtime is acceptable.
IdP configuration requirements
This article uses the term app registration to refer to registering Instabase as a service provider in your IdP. The same concept is known as a relying party trust (AD FS), an application (Auth0), an enterprise application (Entra ID), an app integration (Okta), and an SP connection (PingFederate).
The SSO integration flow begins with you registering Instabase as a service provider in your IdP. The app registration must include specific information and attributes (also called claims), outlined below. After completing the app registration, you can provide the IdP metadata XML to Instabase as either an XML file or an endpoint directing to the XML metadata. Your Instabase representative then completes the SSO setup on the Instabase side.
If configuring SSO for multiple Instabase environments, you must create one app registration per Instabase environment, each with a unique entity ID.
App registration requirements
This table outlines the required values from your app registration that you must provide to your Instabase representative. The table outlines the suggested value for each field, and the name of the corresponding field in select IdPs. The accuracy of the Corresponding IdP field column is not guaranteed as Instabase doesn’t closely monitor changes to external products’ UI.
Field | Description | Value | Corresponding IdP field |
---|---|---|---|
SP entity ID | A unique identifier, also called the entity ID. | The suggested value is your Instabase environment URL. For example https://dev.instabase.com .
Note
If using Auth0 as your IdP, the SP entity ID value in Instabase corresponds to the
audience attribute in the SAML assertion. By default the audience value is the same as the Auth0 issuer . You must edit the audience value to match your Instabase environment URL (or whatever value you’re using as the SP entity ID). See the Auth0 customize SAML assertions documentation for additional information. |
The SP entity ID value is set in the following IdP fields: - AD FS: Relying Party Trust Identifier - Auth0: The audience attribute within the SAML assertion - Entra ID: Identifier (Entity ID) - Okta: Audience URI (SP Entity ID)/Audience Restriction - PingFederate: Partner’s Entity ID (Connection ID) |
SP name | A label associated with the service provider, also called the entity label or SAML SP name. | The suggested value is InstabaseSP , though any alphanumeric value is supported. |
The SP name value is set in the following IdP fields: - AD FS: Display name - Auth0: Name (Application name) - Entra ID: Application name - Okta: Application label - PingFederate: Connection name |
Assertion consumer service (ACS) URL | The URL where the IdP redirects after the user successfully authenticates. | The required value is https://{Your Instabase environment URL}/account/sso/saml2. For example, https://dev.instabase.com/account/sso/saml2 . |
The ACS URL value is set in the following IdP fields: - AD FS: Relying Party SAML 2.0 SSO service URL - Auth0: Application Callback URL - Entra ID: Reply URL (Assertion Consumer Service URL) - Okta: Single Sign On URL - PingFederate: Assertion Consumer Service URL |
Attribute requirements
Your app registration must include the following attributes (also called claims), with the attribute’s name exactly matching the name written in the table below. For example, the attribute email
cannot be substituted with a similar attribute, such as emailAddress
.
When configuring claims in Entra ID, do not define a Namespace value for the claim.
Attribute name | Description | Sample valid values | Notes |
---|---|---|---|
(Required) A unique email address that maps to the user’s corporate email address. Note
The
email and uid combination must be unique among all users. |
jane.doe@corporation.com, john_doe@corporation.ca | If a user’s email address changes, their Instabase account from the previous account must be manually migrated to the new address. | |
uid | (Required) A unique user ID (UID) that maps to the user’s corporate username. The uid value becomes the user’s Instabase username. Note
The
email and uid combination must be unique among all users. |
jane.doe, john_doe | UIDs are case-sensitive and can include only alphanumeric values, periods, hyphens, and underscores. @ and # symbols are not supported. |
groups | (Optional) A group ID defined in the IdP. IdP-defined group IDs can be mapped to Instabase groups. See the external group mappings documentation for additional information. |
The group ID as defined in the IdP. | Each Instabase group can map to at most one IdP-defined group. However, the inverse is not true: the same IdP-defined group can be mapped to multiple Instabase groups. If a user is removed from a given group on the IdP end, upon next Instabase login that change of status is synced and the user is removed from the corresponding Instabase group. |
IdP metadata XML requirements
Instabase supports two methods of referencing the IdP metadata XML:
-
Local: Referencing a static
metadata.xml
file that is stored as a Kubernetes secret in the environment. -
Remote: Referencing a metadata-server endpoint where the XML file is hosted on the SAML provider metadata server.
After configuring your app registration and required claims, connect with your Instabase representative to provide your IdP metadata XML file or metadata-server endpoint. This table outlines where you can find the local or remote access value in select IdPs. The accuracy of this table is not guaranteed, as Instabase doesn’t closely monitor changes to external products’ UI.
Identity provider | Local access value | Remote access value |
---|---|---|
AD FS | Download the federation metadata as an XML file from the federation metadata URL. This is typically found at AD FS > Service > Endpoints > Metadata URL path. For example: {Your host name}/FederationMetadata/2007-06/FederationMetadata.xml. | |
Auth0 | Download the Identity Provider metadata file. (Available on the application details page under Addons > SAML 2 Web App > Usage.) | Share the SAML metadata URL link. (Available on the application details page under Advanced Settings > Endpoints.) |
Entra ID | Download the Federation metadata XML file. (Available on the application’s Single sign-on page.) | Share the App Federation Metadata Url link. (Available on the application’s Single sign-on page.) |
Okta | Download the Identity Provider metadata file. (Available on the application details page under Sign on > Settings.) | Share the Identity Provider metadata link. (Available on the application details page under Sign on > Settings.) |
PingFederate | Download the metadata as an Identity Provider from the Metadata Export tab. |
Reference: Service provider configuration details
In SaaS environments, the service provider (Instabase backend) configuration is performed by Instabase. For reference and possible configuration troubleshooting, this section provides sample configurations and related backend information.
Service provider configuration parameters
The following configuration parameters are set when configuring SSO in the Instabase backend:
Parameter | Description | Value |
---|---|---|
AUTH_TYPE | Defines the authentication type. | saml |
SAML_SP_ENTITY_ID | The entity ID value set in the IdP. An exact match between this value and the entity ID set in the IdP is required. Corresponds to the SP entity ID value. |
Typically {Your Instabase URL} . For example, https://dev.instabase.com . |
SAML_SP_NAME | The label associated with the Instabase entity in the IdP. Corresponds to the SP name value. |
Typically InstabaseSP . |
SAML_REQUIRED_ATTRIBUTES | The required attributes (claims) provided to Instabase by the IdP. Corresponds to the required attributes. |
Typically email,uid . |
SAML_OPTIONAL_ATTRIBUTES | The optional attributes (claims) provided to Instabase by the IdP. Corresponds to the optional attributes. |
Typically groups , if group mapping is used. |
SAML_HTTP_ACS_URL | The https access consumer service (ACS) URL where the IdP redirects after the user successfully authenticates. Corresponds to the Assertion consumer service (ACS) URL value. |
Typically https://{Your Instabase URL}/account/sso/saml2 . |
SAML_HTTPS_ACS_URL | The http access consumer service (ACS) URL where the IdP redirects after the user successfully authenticates. Corresponds to the Assertion consumer service (ACS) URL value, but with an http:// scheme. |
Typically http://{Your Instabase URL}/account/sso/saml2 . |
AUTH_PROVIDER | Defines how the IdP metadata XML is provided. Determined by the chosen IdP metadata XML setup. |
- local : IdP metadata XML is referenced locally. - remote : IdP metadata XML is referenced remotely, on the IdP metadata server. |
AUTH_PROVIDER_URI | The location of the IdP metadata XML. Determined by the chosen IdP metadata XML setup. |
If auth-provider is local : The local file path to the metadata.xml file mounted to webapp in the Instabase environment. If auth-provider is remote : The endpoint URL where the IdP metadata XML is hosted on the IdP metadata server. |
In addition to the parameters that must be manually defined according to the IdP-provided values, the following parameters are also set. These parameters are typically used with their default value. Refer to the default values to understand if an SP default value is conflicting with an IdP-defined value.
Parameter | Description | Instabase default value |
---|---|---|
SAML_ALLOW_UNSOLICITED | For SP instances, if set to true, the SP will consume unsolicited SAML responses for which it has not sent a respective SAML Authentication Request. | True |
SAML_AUTHN_REQUESTS_SIGNED | For SP instances, indicates if the Authentication Requests sent by this SP are signed by default. | False |
SAML_LOGOUT_REQUESTS_SIGNED | Indicates if this entity will sign the Logout Requests originated from it. | True |
SAML_WANT_ASSERTIONS_SIGNED | Indicates that the assertions contained within the response that is sent to this SP must be signed. | True |
SAML_WANT_RESPONSE_SIGNED | Indicates that the Authentication Response to this SP must be signed. | False |
Sample service provider configurations
The following are sample configurations for how a SAML-based SSO configuration is defined in the Instabase backend. The configurations are in the form of patches that are applied using the Instabase Deployment Manager.
Two patches are applied: one that targets deployment-webapp
and defines the SAML configuration parameters, and one that targets deployment-api-server
to set the AUTH_TYPE
as saml
. Click to expand the sample patches.