This setup might fail without parameter values that are customized for your organization. Please use the Okta Administrator Dashboard to add an application and view the values that are specific for your organization.
The Okta/Amazon AppStream 2.0 SAML integration currently supports the following features:
Okta’s Amazon AppStream 2.0 integration allows end-users to authenticate AWS AppStream applications using single sign-on with SAML. Okta admins can also set the duration of the authenticated session of users via Okta.
Configuring SAML 2.0 for Amazon AppStream 2.0 consists of the following three steps:
In order to use SAML for AWS, you need to set up Okta as an identity provider in AWS and establish the SAML connection, as follows:
Log in to your AWS Console, and select Services.
Select IAM under Security and Identity Compliance:
Select Identity Providers from the left menu:
Select Create Provider:
On the Configure Provider page:
Provider Type: Select SAML from the dropdown.
Provider Name: Enter a user-friendly name.
Metadata Document: Copy and save the following as metadata.xml, then click Choose File and upload this file.
Sign in to Okta Admin app to have this variable generated for you.
Locate the Identity Provider you just created by the Provider Name in the list of Identity Providers. Click on the name, and copy and store the identity Provider ARN value as shown below. You will need it later during this configuration.
The next step is to create an IAM role to create a trust relationship between IAM and Okta that identifies Okta as a trusted entity for the purposes of federation. The role also defines which users authenticated by Okta are allowed to access an AppStream 2.0 stack.
Select Roles from the list on the left, then select Create New Role at the top.
Provide a friendly name for your role. For Role Type, select Role For Identity Provider Access, and then select Grant Web Single Sign-On (web SSO) access to SAML provider.
Note: If you already have an existing role with the type Grant Web Single Sign-On (web SSO) access to SAML providers, you can modify it to work with the SAML provider you just created in the previous step.
Verify the role trust policy. Choose the access policy, such as permissions, that federated users will inherit when using this role.
Review your settings, and then select Create Role. You should be able to see the new role, as shown below:
After you have created the role, you can limit the role to have permissions only to one or more AppStream 2.0 stacks by attaching an inline policy to the role.
Refer to Amazon’s documentation for steps: http://docs.aws.amazon.com/appstream2/latest/developerguide/external-identity-providers-setting-up-saml.html#external-identity-providers-grantperms
Copy the Role ARN and store it, as you will need it later during this configuration.
Now that you have finished the required steps to be performed in the AWS console, open the Amazon AppStream 2.0 app integration configuration in Okta and perform the following steps:
In Okta, go to the the Sign On tab for the Amazon AppStream 2.0 app and click Edit. Enter the Role ARN and the Provider ARN values that you stored earlier during this configuration in the Role ARN and Idp ARN field, as comma separated values.
For example if your Role ARN is: arn:aws:iam::123456789012:role/okta-access-role and your IDP ARN is arn:aws:iam::123456789012:saml-provider/okta, enter (no white spaces): arn:aws:iam::123456789012:role/okta-access-role,arn:aws:iam::123456789012:saml-provider/okta
Set the user’s desired session duration in seconds in the Session Duration field.
(Optional) If the AppStream 2.0 stack has a domain-joined fleet, select the AD user principal name for Application username format (otherwise leave as Okta username).
The last step is to configure the Relay State parameter for the application. It should follow the following format:
For details, see Amazon’s documentation on How to Configure the Relay State for your Federation.
You are now ready to assign users to the application and test SAML.
The following SAML attributes are supported: