Okta
Okta provides a flexible yet simple Identity Provider solution that integrates easily with the Frame platform. Following the steps below, you simply need to locate, copy, and paste certain values between platforms. This process should take less than fifteen minutes. Refer to Okta documentation for additional information on how to configure Okta.
Please be aware that while Okta does have a pre-built Frame app, this app does not yet support group attributes. In order to use group attributes, you must configure the application manually as described below.
Getting Started
To begin, let's create a URL-friendly SAML2 Integration Name that we'll use in a few places throughout our setup. Continue below for help and examples that you can use in your SAML integration.
Integration Name examples for Okta
Your SAML2 Integration Name is a case-sensitive, URL-friendly, unique, and descriptive value that represents the integration between your Okta and Frame. This value can have only letters, numbers, and the dash symbol; no spaces or punctuation are allowed.
We recommend using something that includes descriptive information, such as your company and identity provider's names. This integration name is tied to your SAML2 endpoints on Frame and using descriptive names can be useful for debugging.
Optionally, fill out the information below to get a recommendation of what you could use.
Using the values copied from above and following the steps below, we'll create and gather these details to configure proper communication between Okta and Frame.
Before a SAML2 identity provider can be added, the administrator must enable SAML2 Providers at a given level by navigating to the Admin Console. From there, navigate to the Customer or Organization page (depending on where you wish to add the IdP).
Select Users from the left-hand menu. From there, navigate to the Authentication tab and enable the SAML2 toggle. Click Save.
More options will appear next to the Authentication tab, click on the SAML2 Providers tab, then click Add SAML2 Provider.
Let's keep this browser tab open. We'll return back to it after a few steps in Okta's Dashboard.
Add an Application to Okta
In a separate/new tab, log in to your Okta account as an Admin and open the Dashboard. Select SSO Apps.
Click Create App Integration in the top-left corner of the page.
Select SAML 2.0 and click Next.
Provide an app name and icon. We've provided a Frame icon below for convenience:
You will be taken to the SAML Settings page.
Next, it's time to paste our Single sign-on URL from the Getting Started section of this page.
CautionThe forward slash at the end of the URL is required for the integration to work correctly.
Next, we'll enter the following information:
- Audience URI: A DNS-compliant string. For this example, we will use
docs-frame-okta
. This customer-defined string will be entered on the Frame side as our Application ID later on. You must use a unique Audience URI for your own IdP integration. - Default RelayState: This field can be left blank for SP-initiated SSO scenario. For IdP-initated SSO scenarios, you will need to specify the URL your IdP will redirect the user to once the user has authenticated to Okta. The value can be a custom entity endpoint URL or a Launch Link URL.
Configure how Okta will specify the Subject for the SAML2 assertion.
- Name ID format: Use value of EmailAddress
- Application username: Use value of Email
Select Show Advanced Settings in the bottom right corner and the Okta fields shown in the following screen will be visible.
Update the following fields:
- Response: Use value of Unsigned
- Assertion Signature: Use value of Signed
- Other Requestable SSO URLs: If you plan to use the Frame Login Page, add a second Single sign-on URL with the FQDN img.frame.nutanix.com with an index of
1
. For example,https://img.frame.nutanix.com/saml2/done/docs-frame-okta/
for the above example.
Add three Attribute Statements. They must be exactly as shown here, including capitalization. Additionally, you can add “Group Attribute Statements” if you wish. We go into detail for passing group attributes/claims in later steps.
Click Next and fill out the feedback page as desired.
Click Finish.
You will automatically be taken to the Sign On page/tab where we'll obtain the final piece of information. Scroll down to the bottom box under the Sign On Methods section and right-click on the blue Identity Provider metadata link. Copy the link URL and save it somewhere to reference in later steps.
The Okta side of the setup is now complete. Next, we'll configure the Frame side of the integration using the the values we've copied from these steps in the Okta Dashboard.
Final Steps
Navigate back to your Frame tab and enter the following data into our Add a SAML2 Identity Provider form:
- Application ID: The Application ID identifies a partner across federation interactions and can be set to any DNS-compliant string. In this example, we used
docs-frame-okta
. You must use the Audience URI (SP Entity ID) value from your Okta IdP configuration. - Auth provider metadata: Check the “URL” option and paste the Identity Provider metadata URL (reference step 15 above) into the “Auth provider metadata” field as shown above. The metadata URL must be publicly accessible to Frame Platform on the Internet.
- Integration Name: Enter your unique SAML2 integration name here from the Getting Started section at the top of the page.
- Custom Label: When specified, this value will be used in the login page as
Sign in with <Custom Label>
. - Authentication token expiration: Set the desired expiration time for the authentication token. This can range from 5 minutes to 7 days.
- Signed response: Leave this toggle disabled. If you wish to use Signed SAML2 Responses, you would need to go back to your Okta IdP configuration and enable Response to be Signed.
- Signed assertion: Enable this toggle.
Click Add.
- Application ID: The Application ID identifies a partner across federation interactions and can be set to any DNS-compliant string. In this example, we used
You have successfully created your Okta integration with the Frame platform! Move on to the next section for configuring roles and permissions for your users, as well as information for passing Group attributes to Frame.
Configuring Permissions
Once the IdP is successfully configured on Frame, administrators will need to configure the authorization rules for the account from the SAML2 Permissions tab listed to the right of the SAML2 Provider tab, as discussed in our Roles and User Permissions with a SAML2 IdP sections.
Passing Group Attributes
You can authorize any groups of users you want to allow to use the Frame platform based on the user-group assignments you have configured in Okta. We recommend following the guidance of Okta's support team provided in this link regarding group attribute statements with custom SAML applications.
Groups attribute and the associated set of Okta groups to insert in the SAML2 Response can be defined in Okta. In this example, enter groups
for the group name attribute and define the group name inclusion filter.
Here's an example of a list of groups in Okta:
Assuming that one of the Okta groups that is passed to Frame is Okta-Contractors, the Frame administrator would specify a SAML2 permission where any user's SAML2 response contains a value of Okta-contractors
in the groups
SAML2 attribute will be granted Account Administrator role on Frame account Contractor Account.
Signing into Frame with Okta
Your new SAML2 auth integration will appear as button on your Frame login page. The URL for navigating to your Frame login page will vary depending on which level the SAML2 integration was configured. See our section about Entities and URLs to help pick the right one for you and your end-users and/or staff.
When landing on a URL configured for your Okta SAML2 Integration, your end-users should see an option like this: