Self-Service SSO with a SAML-based IdP
Configure a SAML-based identity provider
This guide walks through configuring a generic SAML-based identity provider (IdP) for use with Apollo SSO. If you use Okta or Microsoft Entra ID as your IdP, instead see the corresponding guide for your IdP:
Microsoft Entra ID (formerly known as Azure Active Directory)
Prerequisites
Setup requires:
A GraphOS user account with the Org Admin role
Check the Members tab in GraphOS Studio to see your role and which team members are org admins
Administrative access to your IdP
Setup
SAML-based SSO setup has these steps:
- Enter your SSO details in GraphOS Studio.
- Create a custom application for GraphOS in your IdP.
- Share your application's SAML metadata in GraphOS Studio.
- Verify and configure OIDC details.
- Verify your SSO configuration works.
- Enable SSO in GraphOS Studio.
The SSO setup wizard in GraphOS Studio guides you through these steps.
Step 1. Enter your SSO details
- Go to GraphOS Studio . Open the Settings page from the top navigation. Open the Security tab from the left sidebar and click Migrate SSO. A setup wizard appears.
- Enter the Email domain(s) you are setting SSO up for. Click Continue.
- Select SAML as the SSO type. Click Continue.
Step 2. Create a custom application
Once you reach Step 2: Configure Your IdP in the wizard, open your IdP's admin dashboard in a separate browser tab.
Create a new application. While doing so, set the following values:
App Name:
Apollo GraphOS
Logo: Apollo logo (optional)
If your IdP permits it, upload the SAML XML metadata file provided by the GraphOS setup wizard. Otherwise, manually enter the following metadata values in your IdP:
Set your Single Sign-on URL or ACS URL to the Single Sign-on URL provided by the wizard. You can also use this value for the following fields:
Recipient
ACS (Consumer) URL Validator
ACS (Consumer) URL
Set your Entity ID to the Entity ID value provided by the wizard.
Set the following user attributes:
sub
:user.email
The
sub
attribute should uniquely identify any particular user to GraphOS. In most cases,user.email
oruser.mail
provides this unique mapping.
email
: Your IdP's email attribute, often something likeuser.email
given_name
: Your IdP's first name attribute, often something likeuser.firstName
family_name
: Your IdP's last name attribute,often something likeuser.lastName
Save the configuration in your IdP.
In the GraphOS setup wizard, select whether your IdP requires signing an AuthnRequest.
Click Next.
Step 3. Share SAML metadata with Apollo
In the GraphOS setup wizard, enter your application's metadata URL or metadata file. Consult your IdP's documentation if you need assistance finding it. Click Next.
Step 4. Verify details
The GraphOS Studio setup wizard populates your SSO metadata based on the URL you entered in the last step. Verify the values are correct. Consult your IdP's documentation if you need assistance finding them.
Once you've verified the values or corrected them, click Next.
Step 5. Verify SSO Configuration
To verify that your SSO configuration works, click Login with new SSO in the GraphOS Studio wizard. This button launches a new login session in a new browser tab. Once you successfully login using your new configuration, click Next.
Step 6. Enable SSO
If team members could previously login before you implemented SSO, they must re-login to GraphOS Studio via SSO. Signing in creates a new user profile for them. Any personal API keys associated with their previous user profile will be lost. (Graph API keys ) are unaffected and remain functional.) Additionally, you must reassign any GraphOS roles associated with their previous user profile.
Assign users in your IdP
Once your SSO setup is live, assign users to your new Apollo GraphOS application in your IdP. Consult your IdP documentation if necessary. For help assigning the relevant groups and users, contact your SSO or Identity & Access Management team.
Legacy setup
Click to see legacy instructions
- Create a new application in your SSO environment. While doing so, set the following values:
- App Name:
Apollo GraphOS
- App logo: Apollo logo (optional)
- App Name:
- If possible, upload the appropriate Apollo SAML metadata for your organization:
- If your organization does not already use the Entity ID
PingConnect
: apollo_studio_pingconnect_metadata.xml- If authentication requests need to be signed use: apollo_studio_pingconnect_signed_metadata.xml
- If your organization does already use
PingConnect
: apollo_studio_guid_metadata.xml- If authentication requests need to be signed use: apollo_studio_guid_signed_metadata.xml
- If your organization does not already use the Entity ID
- Set your Single Sign on URL or ACS URL to the following:
https://sso.connect.pingidentity.com/sso/sp/ACS.saml2
You can also use this value for the following fields:- Recipient
- ACS (Consumer) URL Validator
- ACS (Consumer) URL
- Set your Entity ID according to the following:
- If your organization does not already use
PingConnect
as an Entity ID, usePingConnect
. - If your organization does already use
PingConnect
, use the following value:fd76e619-6c0a-461c-912d-418278929d60
- If your organization does not already use
- Set your RelayState to the following value:
https://pingone.com/1.0/fd76e619-6c0a-461c-912d-418278929d60
- Set the following user attributes:
sub
:user.email
- The
sub
attribute should uniquely identify any particular user to GraphOS. In most cases,user.email
provides this unique mapping.
- The
email
:user.email
given_name
:user.firstName
family_name
:user.lastName
- Assign users to the Apollo GraphOS application.
- Reach out to your SSO or Identity & Access Management team for help assigning the relevant groups and users to
Apollo GraphOS
.
- Reach out to your SSO or Identity & Access Management team for help assigning the relevant groups and users to
- Send your Apollo contact your identity provider (IdP) SAML XML metadata file.If you can't send this file, send one of the following instead:
- IdP entity ID
- IdP single sign-on URL / SSO URL
- IdP x509 certificate
- Your Apollo contact will complete your SSO setup.