content/operate/rc/security/access-control/saml-sso/saml-integration-okta-generic.md
This guide shows how to configure Okta as a SAML single sign-on identity provider (IdP) for your Redis Cloud account.
Learn how to use the generic application template. You can also refer to the [Org2Org]({{< relref "/operate/rc/security/access-control/saml-sso/saml-integration-okta-org2org" >}}) application template.
To learn more about Redis Cloud support for SAML, see [SAML single sign-on]({{< relref "/operate/rc/security/access-control/saml-sso" >}}).
Before completing this guide, you must [verify ownership of any domains]({{< relref "/operate/rc/security/access-control/saml-sso#verify-domain" >}}) you want to associate with your SAML setup.
To create the Okta SAML integration application:
Log in to the Okta admin console. Select Applications > Create App Integration.
{{<image filename="images/rc/saml/okta_saml_app_int_1.png" >}}
Select SAML 2.0, then select Next.
{{<image filename="images/rc/saml/okta_saml_app_int_2.png" >}}
Complete these fields for the SAML application General Settings section:
App name: Redis Cloud
App logo: Upload a Redis icon.
Select Next.
{{<image filename="images/rc/saml/okta_saml_app_int_3.png" >}}
In the Configure SAML tab, enter this data in the General section:
http://www.fake.com. This is a temporary mock URL that you will modify later.http://www.fake.com. This is a temporary mock URL that you will modify later.https://cloud.redis.io/#/login/?idpId=XXXXXX. You will need to complete this URL with the idpId later. Complete this field only if you need your SAML flow to be IdP initiated.UnspecifiedOkta usernameCreate and update{{<image filename="images/rc/saml/okta_saml_app_int_4.png" >}}
Next, add attribute statements, which are required for the configuration:
Attribute 1:
redisAccountMappingBasicappuser.redisAccountMappingAttribute 2:
FirstNameBasicuser.firstNameAttribute 3:
LastNameBasicuser.lastNameAttribute 4:
EmailBasicuser.login{{<image filename="images/rc/saml/okta_saml_app_int_5.png" >}}
Select Next.
The last step is an optional feedback step for Okta. Select I'm an Okta customer adding an internal app and then select Finish.
{{<image filename="images/rc/saml/okta_saml_app_int_6.png" >}}
Next, scroll down the page of your newly created app integration and select View Setup Instructions. A new browser window opens, providing the information you need to configure the IdP in Redis Cloud.
{{<image filename="images/rc/saml/okta_saml_app_int_7.png" >}}
Scroll down to Applications > Applications, and note down the following information:
{{<image filename="images/rc/saml/okta_saml_app_int_8.png" >}}
Once you save the information, close the window.
To modify the application user profile:
Go to Directory > Profile Editor in the left menu, and select Redis Cloud User.
{{<image filename="images/rc/saml/okta_saml_app_int_9.png" >}}
Add the custom attribute to your user profile to specify which Redis Cloud role the user has and on which account. Select Add Attribute.
{{<image filename="images/rc/saml/okta_saml_app_int_10.png" >}}
Add this information for the new custom attribute.
string arrayredisAccountMappingredisAccountMappingredisAccountMappingYesCombine values across groups{{<image filename="images/rc/saml/okta_saml_app_int_11.png" >}}
Once you add the attribute, it appears in the list of attributes for the profile.
{{<image filename="images/rc/saml/okta_saml_9.png" >}}
Now that your SAML IdP is configured, create an Okta group and assign users to the Redis Cloud application.
In the left menu, select Directory > Groups, then select Add group.
{{<image filename="images/rc/saml/okta_saml_group_1.png" >}}
Complete Name and Description, then click Save.
{{<image filename="images/rc/saml/okta_saml_group_2.png" >}}
{{<image filename="images/rc/saml/okta_saml_group_3.png" >}}
Select the group, then select Assign people.
{{<image filename="images/rc/saml/okta_saml_group_4.png" >}}
For each user you want to add to the group, highlight the user in the table and select +. You can also select Add all to add all users. Once you add all the users to your group, select Save.
{{<image filename="images/rc/saml/okta_saml_group_5.png" >}}
Now that your group is populated with its users, you can assign the SAML integration application to your group. From Applications > Applications > Redis Cloud:
Select Assign to groups menu item.
{{<image filename="images/rc/saml/okta_saml_group_6.png" >}}
In the Redis Cloud User Group, select Assign.
{{<image filename="images/rc/saml/okta_saml_group_7.png" >}}
Define the Redis account mapping string default for this group and select Save and Go Back. The key-value pair consists of the lowercase role name (owner, member, manager, billing_admin, or viewer) and your Redis Cloud Account ID found in the [account settings]({{< relref "/operate/rc/accounts/account-settings" >}}). Select "Done".
{{<image filename="images/rc/saml/okta_saml_group_8.png" >}}
The mapping field has now been defined as a default for each member of the group.
{{<image filename="images/rc/saml/okta_saml_group_9.png" >}}
To modify the Redis mapping field, select the pencil icon of the Redis Cloud group in the Redis Cloud application screen.
{{<image filename="images/rc/saml/okta_saml_group_10.png" >}}
You can modify the mapping field for the whole group on the edit screen that appears.
{{<image filename="images/rc/saml/okta_saml_group_11.png" >}}
To override the Redis mapping field at an individual user level, select the People menu, and then the pencil icon of the person whose field you want to modify.
{{<image filename="images/rc/saml/okta_saml_group_15.png" >}}
Set the user's Assignment master to Administrator, enabling the group's policy override. Select Save.
{{<image filename="images/rc/saml/okta_saml_group_13.png" >}}
The user's Type is set to Individual.
{{<image filename="images/rc/saml/okta_saml_group_14.png" >}}
On the screen that appears, select the pencil icon of the user to modify the Redis mapping field.
{{<image filename="images/rc/saml/okta_saml_group_15.png" >}}
Then, edit the user assignment.
{{<image filename="images/rc/saml/okta_saml_group_16.png" >}}
Now that you have a test IdP server ready as well as your user group, configure support for SAML in Redis Cloud.
Sign in to your account on the Redis Cloud console.
To activate SAML, you must have a local user (or social sign-on user) with the owner role. If you have the correct permissions, you will see the Single Sign-On tab.
Fill in the information you saved in step 6 in the setup form, including:
{{<image filename="images/rc/saml/sm_saml_1.png" >}}
Select Enable and wait a few seconds for the status to change. You are then able to download the service provider (SP) metadata. Save the file to your local hard disk.
{{<image filename="images/rc/saml/sm_saml_3.png" >}}
Open the file in any text editor. Save the following text from the metadata:
{{<image filename="images/rc/saml/sm_saml_4.png" >}}
{{<image filename="images/rc/saml/sm_saml_5.png" >}}
Return to Okta, select Applications > Redis Cloud > General and select Edit.
{{<image filename="images/rc/saml/okta_saml_app_int_12.png" >}}
Then, navigate to Configure SAML (step 2) and update the following information in SAML Settings General:
https://cloud.redis.io/#/login/?idpId=YOUR_LOCATION_ID).{{<image filename="images/rc/saml/okta_saml_app_int_13.png" >}}
Select Next, then select Finish.
Return to Redis Cloud console and select Activate.
{{<image filename="images/rc/saml/sm_saml_8.png" >}}
A popup appears, stating that to test the SAML connection, you need to log in with Okta credentials of the user defined in the Redis Cloud group. This user is part of the group to which you assigned the Redis Cloud application. Select Continue to go to the Okta login screen.
The Okta login screen appears. Enter the credentials and select Sign In.
{{<image filename="images/rc/saml/okta_saml_app_int_14.png" >}}
If everything is configured correctly, you will see the the Redis Cloud console screen. Your local account is now considered a SAML account.
To log in to the Redis Cloud console from now on, click on Sign in with SSO.
{{<image filename="images/rc/button-sign-in-sso.png" width="50px" alt="Sign in with SSO button">}}