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. Under SAML Cloud Integrations, click AWS. The Add AWS page appears.
5. Enter an Application Name.
6. Enter an Application Description.
7. 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.
8. Select the Authentication Flow that appears to users during login.
9. Click Next. The General page appears.
10. 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
11. Enter the SAML Session Timeout to the time when the SAML Assertion times out. The maximum is 720 minutes.
12. 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.
13. 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.
14. Optional: Select Sign complete SAML response to ensure the message integrity of the SAML response sent to the application during authentication.
15. 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.
16. 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.
17. 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.
18. 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.
19. 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.
20. 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.
21. 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.
22. 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.
23. 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.
24. 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. From the drop-down list, select the Name Format for the attribute.
d. Click Add next to Value(s).
e. 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.
f. Click Add.
25. Repeat this procedure to add additional SAML attributes.
26. Click Submit.
Limitation: Resource rules for SAML applications cannot have resource rules with External Authentication set as the First Authentication Step.
Create a resource rule to protect access to a SAML application
1. Log in to your Identity as a Service administrator account.
2. Click
> Security
> Resource Rules. The Resource Rules List
page appears.
3. Click + next to the application you want to protect with a resource rule. The Add Resource Rules page appears.
4. Enter a Rule Name and Rule Description for the resource rule.
5. In the Groups list, select the group or groups of users restricted by the resource rule.
These are the groups to which the resource rule applies. If you do not select any groups, by default the resource rule applies to all groups.
6. Click Next. The Authentication Conditions Settings page appears.
7. Click Date/Time to set the conditions as follows:
a. Select one of the following:
– Allow Date/Time to set when a user can access the application.
– Deny Date/Time to set when the user cannot access the application.
The Date/Time Context Condition Settings appear.
b. Select the Condition Type:
– Specific Date Range Condition—Allows or denies access to the application during a select period of days.
– Time-of-day and/or Day of Week Recurring Conditions—Allows or denies access to the application on a specific time of day, day of the week, or both. Recurring times selected only apply to days not denied.
– Clear Selection—Clears existing Date and Time conditions.
c. Set the Condition Type settings, as follows:
i) Select Use local time zone to use the local time zone or deselect Use local time zone to use the local time zone and begin typing the time zone in the Begin Typing Timezone name field and select the time zone from the drop-down list.
ii) If you selected Specific Date Range Condition, click Start Date to select a start date from the pop-up calendar. Optionally, select the End Date.
iii) If you selected Time-of-Day and/or Day-of-Week, click Start Time and select the start time from the pop-up clock. Optionally set the End Time. You must also select the days of the week for the condition.
d. Click Save to return to the Authentication Conditions Settings page.
8. Click Geolocation to set the Location Condition Settings, as follows:
a. Select Allow or Deny to create an allowed or denied country list.
b. From the Selected Countries drop-down list, select the countries to add or deny access to the application. Repeat until you have added all the desired countries to the list.
c. Select Allow Anonymous IP Address to increase the risk of users authenticating from an anonymous IP.
d. Click Save to save to return to the Authentication Conditions Settings page.
Note: Identity as a Service uses GeoLite2 data created by MaxMind, available from http://www.maxmind.com.
9. Click Source IP Address to set the IP Context Condition Settings, as follows:
a. Click Add to add the IP Addresses that you want to allow or block.
b. Enter the IP Address/CIDR that you want to allow or block.
c. Click the icon to toggle between Allow
and
Block.
d. Repeat steps a-c until all the required IP addresses/CIDR are added to the list.
e. Click Save to return to the Authentication Conditions Settings page.
10. Click Machine Authentication to set the Machine Authentication Condition Settings, as follows:
a. Set the Machine Authentication Risk is less than or equal to the value that the machine authenticator's total risk score must be less than during authentication to pass this condition.
The risk score is based on the attribute differences
between a user's Machine Authentication information and that recorded
on Identity as a Service before the condition fails. If an attribute does
not match, the attribute incurs the number of risk points shown in Non-Matching Risk Points for that attribute. The
Non-Matching Risk Points values of each non-matching
attribute are added together, resulting in a total risk score. This score
is normalized to be out of 100 as follows:
Total Risk Score = (Total Risk Points
of Failing Attributes / Maximum Risk Points of All Enabled Attributes)
* 100
The resource rule condition fails when the number of non-matching risk
points exceeds the Machine Authentication Risk value defined in this step.
A value of 0 means that a single attribute
difference causes the Device Fingerprint
condition to fail. The default value is 3.
The value between 0-50 can be entered.
The default value is defined by the Machine Risk Limit.
See Manage machine authenticator settings.
b. Click Save.
11. Define the Location History / Known Locations and Travel Velocity conditions. The Risk-Based Authentication (RBA) settings of your Identity as a Service account define the location history and travel velocity conditions. See Manage risk-based authentication settings for more information.
12. Set the risk score for application conditions by clicking the dot next to the condition setting and sliding the risk scale to the risk percentage a user receives if they fail to meet the condition. The default setting is 0%. The Risk percentage determines the authentication requirements as set by the Authentication Decisions. When a user attempts to authenticate to an application, the final risk percentage is the sum of all failed conditions.
13. Set the risk threshold for Medium Risk and High Risk, as follows:
a. Click the risk threshold percentage to the right of Medium Risk or High Risk. The Risk Threshold dialog box appears.
b. Enter the risk percentage.
c. Click OK.
14. Set the Authentication Decisions for low, medium, and high risk, as follows:
a. Select the first-factor from the drop-down list.
The type of authenticator selected is the first type of authentication challenge a user must complete to access the application. The list of Second Factors authenticators available updates based on the type of first-factor authenticator selected.
b. Click the check boxes to select the Second Factors.
The authenticators you select are those that can be used to complete the authentication challenge.
c. Click and drag the Second Factors authenticators for the risk level so that they are ordered from top to bottom in order of preference.
d. Repeat step c for Medium Risk and High Risk.
Note: You cannot add second factors to medium and high risk if you select Deny Access is selected as the first-factor.
15. Enable Smart Login. Smart Login is available only if your account has been enabled to allow Smart Login. Smart Login can be used to authenticate to the Identity as a Service Admin Portal, User Portal, OIDC, and SAML applications integrated with Identity as a Service. See Protect applications with a resource rule for more information.
a. Select Enable Smart Login.
When you enable Smart Login, first-factor and second-factor Authenticators are used for fallback authentication.
b. Select the first-factor authentication method used for fallback.
Entrust recommends using Skip Password for first-factor. If you do not want to enable fallback authentication, select Deny Access from the first-factor drop-down list.
c. Click the check boxes to select the Second Factors used for Fallback authentication.
Entrust recommends selecting Mobile Smart Credential Push as the second factor fallback authentication method. The authenticators you select are those that can be used to complete the authentication challenge.
d. Click and drag the Second Factors authenticators for the risk level so that they are ordered from top to bottom in order of preference.
e. Repeat these steps for Medium Risk and High Risk.
Note: You cannot add second factors to medium and high risk if you select Deny Access as the first-factor.
16. Optional: Select Disable Single Sign-On for Application to force a user to re-authenticate using the authenticator level required when the user accesses the application.
Note: This setting is only available for resource rules that protect Identity as a Service Administrator and User Portals and SAML applications.
17. Optional: Click Show KBA Advanced Settings to modify the Q&A challenge size and Number of Wrong Answers Allowed for the resource rule. This setting is visible only if you select KBA for second-factor authentication and you have modified the Identity as a Service default settings for Knowledge-based authentication (see Modify knowledge-based authentication settings).
18. Click Submit to create your resource rule.
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.