I had to work on Splunk SSO Integration and since had never touched SSO/SAML before, I wanted to play with it a little bit on my machine. I’ve decided to use Oath0 as my IdP
This tutorial is based on SAML SSO with Auth0 as Service Provider and as an Identity Provider, but the steps that are relevant to configuring an Auth0 tenant as the Service Provider (SP) are replaced with Splunk Configuration.
Set up the Auth0 IDP
In this section you will configure one Auth0 tenant (tenant 2) to serve as an Identity Provider. You will do this by registering an application, but in this case, the ‘application’ you register is really a representation of tenant 1, the SAML Service Provider.
In the Auth0 dashboard:
- Click on “Applications” link at left.
- Click on the red “+ CREATE APPLICATION” button on the right.
- In the Name field, enter a name (I’ve had mine as “Splunk 7.0.3 Container”).
- Press the blue “SAVE” button.
- Click on the “Settings” tab.
- Scroll down and click on the “Show Advanced Settings” link.
- In the expanded window, scroll down to the “Certificates” section and click on the “DOWNLOAD CERTIFICATE” link and select PEM from the dropdown, to download a PEM-formatted certificate. The certificate will be downloaded to a file called “YOUR_TENANT.pem”. Save this file as you will need to upload this file when configuring the other Auth0 tenant, tenant 1.
- Click on the “Endpoints” tab and go to the “SAML” section.. Follow the “SAML Metadata URL” to download the IdP metadata file which we will need later in Splunk SAML configuration.
- Click on the “Endpoints” tab and go to the “SAML” section. Copy the entire contents of the “SAML Protocol URL” field and save it as in the next step you will need to paste it into Splunk SSO configuration .
Creating User(s) in Auth0
Next, create a user to use in testing the SAML SSO sequence. In the Auth0 dashboard:
- On the lefthand side, navigate to Users and Roles > Users
- Click on the “+ CREATE YOUR FIRST USER” button.
- In the Email field, enter an email for your test user. The domain name for the email should match what you enter in section 3 below. For example, if your user is
email@example.com, you would enter that here, and then enter “abc-example.com” in step 3 below for the Email domain.
- Enter a password for the user
- For the Connection, leave it at the default value. (Username-Password-Authentication)
- Press the blue “SAVE” button.
Creating Roles and assigning user(s) in Auth0
Since Splunk relies on the IdP to return the user roles you will need to create at least one new Role and assign a user to it.
- On the lefthand side, navigate to Users and Roles > Roles
- Click on the “+ CREATE ROLE” button.
- Once the Role is created click on “ADD USERS” button
- From the dropdown list select the user and click “ASSIGN“
NOTE: for Auth0 to return the groups information in SAML you will need to follow the steps in Return User Roles in Auth0.
- Login to Splunk
- Navigate to “Settings” > “Access Controls” > “Authentication Method”
- Under External authentication methods, select “SAML” and click the “SAML Settings” link
- Create the required SAML groups (and assign roles to them), so that these group names will be matched with the Auth0 role names
- On top right corner click the “SAML Configuration” button
- On the right of the “Metadata XML File” click “Select File” and upload the IdP metadata file that you’ve downloaded from Auth, it will be called something like dev-1a2b3c4d-idp_au_auth0_com-metadata.xml (the first part will depend on your Auth0 t