Set up Okta
Set up seamless Single Sign-On (SSO) integration between Okta and Private Cloud Director (PCD) using SAML 2.0. This guide walks you through configuring Okta, managing user assignments, and verifying s
Set up Single Sign-On (SSO) integration between Okta and Private Cloud Director (PCD). You will configure an Okta SAML 2.0 application and connect it to your PCD deployment for seamless user authentication.
Step 1: Create an Okta SAML application
This step guides you through creating a new SAML 2.0 application integration in Okta.
Log in to your Okta server and navigate to Applications. Verify you have fewer than 5 active applications. If needed, deactivate unused applications.
Select Create App Integration.

Select SAML 2.0 as the sign-on method.

Select Next to proceed to the general settings.
Step 2: Configure SAML settings
Configure the basic SAML integration settings for your PCD deployment.
On General Settings, enter a descriptive application name.
Select Next to proceed to SAML configuration.

In Configure SAML, enter the following required information:
Single sign-on URL
https://<FQDN>/sso/<DOMAIN_NAME>/Shibboleth.sso/SAML2/POST
Example: https://test-du-testbed-only-3950700.app.qa-pcd.platform9.com/sso/IDP1/Shibboleth.sso/SAML2/POST
Use this for Recipient URL and Destination URL
Select this checkbox
Audience URI (SP Entity ID)
https://<FQDN>/keystone
Example: https://test-du-testbed-only-3950700.app.qa-pcd.platform9.com/keystone
Default RelayState
Leave blank
Name ID format
EmailAddress
Application Username
Okta Username
Update application username on
Create and update
Step 3: Set up attribute statements
Add attribute statements to pass user information from Okta to PCD .
Optionally, you can choose to update the Attribute Statements by adding the following mappings.
FirstName
Unspecified
user.firstName
LastName
Unspecified
user.lastName
Unspecified
user.email

Select Next to continue.
In Feedback, select Finish to complete the application setup.
You will be redirected to the application Sign On Settings, which displays the Issuer and Metadata URL needed for PCD configuration.

Step 4: Assign users to the application
Grant users access to the SAML application in Okta.
Navigate to the Assignments tab in your application.
Select Assign, then select Assign to People.
Select the users to give access to PCD through SSO.
Choose Assign to complete the user assignment.
The Okta configuration is now complete.
Step 5: Configure SSO in PCD
Connect your PCD deployment to the Okta SAML application.
Log in to your PCD deployment using the DU FQDN for your target region.
Navigate to Settings > Enterprise SSO.
Select Enable SSO.

Select Okta as your SSO Provider.
Copy the Issuer from your Okta application Sign On and paste it in the Entity ID field.
Copy the Metadata URL from your Okta application Sign On tab and paste it in the SAML Metadata URL field.
Add the following XML configuration in the SSO Provider Attribute MAP field:
<Attributes xmlns="urn:mace:shibboleth:2.0:attribute-map" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Attribute id="FirstName" name="FirstName" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="LastName" name="LastName" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="Email" name="Email" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="UserName" name="UserName" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="department" name="department" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="division" name="division" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="locale" name="locale" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="organization" name="organization" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="preferredLanguage" name="preferredLanguage" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="userType" name="userType" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="custom1" name="custom1" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="custom2" name="custom2" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="custom3" name="custom3" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="custom4" name="custom4" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
<Attribute id="custom5" name="custom5" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
<AttributeDecoder caseSensitive="false" xsi:type="StringAttributeDecoder"/>
</Attribute>
</Attributes>Select Save to create the configuration.
You will see a confirmation message as SSO configuration saved.
Step 6: Create SAML groups and mappings
Set up SAML groups to manage user permissions and role assignments in PCD.
Create a new SAML group with the following settings:
Field
Description
Name
Enter a descriptive group name
Description
Provide a clear description
Username Attribute Mapping Template
Enter a template that defines how the username should be constructed using SAML attributes.
Use the format {attributeKey} where attributeKey corresponds to the attributes available in your identity provider
Email Attribute Mapping Template
Enter a template that defines how the email address should be constructed using SAML attributes.
Use the format {attributeKey} where attributeKey corresponds to the attributes available in your identity provider
Template Examples:
{FirstName} {LastName}- Combines first and last name with a space{FirstName}-{LastName}- Combines first and last name with a dash{FirstName}xxxx{LastName}- Combines first and last name with custom characters{Email}- Uses the email attribute directly
The attribute keys must match those configured in your identity provider's attribute mapping configuration.
Add a group mapping with these configurations.
Field
Value
SAML Group Attribute
Email
Criteria
Any one of
SAML Group Values
Enter email addresses that match user assignments in your Okta application
(For example: [email protected], [email protected])
Assign roles and tenants from Tenants & Roles, by configuring the following.
Admin
Full administrative access
SSU (Self-Service User)
Limited self-service access
ReadOnly
View-only access
Select Add group to complete the SAML group setup.
Step 7: Verify the SSO integration
Verify if your Okta SSO integration works correctly.
Log out of your current PCD session.
Navigate to your PCD environment URL to initiate a new login.
The system redirects you to Okta for authentication.
Enter your Okta credentials and complete any required multi-factor authentication (MFA).
Upon successful authentication, Okta redirects you back to PCD with the appropriate user permissions.
You have now successfully configured Okta SSO for PCD. Users can now access PCD using their Okta credentials with seamless single sign-on authentication.
Last updated
Was this helpful?
