Учебник. Интеграция единого входа Azure AD с AWS Single-Account Access

В этом руководстве описано, как интегрировать AWS Single-Account Access с Azure Active Directory (Azure AD). Интеграция AWS Single-Account Access с Azure AD обеспечивает следующие возможности:

  • управление доступом к AWS Single-Account Access с помощью Azure AD;
  • автоматический вход пользователей в AWS Single-Account Access с помощью учетных записей Azure AD.
  • Централизованное управление учетными записями через портал Azure.

Используйте приведенные ниже сведения, чтобы принять решение об использовании приложений AWS Single Sign-On и AWS Single-Account Access в коллекции приложений Microsoft Azure Active Directory.

AWS Single Sign-On

Приложение AWS Single Sign-On было добавлено в коллекцию приложений Microsoft Azure Active Directory в феврале 2021 г. Оно упрощает централизованное управление доступом к нескольким учетным записям и приложениям AWS и обеспечивает вход с учетными данными Microsoft Azure Active Directory. Объедините Microsoft Azure Active Directory с AWS SSO один раз и используйте AWS SSO для централизованного управления разрешениями во всех учетных записях AWS. AWS SSO автоматически подготавливает разрешения и сохраняет их в актуальном виде при обновлении политик и назначений доступа. Конечные пользователи могут пройти проверку подлинности с учетными данными Microsoft Azure Active Directory для доступа к консоли AWS, интерфейсу командной строки и приложениям, интегрированным с AWS SSO.

AWS Single-Account Access

Приложение AWS Single-Account Access используется клиентами в течение последних нескольких лет. Оно позволяет объединить Microsoft Azure Active Directory с одной учетной записью AWS и использовать Microsoft Azure Active Directory для управления доступом к ролям AWS IAM. Администраторы AWS IAM определяют роли и политики в каждой учетной записи AWS. Для каждой учетной записи AWS администраторы Azure AD создают объединение в AWS IAM, назначают пользователям или группам учетную запись и настраивают Microsoft Azure Active Directory для отправки утверждений, которые разрешают доступ к ролям.

Функция AWS Single Sign-On AWS Single-Account Access
Условный доступ Поддерживает единую политику условного доступа для всех учетных записей AWS. Поддерживает единую политику условного доступа для всех учетных записей или пользовательские политики для каждой учетной записи
Доступ к CLI Поддерживается Поддерживается
Управление привилегированными пользователями (PIM) Еще не поддерживается Еще не поддерживается
Централизованное управление учетными записями Централизованное управление учетными записями в AWS. Централизованное управление учетными записями в Microsoft Azure Active Directory (скорее всего, потребуется корпоративное приложение Microsoft Azure Active Directory для каждой учетной записи).
Сертификат SAML Единый сертификат Отдельные сертификаты для каждого приложения или учетной записи

Архитектура AWS Single-Account Access

Схема связи между Azure AD и AWS

Вы можете настроить идентификаторы для нескольких экземпляров. Пример:

  • https://signin.aws.amazon.com/saml#1

  • https://signin.aws.amazon.com/saml#2

При таких значениях Azure AD удаляет значение # и отправляет правильное значение https://signin.aws.amazon.com/saml в качестве URL-адреса аудитории в токене SAML.

Мы рекомендуем именно этот подход по следующим причинам:

  • Каждое приложение предоставляет уникальный сертификат X509. Это значит, что у всех экземпляров приложения AWS разный срок действия сертификата, и ими можно управлять отдельно для каждой учетной записи AWS. Это упрощает смену сертификатов.

  • Вы можете включить в Azure AD подготовку пользователей для AWS, и тогда наша служба будет получать все роли из учетной записи AWS. Не нужно вручную добавлять или обновлять роли AWS для приложения.

  • Вы можете назначить владельца приложения для каждого приложения. Этот пользователь сможет управлять приложением непосредственно в Azure AD.

Примечание

Убедитесь, что используется только приложение из коллекции.

Предварительные требования

Чтобы приступить к работе, потребуется следующее.

  • Подписка Azure AD. Если у вас нет подписки, вы можете получить бесплатную учетную запись.
  • В AWS IAM IdP включена подписка.
  • Вместе с администратором облачных приложений администратор приложений также может добавлять приложения в Azure AD или управлять ими. Дополнительные сведения см. в статье Встроенные роли Azure.

Примечание

Не изменяйте роли вручную, выполняя их импорт в Microsoft Azure AD.

Описание сценария

В рамках этого руководства вы настроите и проверите единый вход Azure AD в тестовой среде.

  • AWS Single-Account Access поддерживает единый вход, инициированный поставщиком услуг и поставщиком удостоверений.

Примечание

Идентификатор этого приложения — фиксированное строковое значение, поэтому в одном клиенте можно настроить только один экземпляр.

Чтобы настроить интеграцию AWS Single-Account Access с Azure AD, необходимо добавить AWS Single-Account Access из коллекции в список управляемых приложений SaaS.

  1. Войдите на портал Azure с помощью личной учетной записи Майкрософт либо рабочей или учебной учетной записи.
  2. На портале Azure найдите и выберите Azure Active Directory.
  3. В меню обзора Azure Active Directory выберите Корпоративные приложенияВсе приложения.
  4. Чтобы добавить приложение, выберите Новое приложение.
  5. В разделе Добавление из коллекции в поле поиска введите AWS Single-Account Access.
  6. Выберите AWS Single-Account Access на панели результатов и добавьте это приложение. Подождите несколько секунд, пока приложение не будет добавлено в ваш клиент.

Кроме того, можно также использовать мастер конфигурации корпоративных приложений. В этом мастере можно добавить приложение в клиент, добавить пользователей и группы в приложение, назначить роли, а также просмотреть конфигурацию единого входа. Подробнее о мастерах Microsoft 365

Кроме того, можно также использовать мастер конфигурации корпоративных приложений. В этом мастере можно добавить приложение в клиент, добавить пользователей и группы в приложение, назначить роли, а также просмотреть конфигурацию единого входа. Более подробную информацию о мастерах O365 можно найти здесь.

Настройка и проверка единого входа Azure AD для AWS Single-Account Access

Настройте и проверьте единый вход Azure AD в AWS Single-Account Access с помощью тестового пользователя B.Simon. Для обеспечения работы единого входа необходимо установить связь между пользователем Azure AD и соответствующим пользователем в AWS Single-Account Access.

Чтобы настроить и проверить единый вход Azure AD в AWS Single-Account Access, выполните следующие действия:

  1. Настройка единого входа Azure AD необходима, чтобы пользователи могли использовать эту функцию.
    1. Создание тестового пользователя Azure AD требуется для проверки работы единого входа Azure AD с помощью пользователя B.Simon.
    2. Назначение тестового пользователя Azure AD необходимо, чтобы позволить пользователю B.Simon использовать единый вход Azure AD.
  2. Настройка единого входа в AWS Single-Account Access необходима, чтобы настроить параметры единого входа на стороне приложения.
    1. Создание тестового пользователя AWS Single-Account Access требуется для того, чтобы в AWS Single-Account Access существовал пользователь B.Simon, связанный с одноименным пользователем в Azure AD.
    2. Настройка подготовки роли в AWS Single-Account Access
  3. Проверка единого входа позволяет убедиться в правильности конфигурации.

Настройка единого входа Azure AD

Выполните следующие действия, чтобы включить единый вход Azure AD на портале Azure.

  1. На портале Azure на странице интеграции с приложением AWS Single-Account Access найдите раздел Управление и выберите Единый вход.

  2. На странице Выбрать метод единого входа выберите SAML.

  3. На странице Настройка единого входа с помощью SAML щелкните значок карандаша, чтобы открыть диалоговое окно Базовая конфигурация SAML для изменения параметров.

    Изменение базовой конфигурации SAML

  4. В разделе Базовая конфигурация SAML укажите для параметров Идентификатор (идентификатор сущности) и URL-адрес ответа одно значение по умолчанию: . Чтобы сохранить изменения в конфигурации, нажмите Сохранить.

  5. Если вы настраиваете более одного экземпляра, укажите значение идентификатора. Для второго и последующих экземпляров используйте следующий формат (включая знак # ), чтобы указать уникальное значение имени субъекта-службы.

    https://signin.aws.amazon.com/saml#2

  6. Приложение AWS ожидает проверочные утверждения SAML в определенном формате, а значит вам нужно добавить настраиваемые сопоставления атрибутов в конфигурацию атрибутов токена SAML. На следующем снимке экрана показан список атрибутов по умолчанию.

    Изображение

  7. В дополнение к описанному выше приложение AWS ожидает несколько дополнительных атрибутов в ответе SAML, как показано ниже. Эти атрибуты также заранее заполнены, но вы можете изменить их в соответствии со своими требованиями.

    Имя Атрибут источника Пространство имен
    RoleSessionName user.userprincipalname https://aws.amazon.com/SAML/Attributes
    Роль user.assignedroles https://aws.amazon.com/SAML/Attributes
    SessionDuration "Укажите значение от 900 секунд (15 минут) до 43 200 секунд (12 часов)." https://aws.amazon.com/SAML/Attributes

    Примечание

    AWS ожидает роли для пользователей, назначенных приложению. Настройте эти роли в Azure AD, чтобы пользователям можно было назначить соответствующие роли. Сведения о том, как настроить роли в Azure AD, см. здесь.

  8. На странице Настройка единого входа с помощью SAML в диалоговом окне Сертификат SAML для подписи (шаг 3) выберите Добавить сертификат.

    Создание нового сертификата SAML

  9. Создайте новый сертификат SAML для подписи и выберите Создать сертификат. Введите адрес электронной почты для получения уведомлений о сертификатах.

    Новый сертификат SAML

  10. В разделе Сертификат SAML для подписи найдите XML метаданных федерации и выберите Скачать, чтобы скачать сертификат и сохранить его на компьютере.

    Ссылка для скачивания сертификата

  11. Требуемые URL-адреса можно скопировать из раздела Настройка AWS Single-Account Access.

    Копирование URL-адресов настройки

Создание тестового пользователя Azure AD

В этом разделе описано, как на портале Azure создать тестового пользователя с именем B.Simon.

  1. На портале Azure найдите и выберите Azure Active Directory.
  2. В меню обзора Azure Active Directory выберите ПользователиВсе пользователи.
  3. В верхней части экрана выберите Новый пользователь.
  4. В разделе Свойства пользователя выполните следующие действия.
    1. В поле Имя введите .
    2. В поле Имя пользователя введите . Например, B.Simon@contoso.com.
    3. Установите флажок Показать пароль и запишите значение, которое отображается в поле Пароль.
    4. Нажмите кнопку Создать.

Назначение тестового пользователя Azure AD

В этом разделе описано, как включить единый вход Azure для пользователя B.Simon, предоставив этому пользователю доступ к AWS Single-Account Access.

  1. На портале Azure выберите Корпоративные приложения, а затем — Все приложения.
  2. В списке приложений выберите AWS Single-Account Access.
  3. На странице "Обзор" приложения найдите раздел Управление и выберите Пользователи и группы.
  4. Выберите Добавить пользователя, а в диалоговом окне Добавление назначения выберите Пользователи и группы.
  5. В диалоговом окне Пользователи и группы выберите B.Simon в списке пользователей, а затем в нижней части экрана нажмите кнопку Выбрать.
  6. Если пользователям необходимо назначить роль, вы можете выбрать ее из раскрывающегося списка Выберите роль. Если для этого приложения не настроена ни одна роль, будет выбрана роль "Доступ по умолчанию".
  7. В диалоговом окне Добавление назначения нажмите кнопку Назначить.

Настройка единого входа для AWS Single-Account Access

  1. В другом окне браузера войдите на корпоративный сайт AWS в качестве администратора.

  2. Щелкните AWS Home (Домашняя страница AWS).

    Снимок экрана: корпоративный веб-сайт AWS с выделенным значком главной страницы AWS

  3. Выберите Identity and Access Management (Управление удостоверениями и доступом).

    Снимок экрана: страница служб AWS с выделенным пунктом IAM

  4. Выберите Identity ProvidersCreate Provider (Поставщики удостоверений > Создать поставщик).

    Снимок экрана: страница IAM с выделенными пунктами Identity Providers (Поставщики удостоверений) > Create Provider (Создать поставщик)

  5. На странице Configure Provider (Настройка поставщика) сделайте следующее:

    Снимок экрана: страница Configure Provider (Настройка поставщика)

    а. В качестве типа поставщика выберите SAML.

    b. В поле Provider Name (Имя поставщика) введите имя поставщика (например: WAAD).

    c. Чтобы отправить загруженный файл метаданных с портала Azure, нажмите кнопку Choose File (Выбрать файл).

    d. Нажмите кнопку Next Step (Следующий шаг).

  6. На странице Verify Provider Information (Проверка сведений о поставщике) щелкните Create (Создать).

    Снимок экрана: страница Verify Provider Information (Проверка сведений о поставщике) с выделенным пунктом Create (Создать)

  7. Выберите RolesCreate role (Роли > Создать роль).

    Снимок экрана: страница Roles (Роли)

  8. На странице Create role (Создание роли) выполните следующие действия.

    Снимок экрана: страница Create role (Создать роль).

    а. В разделе Select type of trusted entity (Выбор типа доверенной сущности) выберите SAML 2.0 federation (Федерация SAML 2.0).

    b. В разделе Choose a SAML 2.0 Provider (Выбор поставщика SAML 2.0) выберите созданный ранее поставщик SAML (например: WAAD).

    c. Установите флажок Allow programmatic and AWS Management Console access (Разрешить программный доступ и доступ через консоль управления AWS).

    d. По завершении выберите Next: разрешения.

  9. В диалоговом окне Attach Permissions Policies (Вложение политик разрешений) добавьте подходящую политику для вашей организации. Затем щелкните Next: Review (Далее: проверка).

    Снимок экрана: диалоговое окно Attach Permissions Policies (Вложение политик разрешений)

  10. В диалоговом окне Review (Обзор) сделайте следующее:

    Снимок экрана: диалоговое окно Review (Обзор)

    а. В поле Role name (Имя роли) введите имя роли.

    b. В поле Role description (Описание роли) введите описание.

    c. Щелкните Create Role (Создать роль).

    d. Создайте необходимое количество ролей и свяжите их с поставщиком удостоверений.

  11. Используйте учетные данные службы AWS, чтобы получить роли из учетной записи AWS при подготовке пользователя Azure AD. Для этого откройте главную страницу консоли AWS.

  12. Выберите Службы. В разделе Security, Identity Compliance (Безопасность, удостоверения и соответствие требованиям) выберите IAM.

    Снимок экрана: домашняя страница консоли AWS с выделенными пунктами Services (Службы) и IAM

  13. В разделе IAM выберите Policies (Политики).

    Снимок экрана: раздел IAM с выделенным пунктом (Политики)

  14. Щелкнув Create policy (Создать политику), создайте политику, чтобы получить роли из учетной записи AWS при подготовке пользователей Azure AD.

    Снимок экрана: страница Create role (Создание роли) с выделенным пунктом Create policy (Создать политику)

  15. Создайте собственную политику для получения всех ролей из учетных записей AWS.

    Снимок экрана: страница Create policy (Создание политики) с выделенным пунктом JSON

    а. В разделе Create policy (Создание политики) щелкните вкладку JSON.

    b. Добавьте приведенный ниже код JSON в документ политики.

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

    c. Щелкните Review policy (Просмотреть политику), чтобы проверить политику.

    Снимок экрана: страница Create policy (Создать политику)

  16. Определите новую политику.

    Снимок экрана: страница Create policy (Создание политики) с выделенными полями Name (Имя) и Description (Описание)

    а. В поле Name (Имя) введите AzureAD_SSOUserRole_Policy.

    b. В поле Description (Описание) введите текст: Эта политика позволит получать роли из учетных записей AWS.

    c. ВыберитеCreate policy (Создать политику).

  17. Создайте учетную запись пользователя в службе IAM AWS.

    а. В консоли IAM AWS выберите Users (Пользователи).

    Снимок экрана: консоль IAM AWS с выделенным пунктом Users (Пользователи)

    b. Щелкните Add user (Добавить пользователя), чтобы создать пользователя.

    Снимок экрана: кнопка Add user (Добавить пользователя)

    c. В разделе Add user (Добавление пользователя) сделайте следующее:

    Снимок экрана: страница Add user (Добавление пользователя) с выделенными пунктами User name (Имя пользователя) и Access type (Тип доступа)

    • Введите имя пользователя AzureADRoleManager.

    • Для параметра Access type (Тип доступа) выберите вариант Programmatic access (Программный доступ). Теперь пользователь сможет вызывать API и получать роли из учетной записи AWS.

    • Щелкните Next: Permissions (Далее: разрешения).

  18. Создайте политику для этого пользователя.

    Снимок экрана: страница Add user (Добавление пользователя), где можно создать политику для пользователя.

    а. Щелкните Attach existing policies directly (Подключить существующие политики напрямую).

    b. Выполните поиск только что созданной политики в разделе фильтра AzureAD_SSOUserRole_Policy.

    c. Выберите политику и щелкните Next: Review (Далее: проверка).

  19. Просмотрите политику для подключенного пользователя.

    Снимок экрана: страница Add user (Добавление пользователя) с выделенным пунктом Create user (Создать пользователя)

    а. Проверьте имя пользователя, тип доступа и политику, сопоставленную с пользователем.

    b. Щелкните Create user (Создать пользователя).

  20. Скачайте учетные данные пользователя.

    Снимок экрана: страница Add user (Добавление пользователя) с кнопкой Download CSV (Скачать CSV) для получения учетных данных пользователя.

    а. Скопируйте значения полей Access key ID (Идентификатор ключа доступа) и Secret access key (Секретный ключ доступа) для этого пользователя.

    b. Введите эти учетные данные в раздел с параметрами подготовки пользователя Azure AD, чтобы получить роли из консоли AWS.

    c. Выберите Закрыть.

Примечание

AWS имеет набор разрешений или ограничений, необходимых для настройки единого входа AWS. Дополнительные сведения об ограничениях AWS см. на этой странице.

Настройка подготовки роли в AWS Single-Account Access

  1. На портале управления Azure AD откройте раздел Подготовка для AWS.

    Снимок экрана: приложение AWS с выделенным пунктом

  2. Введите ключ доступа и секрет в поля clientsecret и Секретный токен соответственно.

    Снимок экрана: диалоговое окно

    а. Введите ключ доступа пользователя AWS в поле Секрет клиента.

    b. Введите секрет пользователя AWS в поле Секретный токен.

    c. Выберите Проверить подключение.

    d. Сохраните параметры, щелкнув Сохранить.

  3. В разделе Параметры выберите для параметра Состояние подготовки значение Вкл. Затем нажмите кнопку Save (Сохранить).

    Снимок экрана: раздел

Примечание

Служба подготовки только импортирует роли из AWS в Azure AD. Эта служба не подготавливает пользователей и группы из Azure AD для работы в AWS.

Примечание

После подготовки учетных данных необходимо дождаться запуска цикла начальной синхронизации. Выполнение синхронизации обычно занимает около 40 минут. Состояние отображается в нижней части страницы Подготовка в разделе Текущее состояние.

Создание тестового пользователя AWS Single-Account Access

Цель этого раздела — создать пользователя с именем B.Simon в AWS Single-Account Access. Для включения единого входа в AWS Single-Account Access не требуется создавать пользователя, поэтому здесь не нужно выполнять никаких действий.

Проверка единого входа

В этом разделе описано, как проверить конфигурацию единого входа Azure AD с помощью указанных ниже способов.

Инициация поставщиком услуг:

  • Выберите Тестировать приложение на портале Azure. Вы будете перенаправлены по URL-адресу для входа в AWS Single-Account Access, где можно инициировать поток входа.

  • Перейдите по URL-адресу для входа в AWS Single-Account Access и инициируйте поток входа.

Вход, инициированный поставщиком удостоверений

  • На портале Azure выберите Тестировать приложение, и вы автоматически войдете в приложение AWS Single-Account Access, для которого настроен единый вход.

Вы можете также использовать портал "Мои приложения" корпорации Майкрософт для тестирования приложения в любом режиме. Щелкнув плитку AWS Single-Account Access на портале "Мои приложения", вы попадете на страницу входа приложения для инициации потока входа (при настройке в режиме поставщика службы) или автоматически войдете в приложение AWS Single-Account Access, для которого настроен единый вход (при настройке в режиме поставщика удостоверений). Дополнительные сведения о портале "Мои приложения" см. в этой статье.

Известные проблемы

  • Интеграцию подготовки AWS Single-Account Access нельзя использовать в регионах AWS Для Китая.

  • В разделе Подготовка в подразделе Сопоставление отображается сообщение "Идет загрузка...", но никогда не отображаются сопоставления атрибутов. Единственный рабочий процесс подготовки, поддерживаемый сегодня, — импорт ролей из AWS в Azure AD для выбора во время назначения пользователя или группы. Сопоставления атрибутов для этого определены заранее и не настраиваются.

  • Раздел Подготовка поддерживает ввод только одного набора учетных данных для одного клиента AWS за раз. Все импортированные роли записываются в свойство appRolesappRoles Azure AD для клиента AWS.

    Вы можете добавить несколько клиентов AWS (представленных как servicePrincipals) в Azure AD из коллекции для подготовки. При этом существует известная проблема, когда не удается автоматически записывать все импортированные роли из нескольких servicePrincipals AWS, используемых для объединения в servicePrincipal и включения возможности единого входа.

    В качестве решения можно использовать Microsoft Graph API для извлечения всех , импортируемых во все servicePrincipal AWS с настроенной подготовкой. Потом вы сможете добавить эти строки ролей в servicePrincipal AWS с настроенным единым входом.

  • Роли должны отвечать следующим требованиям, чтобы быть доступными для импорта из AWS в Azure AD:

    • Роли должны иметь только один поставщик SAML, определенный в AWS.
    • Общая длина ARN (Имя ресурса Amazon) роли и ARN поставщика SAML не должна превышать 240 символов.

Журнал изменений

  • 12.01.2020: увеличена максимальная длина имени роли с 119 символов до 239 символов.

Дальнейшие действия

После настройки AWS Single-Account Access вы сможете применить функцию управления сеансами, которая в реальном времени защищает конфиденциальные данные вашей организации от хищения и несанкционированного доступа. Управление сеансом является расширением функции условного доступа. Узнайте, как применять управление сеансами с помощью приложений Defender для облака.