Amazon Web Services is a secured cloud web services platform that provides a large bundle of cloud-based services (see https://aws.amazon.com/). You can configure your Amazon Web Services account for Single Sign-On (SSO) through Identity as a Service.
Attention: Before you begin, review the information in the AWS documentation, Configuring SAML Assertions for the Authentication Response.
Note: This guide was tested using previous versions of Identity as a Service and Amazon Web Services. Other versions of Amazon Web Services may require integration and configuration steps that differ from those documented in this procedure. For newer versions of Amazon Web Services, this integration guide may be used as an initial approach for integrating Amazon Web Services. In the event of other issues, contact support@entrust.com for assistance.
Create custom user attributes in Identity as a Service
You need to create custom user attributes to fully integrate AWS and Identity as a Service. User attributes for AWS are case-sensitive and cannot contain spaces.
Repeat this procedure to create the following user attributes:
● AWS account number (for example name it, AWS Account Number)
● AWS Identity Provider name (for example, name it AWS Provider Name)
● AWS role name (for example, name it AWS Role Name)
● Optional. By default, the integration uses the Identity as a Service User ID for the AWS login User ID. If you want to change it to custom user attribute, create a custom user attribute for the AWS user ID.
1. Click
> Members > Attributes. The User
Attributes List page appears.
2. Under Custom User Attributes, click Add. The Add User Attribute dialog box appears..
3. Enter a User Attribute Name for the custom user attribute. For example, AWS_User_ID.
4. Optional: Check Attribute is required to make the user attribute mandatory.
5. Click Save to create the attribute. The attribute now appears in the list of Custom User Attributes.
6. Repeat this procedure to create the remaining required user attributes.
Add AWS to Identity as a Service
1. Log into your Identity as a Service administrator account.
2. Click
> Security > Applications. The Applications
Lists page appears.
3. Click Add. The Select an Application Template page appears.
4. Do one of the following:
● Select SAML Cloud Integrations from the search drop-down list and scroll to find the application you want to add to IDaaS.
- or -
● In the Search bar, enter a search option to filter for the application you want to add to IDaaS.
5. Click AWS. The Add AWS page appears.
6. Enter an Application Name.
7. Enter an Application Description.
8. Optional. Add a custom application logo.
a. Click next to Application Logo. The
Upload Logo dialog box appears.
b. Click to
select an image file to upload.
c. Browse to select your file and click Open. The Upload Logo dialog box reappears showing your selected image.
d. If required, resize your image.
e. Click OK.
9. Select the Authentication Flow that appears to users during login.
10. Click Next. The General page appears.
11. If
available, click to Upload Metadata XML file to auto-populate the
following fields, if available in the file:
● Default Assertion Consumer Service URL
● Service Provider Entity ID (Issuer)
● Single Logout Service URL
● SAML Signing Certificate
● SAML NameID Encoding Format
● SAML Signature Algorithm
12. Enter the SAML Session Timeout to the time when the SAML Assertion times out. The maximum is 720 minutes.
13. Enter the Max Authentication Age (seconds) to set the maximum amount of time that can elapse before a user is required to reauthenticate during a new login attempt. This applies for both SP-initiated and IDP-initiated login. Set this field to -1 to disable this feature.
14. If you do not have a metadata file, use the information provided in the next steps to populate the fields.
a. Enter the Default Assertion Consumer Service URL for the application.
https://signin.aws.amazon.com/saml
b. Enter the Service Provider Entity ID (Issuer) that is used by Identity as a Service to identify your application.
urn:amazon:webservices
c. Leave the Single Logout Service URL field blank.
d. Optional. Enter the SAML Username Parameter Name used to identity the user ID being requested for authentication. The user ID can then be passed as a parameter, for example, Username=jdoe.
e. From the SAML Name ID Attribute drop-down list, select the user attribute that will be used to uniquely identity a user to both Identity as a Service and your application. The attribute should be one that will never change. You created this user attribute in Step 1: Create mandatory user attributes for AWS.
f. For the SAML NameID Encoding Format, select UNSPECIFIED.
g. In SAML Response Signature Algorithm, select the signing algorithm you want Identity as a Service to use to sign the SAML response/assertion. The type of algorithm you select depends on the requirements of the application being configured.
h. Select the SAML Signing Certificate from the drop-down list.
15. Optional: Select Sign complete SAML response to ensure the message integrity of the SAML response sent to the application during authentication.
16. Optional: Select Respond Immediately for Unsuccessful Responses to return to the application immediately after a login failure, rather than allow user to try again with a different userID.
17. Deselect Enable Go Back Button if you do not want users to be able to go back to the application login page to log in.
18. Select Show Default Assertion Consumer URL Service in the My Profile. When selected, the Default Assertion Consumer URL appears in a user's My Profile page in addition to relay states and Alternative Assertion Consumer URLs.
19. Optional: Select Encrypt SAML Assertion. When selected the SAML Assertion is also encrypted. If you select this option, do the following:
a. From the Encryption Method for Key drop-down list, select either RSA Version 1.5 or RSA-OAEP. RSA Version 1.5 is the default.
b. From the Encryption Method for Data drop-down list, select the encryption method used to encrypt data. The options are:
– AES-256 (default)
– AES-128
– AES-192
– Triple DES
c. In the Encryption Certificate field, upload the encryption certificate file.
20. Optional. Add Alternative Assertion Consumer Service URLs, as follows:
a. Click Add.
b. Enter a Name.
c. Enter a URL Value.
d. Select Show in My Profile to display the Alternative Consumer Service URL in a user's My profile page.
e. Optional. Add an Application Logo.
f. Click Add.
g. Repeat these steps to add more Alternative Assertion Consumer Service URLs.
21. Optional. Add a Relay State as follows:
a. Under Relay State, click Add. The Add Relay State dialog box appears.
b. Enter a Name for the relay state.
c. Enter the Value for the relay state. This setting specifies the application or URL that is a user is redirected to after successful authentication.
22. Select Show in My Profile to display the relay state on the user's My Profile page.
Notes: After
you add relay states, you can also enable or disable them on the Add/Edit
application page. Click
next to the relay state to disable it or click
to re-enable it.
Relay states apply to the Default Assertion Consumer Service URLs and
not the Alternative Assertion Consumers URLs.
d. Optional.
Add a Relay State custom logo.
Click next
to Relay State Logo. The Upload
Logo dialog box appears.
Click
to select an image file to upload.
Browse to select your file and click Open. The Upload Logo dialog box reappears showing your selected image.
If required, resize your image.
Click OK.
e. Click Add.
f. Repeat these steps to add more Relay States.
23. Under SAML Attribute(s), do the following:
a. Click https://aws.amazon.com/SAML/Attributes/Role. The SAML Attribute(s) dialog box appears with the following string:
arn:aws:iam::<AWS Account Number>:saml-provider/<AWS Provider Name>,arn:aws:iam::<AWS Account Number>:role/<AWS Role Name>
b. Edit the content between < > with the custom user attributes you created in Step 1: Create custom user attributes for AWS.
a. Replace <AWS Account Number> with the user attribute you created for the AWS account number.
b. Replace <AWS Provider Name> with the user attribute you created for the AWS Identity Provider name.
c. Replace <AWS Account Number> with the user attribute you created for the AWS account number.
d. Replace <AWS Role Name> with the user attribute you created for the AWS role name.
Note: If the values between the angle brackets < > appear in bold text, they are already mapped and you do not need to edit them.
24. Optional. By default, the integration uses the Identity as a Service User ID for the AWS login User ID. If you want to change it to another attribute, for example the user's email address, do the following:
a. Under SAML Attribute(s), click https://aws.amazon.com/SAML/Attributes/RoleSessionName.
b. Click Add.
c. In the Value(s) field, type < and select the attribute you want to use for the AWS user ID.
d. Click Edit.
25. Optional. Add other SAML Attributes as follows:
a. Under SAML Attributes, click Add. The SAML Attributes dialog box appears.
b. Enter a Name that clearly indicates the purpose of the attribute. It should indicate whether the SAML attribute value contains user group or authenticator attributes. For example, if the attribute value contains user groups the name could be User Groups.
c. Click Add next to Value(s).
d. In the Values field do the following, as required:
– Type < and select the user attribute to include every time the user authenticates to the application.
– Type [ and select [Groups] to include a user's groups every time the user authenticates to the application.
– Type [ and select [Authenticators] to include a user's authenticators every time the user authenticates to the application.
– To add static text, type the text in the Value text box.
e. Click Add.
26. Repeat this procedure to add additional SAML attributes.
27. Click Submit.
Download the Metadata file from Identity as a Service
1. In Identity as a Service, click
> Security > Applications.
The Applications List page appears.
2. Do one of the following:
● Click
next to the application you are integrating
with Identity as a Service.
–or–
● Click
next to the application you are integrating
with Identity as a Service and select SAML IDP Metadata.
The SAML Application Metadata dialog box appears.
3. Select the certificate to include in the SAML IDP Metadata file from the drop-down list.
4. If applicable, Select the domain to include in the SAML IDP Metadata file from the drop-down list.
5. Enter the Lifetime, in days, for the SAML IDP Metadata file. The value must be between 2 and 730.
6. Do one of the following, as required:
a. Copy the Public Endpoint to paste into your SAML application being used Identity Provider authentication.
b. Click Download.
Note: If you are using multiple domains, you must download each domain's metadata file separately because the values in the metadata file vary for each domain.
Configure AWS for SSO to recognize Identity as a Service
1. Log in to your AWS account and go to your Amazon Web Services Management Console.
2. Select Services. A list of Services appears.
3. Under Security, Identity & Compliance, select IAM. The Welcome to Identity and Access Management page appears.
4. Select Identity Providers from the navigation pane. The Resource Groups page appears.
5. Select Create Provider.
6. Add Identity as a Service as a trusted identity provider to your Amazon Web Service tenant/management console, as follows:
a. Select SAML as the Provider Type, and click Next Step.
b. In the Provider Name field, enter an identity provider (IDP) name, for example, Identity as a Service.
c. Upload the XML file you downloaded from Identity as a Service.
d. Click Next Step.
e. Verify the information you have entered, and click Create. You are redirected to the Identity Provider page.
7. Select Roles from the left navigation panel.
8. Click Create.
9. For the Role Type, select Role For Identity Provider. A list of sub options appear.
10. Select Grant Web Single Sign-On (Web SSO) access to SAML Providers. .
11. Select the name of the Identity Provider you previously created as the SAML provider (for example, Identity as a Service).
12. Click Next Step. The Verify Role Trust page appears showing the Policy Document.
13. Optional: Review the policy and modify the policy document as required.
14. Click Next Step. The Attach Policy page appears.
15. Select the policies (listed under Policy Name) as the policies that federated users inherit when assigned this role. A maximum of 10 can be selected. You can select whichever policies you want.
16. Click Next Step.
17. Enter Role Name.
18. Record the name of the role you created in the previous step. You need to enter that role when you Enter AWS values into Identity as a Service user attributes.
19. Enter a Role Description.
20. Review your settings. When satisfied click Create Role.
Add AWS values to Identity as a Service user attributes
1. Log in to your Identity as a Service account.
2. Click
> Members > Users. The Users
List page appears.
3. Click the User ID for the profile you want to edit. The User Profile page appears.
4. Under Attributes, do the following (you will need to reference your AWS account to complete these steps):
a. Locate the attribute you created for your AWS_Role and on the line below it, enter the role name you recorded during Step 5: Configure AWS for SSO.
b. Locate the attribute you created for the AWS_Account_ID and on the line below it, enter the account number. The account number is located at Support > Support Center of your AWS account.
Tip: User account numbers of an AWS parent account are the exact same. Identity as a Service has structured the configuration so that user account's from multiple accounts can all be accessed through Identity as a Service.
c. Locate the attribute you created for the AWS_IDP_ID and on the line below it, enter the IDP name. The IDP name can be found at IAM > Identity provider.
d. Locate the attribute you created for the AWS_User_ID and on the line below it, enter the user name. The User name is listed on Amazon at Services >Security, Identity & Compliance > IAM > Users.
Note: Check that the spelling, case of every character and located of each attribute value entered in the previous steps is correct. If any are incorrect, login attempts will fail.
5. Click Save.