Учебник. Интеграция единого входа 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 в коллекции приложений Microsoft Azure Active Directory
Используйте приведенные ниже сведения, чтобы принять решение об использовании приложений 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
Вы можете настроить идентификаторы для нескольких экземпляров. Пример:
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 из коллекции
Чтобы настроить интеграцию AWS Single-Account Access с Azure AD, необходимо добавить AWS Single-Account Access из коллекции в список управляемых приложений SaaS.
- Войдите на портал Azure с помощью личной учетной записи Майкрософт либо рабочей или учебной учетной записи.
- На портале Azure найдите и выберите Azure Active Directory.
- В меню обзора Azure Active Directory выберите Корпоративные приложенияВсе приложения.
- Чтобы добавить приложение, выберите Новое приложение.
- В разделе Добавление из коллекции в поле поиска введите AWS Single-Account Access.
- Выберите 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, выполните следующие действия:
- Настройка единого входа Azure AD необходима, чтобы пользователи могли использовать эту функцию.
- Создание тестового пользователя Azure AD требуется для проверки работы единого входа Azure AD с помощью пользователя B.Simon.
- Назначение тестового пользователя Azure AD необходимо, чтобы позволить пользователю B.Simon использовать единый вход Azure AD.
- Настройка единого входа в AWS Single-Account Access необходима, чтобы настроить параметры единого входа на стороне приложения.
- Создание тестового пользователя AWS Single-Account Access требуется для того, чтобы в AWS Single-Account Access существовал пользователь B.Simon, связанный с одноименным пользователем в Azure AD.
- Настройка подготовки роли в AWS Single-Account Access
- Проверка единого входа позволяет убедиться в правильности конфигурации.
Настройка единого входа Azure AD
Выполните следующие действия, чтобы включить единый вход Azure AD на портале Azure.
На портале Azure на странице интеграции с приложением AWS Single-Account Access найдите раздел Управление и выберите Единый вход.
На странице Выбрать метод единого входа выберите SAML.
На странице Настройка единого входа с помощью SAML щелкните значок карандаша, чтобы открыть диалоговое окно Базовая конфигурация SAML для изменения параметров.
В разделе Базовая конфигурация SAML укажите для параметров Идентификатор (идентификатор сущности) и URL-адрес ответа одно значение по умолчанию: . Чтобы сохранить изменения в конфигурации, нажмите Сохранить.
Если вы настраиваете более одного экземпляра, укажите значение идентификатора. Для второго и последующих экземпляров используйте следующий формат (включая знак # ), чтобы указать уникальное значение имени субъекта-службы.
https://signin.aws.amazon.com/saml#2
Приложение AWS ожидает проверочные утверждения SAML в определенном формате, а значит вам нужно добавить настраиваемые сопоставления атрибутов в конфигурацию атрибутов токена SAML. На следующем снимке экрана показан список атрибутов по умолчанию.
В дополнение к описанному выше приложение 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, см. здесь.
На странице Настройка единого входа с помощью SAML в диалоговом окне Сертификат SAML для подписи (шаг 3) выберите Добавить сертификат.
Создайте новый сертификат SAML для подписи и выберите Создать сертификат. Введите адрес электронной почты для получения уведомлений о сертификатах.
В разделе Сертификат SAML для подписи найдите XML метаданных федерации и выберите Скачать, чтобы скачать сертификат и сохранить его на компьютере.
Требуемые URL-адреса можно скопировать из раздела Настройка AWS Single-Account Access.
Создание тестового пользователя Azure AD
В этом разделе описано, как на портале Azure создать тестового пользователя с именем B.Simon.
- На портале Azure найдите и выберите Azure Active Directory.
- В меню обзора Azure Active Directory выберите ПользователиВсе пользователи.
- В верхней части экрана выберите Новый пользователь.
- В разделе Свойства пользователя выполните следующие действия.
- В поле Имя введите .
- В поле Имя пользователя введите . Например,
B.Simon@contoso.com
. - Установите флажок Показать пароль и запишите значение, которое отображается в поле Пароль.
- Нажмите кнопку Создать.
Назначение тестового пользователя Azure AD
В этом разделе описано, как включить единый вход Azure для пользователя B.Simon, предоставив этому пользователю доступ к AWS Single-Account Access.
- На портале Azure выберите Корпоративные приложения, а затем — Все приложения.
- В списке приложений выберите AWS Single-Account Access.
- На странице "Обзор" приложения найдите раздел Управление и выберите Пользователи и группы.
- Выберите Добавить пользователя, а в диалоговом окне Добавление назначения выберите Пользователи и группы.
- В диалоговом окне Пользователи и группы выберите B.Simon в списке пользователей, а затем в нижней части экрана нажмите кнопку Выбрать.
- Если пользователям необходимо назначить роль, вы можете выбрать ее из раскрывающегося списка Выберите роль. Если для этого приложения не настроена ни одна роль, будет выбрана роль "Доступ по умолчанию".
- В диалоговом окне Добавление назначения нажмите кнопку Назначить.
Настройка единого входа для AWS Single-Account Access
В другом окне браузера войдите на корпоративный сайт AWS в качестве администратора.
Щелкните AWS Home (Домашняя страница AWS).
Выберите Identity and Access Management (Управление удостоверениями и доступом).
Выберите Identity ProvidersCreate Provider (Поставщики удостоверений > Создать поставщик).
На странице Configure Provider (Настройка поставщика) сделайте следующее:
а. В качестве типа поставщика выберите SAML.
b. В поле Provider Name (Имя поставщика) введите имя поставщика (например: WAAD).
c. Чтобы отправить загруженный файл метаданных с портала Azure, нажмите кнопку Choose File (Выбрать файл).
d. Нажмите кнопку Next Step (Следующий шаг).
На странице Verify Provider Information (Проверка сведений о поставщике) щелкните Create (Создать).
Выберите RolesCreate 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: разрешения.
В диалоговом окне Attach Permissions Policies (Вложение политик разрешений) добавьте подходящую политику для вашей организации. Затем щелкните Next: Review (Далее: проверка).
В диалоговом окне Review (Обзор) сделайте следующее:
а. В поле Role name (Имя роли) введите имя роли.
b. В поле Role description (Описание роли) введите описание.
c. Щелкните Create Role (Создать роль).
d. Создайте необходимое количество ролей и свяжите их с поставщиком удостоверений.
Используйте учетные данные службы AWS, чтобы получить роли из учетной записи AWS при подготовке пользователя Azure AD. Для этого откройте главную страницу консоли AWS.
Выберите Службы. В разделе Security, Identity Compliance (Безопасность, удостоверения и соответствие требованиям) выберите IAM.
В разделе IAM выберите Policies (Политики).
Щелкнув Create policy (Создать политику), создайте политику, чтобы получить роли из учетной записи AWS при подготовке пользователей Azure AD.
Создайте собственную политику для получения всех ролей из учетных записей AWS.
а. В разделе Create policy (Создание политики) щелкните вкладку JSON.
b. Добавьте приведенный ниже код JSON в документ политики.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:ListRoles" ], "Resource": "*" } ] }
c. Щелкните Review policy (Просмотреть политику), чтобы проверить политику.
Определите новую политику.
а. В поле Name (Имя) введите AzureAD_SSOUserRole_Policy.
b. В поле Description (Описание) введите текст: Эта политика позволит получать роли из учетных записей AWS.
c. ВыберитеCreate policy (Создать политику).
Создайте учетную запись пользователя в службе IAM AWS.
а. В консоли IAM AWS выберите Users (Пользователи).
b. Щелкните Add user (Добавить пользователя), чтобы создать пользователя.
c. В разделе Add user (Добавление пользователя) сделайте следующее:
Введите имя пользователя AzureADRoleManager.
Для параметра Access type (Тип доступа) выберите вариант Programmatic access (Программный доступ). Теперь пользователь сможет вызывать API и получать роли из учетной записи AWS.
Щелкните Next: Permissions (Далее: разрешения).
Создайте политику для этого пользователя.
а. Щелкните Attach existing policies directly (Подключить существующие политики напрямую).
b. Выполните поиск только что созданной политики в разделе фильтра AzureAD_SSOUserRole_Policy.
c. Выберите политику и щелкните Next: Review (Далее: проверка).
Просмотрите политику для подключенного пользователя.
а. Проверьте имя пользователя, тип доступа и политику, сопоставленную с пользователем.
b. Щелкните Create user (Создать пользователя).
Скачайте учетные данные пользователя.
а. Скопируйте значения полей Access key ID (Идентификатор ключа доступа) и Secret access key (Секретный ключ доступа) для этого пользователя.
b. Введите эти учетные данные в раздел с параметрами подготовки пользователя Azure AD, чтобы получить роли из консоли AWS.
c. Выберите Закрыть.
Примечание
AWS имеет набор разрешений или ограничений, необходимых для настройки единого входа AWS. Дополнительные сведения об ограничениях AWS см. на этой странице.
Настройка подготовки роли в AWS Single-Account Access
На портале управления Azure AD откройте раздел Подготовка для AWS.
Введите ключ доступа и секрет в поля clientsecret и Секретный токен соответственно.
а. Введите ключ доступа пользователя AWS в поле Секрет клиента.
b. Введите секрет пользователя AWS в поле Секретный токен.
c. Выберите Проверить подключение.
d. Сохраните параметры, щелкнув Сохранить.
В разделе Параметры выберите для параметра Состояние подготовки значение Вкл. Затем нажмите кнопку 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 за раз. Все импортированные роли записываются в свойство
appRoles
appRoles
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 для облака.