Tutorial: Azure Active Directory integration with Amazon Web Services (AWS)

In this tutorial, you learn how to integrate Amazon Web Services (AWS) with Azure Active Directory (Azure AD).

Integrating Amazon Web Services (AWS) with Azure AD provides you with the following benefits:

  • You can control in Azure AD who has access to Amazon Web Services (AWS).
  • You can enable your users to automatically get signed-on to Amazon Web Services (AWS) (Single Sign-On) with their Azure AD accounts.
  • You can manage your accounts in one central location - the Azure portal.

If you want to know more details about SaaS app integration with Azure AD, see what is application access and single sign-on with Azure Active Directory.

Prerequisites

To configure Azure AD integration with Amazon Web Services (AWS), you need the following items:

  • An Azure AD subscription
  • An Amazon Web Services (AWS) single sign-on enabled subscription

Note

To test the steps in this tutorial, we do not recommend using a production environment.

To test the steps in this tutorial, you should follow these recommendations:

  • Do not use your production environment, unless it is necessary.
  • If you don't have an Azure AD trial environment, you can get a one-month trial.

Scenario description

In this tutorial, you test Azure AD single sign-on in a test environment. The scenario outlined in this tutorial consists of two main building blocks:

  1. Adding Amazon Web Services (AWS) from the gallery
  2. Configuring and testing Azure AD single sign-on

To configure the integration of Amazon Web Services (AWS) into Azure AD, you need to add Amazon Web Services (AWS) from the gallery to your list of managed SaaS apps.

To add Amazon Web Services (AWS) from the gallery, perform the following steps:

  1. In the Azure portal, on the left navigation panel, click Azure Active Directory icon.

    The Azure Active Directory button

  2. Navigate to Enterprise applications. Then go to All applications.

    The Enterprise applications blade

  3. To add new application, click New application button on the top of dialog.

    The New application button

  4. In the search box, type Amazon Web Services (AWS), select Amazon Web Services (AWS) from result panel then click Add button to add the application.

    Amazon Web Services (AWS) in the results list

Configure and test Azure AD single sign-on

In this section, you configure and test Azure AD single sign-on with Amazon Web Services (AWS) based on a test user called "Britta Simon".

For single sign-on to work, Azure AD needs to know what the counterpart user in Amazon Web Services (AWS) is to a user in Azure AD. In other words, a link relationship between an Azure AD user and the related user in Amazon Web Services (AWS) needs to be established.

In Amazon Web Services (AWS), assign the value of the user name in Azure AD as the value of the Username to establish the link relationship.

To configure and test Azure AD single sign-on with Amazon Web Services (AWS), you need to complete the following building blocks:

  1. Configure Azure AD Single Sign-On - to enable your users to use this feature.
  2. Create an Azure AD test user - to test Azure AD single sign-on with Britta Simon.
  3. Create an Amazon Web Services (AWS) test user - to have a counterpart of Britta Simon in Amazon Web Services (AWS) that is linked to the Azure AD representation of user.
  4. Assign the Azure AD test user - to enable Britta Simon to use Azure AD single sign-on.
  5. Test single sign-on - to verify whether the configuration works.

Configure Azure AD single sign-on

In this section, you enable Azure AD single sign-on in the Azure portal and configure single sign-on in your Amazon Web Services (AWS) application.

To configure Azure AD single sign-on with Amazon Web Services (AWS), perform the following steps:

  1. In the Azure portal, on the Amazon Web Services (AWS) application integration page, click Single sign-on.

    Configure single sign-on link

  2. On the Single sign-on dialog, select Mode as SAML-based Sign-on to enable single sign-on.

    Single sign-on dialog box

  3. On the Amazon Web Services (AWS) Domain and URLs section, the user does not have to perform any steps as the app is already pre-integrated with Azure.

    Amazon Web Services (AWS) Domain and URLs single sign-on information

  4. The Amazon Web Services (AWS) Software application expects the SAML assertions in a specific format. Configure the following claims for this application. You can manage the values of these attributes from the "User Attributes" section on application integration page. The following screenshot shows an example for this.

    Configure Single Sign-On attb

  5. In the User Attributes section on the Single sign-on dialog, configure SAML token attribute as shown in the image above and perform the following steps:

    Attribute Name Attribute Value Namespace
    RoleSessionName user.userprincipalname https://aws.amazon.com/SAML/Attributes
    Role user.assignedroles https://aws.amazon.com/SAML/Attributes

    Tip

    You need to configure the user provisioning in Azure AD to fetch all the roles from AWS Console. Refer the provisioning steps below.

    a. Click Add attribute to open the Add Attribute dialog.

    Configure Single Sign-On add

    Configure Single Sign-On addattb

    b. In the Name textbox, type the attribute name shown for that row.

    c. From the Value list, type the attribute value shown for that row.

    d. Click Ok.

  6. On the SAML Signing Certificate section, click Metadata XML and then save the metadata file on your computer.

    The Certificate download link

  7. Click Save button.

    Configure Single Sign-On Save button

  8. In a different browser window, sign-on to your Amazon Web Services (AWS) company site as administrator.

  9. Click Console Home.

    Configure Single Sign-On home

  10. Click Identity and Access Management.

    Configure Single Sign-On Identity

  11. Click Identity Providers, and then click Create Provider.

    Configure Single Sign-On Provider

  12. On the Configure Provider dialog page, perform the following steps:

    Configure Single Sign-On dialog

    a. As Provider Type, select SAML.

    b. In the Provider Name textbox, type a provider name (for example: WAAD).

    c. To upload your downloaded metadata file from Azure portal, click Choose File.

    d. Click Next Step.

  13. On the Verify Provider Information dialog page, click Create.

    Configure Single Sign-On Verify

  14. Click Roles, and then click Create New Role.

    Configure Single Sign-On Roles

  15. On the Set Role Name dialog, perform the following steps:

    Configure Single Sign-On Name

    a. In the Role Name textbox, type a role name (for example: TestUser).

    b. Click Next Step.

  16. On the Select Role Type dialog, perform the following steps:

    Configure Single Sign-On Role Type

    a. Select Role For Identity Provider Access.

    b. In the Grant Web Single Sign-On (WebSSO) access to SAML providers section, click Select.

  17. On the Establish Trust dialog, perform the following steps:

    Configure Single Sign-On Trust

    a. As SAML provider, select the SAML provider you have created previously (for example: WAAD)

    b. Click Next Step.

  18. On the Verify Role Trust dialog, click Next Step.

    Configure Single Sign-On Role Trust

  19. On the Attach Policy dialog, click Next Step.

    Configure Single Sign-On Policy

  20. On the Review dialog, perform the following steps:

    Configure Single Sign-On Review

    a. Click Create Role.

    b. Create as many roles as needed and map them to the Identity Provider.

  21. Use AWS service account credentials for fetching the roles from AWS account in Azure AD User Provisioning. For this, open the AWS console home.

  22. Click on Services -> Security,Identity& Compliance -> IAM.

    fetching the roles from AWS account

  23. Select the Policies tab in the IAM section.

    fetching the roles from AWS account

  24. Create a new policy by clicking on Create policy.

    Creating new policy

  25. Create your own policy to fetch all the roles from AWS accounts. In the Create your own policy section click on Select button.

    Creating new policy

  26. Define the new policy by performing the following steps:

    Define the new policy

    a. Provide the Policy Name as AzureAD_SSOUserRole_Policy.

    b. You can provide Description to the policy as This policy will allow to fetch the roles from AWS accounts.

    c. In the policy document, add the below JSON.

    
    {
    
    "Version": "2012-10-17",
    
    "Statement": [
    
    {
    
    "Effect": "Allow",
    
    "Action": [
    
    "iam: ListRoles"
    
    ],
    
    "Resource": "*"
    
    }
    
    ]
    
    }
    

    d. Make sure that you check on Use autoformatting for policy editing.

    e. Click on Validate Policy button at the bottom.

    f. Once the policy is been validated correctly then you can click on Create Policy button.

  27. Create a new user account in the AWS IAM Service by performing the following steps:

    a. Click on Users navigation in the AWS IAM console.

    Define the new policy

    b. Click on Add user button to create a new user.

    Add user

    c. In the Add user section, perform the following steps:

    Add user

    • Enter the user name as AzureADRoleManager.

    • In the Access type, select the Programmatic access option. This way the user can invoke the APIs and fetch the roles from AWS account.

    • Click on the Next Permissions button in the bottom right corner.

  28. Now create a new policy for this user by performing the following steps:

    Add user

    a. Click on the Attach existing policies directly button.

    b. Search for the newly created policy in the filter section AzureAD_SSOUserRole_Policy.

    c. Select the policy and then click on the Next: Review button.

  29. Review the policy to the attached user by performing following steps:

    Add user

    a. Review the user name, access type, and policy mapped to the user.

    b. Click on the Create user button at the bottom right corner to create the user.

  30. Download the user credentials of a user by performing following steps:

    Add user

    a. Copy the user Access key ID and Secret access key.

    b. Enter these credentials into Azure AD user provisioning section to fetch the roles from AWS console.

    c. Click on Close button at the bottom.

  31. Navigate to User Provisioning section of Amazon Web Services app in Azure AD Management Portal.

    Add user

  32. Enter the Access Key and Secret in the Client Secret and Secret Token field respectively.

    Add user

    a. Enter the AWS user access key in the clientsecret field.

    b. Enter the AWS user secret in the Secret Token field.

    c. Click on the Test Connection button and you should able to successfully test this connection.

    d. Save the setting by clicking on the Save button at the top.

  33. Now make sure that you enable the Provisioning Status On in the Settings section by making the switch on and then clicking on the Save button at the top.

    Add user

Tip

You can now read a concise version of these instructions inside the Azure portal, while you are setting up the app! After adding this app from the Active Directory > Enterprise Applications section, simply click the Single Sign-On tab and access the embedded documentation through the Configuration section at the bottom. You can read more about the embedded documentation feature here: Azure AD embedded documentation

Create an Azure AD test user

The objective of this section is to create a test user in the Azure portal called Britta Simon.

Create an Azure AD test user

To create a test user in Azure AD, perform the following steps:

  1. In the Azure portal, in the left pane, click the Azure Active Directory button.

    The Azure Active Directory button

  2. To display the list of users, go to Users and groups, and then click All users.

    The "Users and groups" and "All users" links

  3. To open the User dialog box, click Add at the top of the All Users dialog box.

    The Add button

  4. In the User dialog box, perform the following steps:

    The User dialog box

    a. In the Name box, type BrittaSimon.

    b. In the User name box, type the email address of user Britta Simon.

    c. Select the Show Password check box, and then write down the value that's displayed in the Password box.

    d. Click Create.

Create an Amazon Web Services (AWS) test user

The objective of this section is to create a user called Britta Simon in Amazon Web Services (AWS). Amazon Web Services (AWS) doesn't need a user to be created in their system for SSO, so you don't need to perform any action here.

Assign the Azure AD test user

In this section, you enable Britta Simon to use Azure single sign-on by granting access to Amazon Web Services (AWS).

Assign the user role

To assign Britta Simon to Amazon Web Services (AWS), perform the following steps:

  1. In the Azure portal, open the applications view, and then navigate to the directory view and go to Enterprise applications then click All applications.

    Assign User

  2. In the applications list, select Amazon Web Services (AWS).

    The Amazon Web Services (AWS) link in the Applications list

  3. In the menu on the left, click Users and groups.

    The "Users and groups" link

  4. Click Add button. Then select Users and groups on Add Assignment dialog.

    The Add Assignment pane

  5. On Users and groups dialog, select Britta Simon in the Users list.

  6. Click Select button on Users and groups dialog.

  7. Click Assign button on Add Assignment dialog.

Test single sign-on

In this section, you test your Azure AD single sign-on configuration using the Access Panel.

When you click the Amazon Web Services (AWS) tile in the Access Panel, you should get automatically signed-on to your Amazon Web Services (AWS) application. For more information about the Access Panel, see Introduction to the Access Panel.

Additional resources