Поделиться через


Интеграция Microsoft Entra с сочетаниями клавиш AWS S3 с помощью проверки подлинности субъекта-службы

Вы можете интегрировать Microsoft Entra с AWS S3, используя метод "Имя субъекта-службы" (SPN). Эта интеграция обеспечивает простой безопасный доступ к контейнерам S3 с помощью учетных данных Microsoft Entra, упрощения управления удостоверениями и повышения безопасности.

Ключевые преимущества

  • Единое управление удостоверениями: используйте учетные данные Microsoft Entra для доступа к Amazon S3. Нет необходимости управлять пользователями AWS IAM.

  • Проверка подлинности на основе OIDC: использует OpenID Connect для безопасной проверки подлинности с ролями AWS IAM.

  • Поддержка аудита: полная трассировка с помощью AWS CloudTrail для мониторинга допущений ролей.

  • Простая интеграция: предназначена для интеграции с существующими развертываниями AWS с минимальными изменениями конфигурации.

Архитектура

Интеграция Entra-AWS основана на федеративной модели удостоверений, которая использует OpenID Connect (OIDC) для обеспечения безопасного, временного доступа к ресурсам AWS. Архитектура состоит из следующих трех основных компонентов, которые работают совместно для установления доверия, проверки подлинности пользователей и авторизации доступа к Amazon S3 из Microsoft Fabric:

  1. Субъект-служба (SPN), зарегистрированный в Microsoft Entra.
  2. Отношение доверия OIDC между AWS и Microsoft Entra.
  3. Подключение Fabric, использующее временные учетные данные из AWS Службы токенов безопасности (STS).

В следующих разделах вы настроите идентификатор Microsoft Entra, AWS IAM и Microsoft Fabric для безопасного доступа к Amazon S3 с помощью интеграции на основе субъекта-службы. Эта настройка устанавливает необходимые отношения доверия и сведения о подключении, необходимые для работы интеграции.

Замечание

Поддерживается только проверка подлинности ключа или секрета для источников, совместимых с S3; OAuth, служебный принципал и RoleArn на основе Entra не поддерживаются.

Настройка идентификатора Microsoft Entra

Шаг 1. Регистрация приложения Microsoft Entra

  • Войдите на портал Azure и перейдите к идентификатору Microsoft Entra.

  • В меню слева разверните узел "Управление > регистрацией приложений > ". Заполните следующие сведения:

    • Имя. Введите имя приложения, например S3AccessServicePrincipal.

    • URL-адрес перенаправления: оставьте его пустым или задайте значение https://localhost при необходимости.

    • Выберите "Зарегистрировать", чтобы зарегистрировать приложение.

Замечание

Рекомендуется использовать уникальный Service Principal для каждой роли AWS, чтобы повысить безопасность.

Шаг 2. Создание секрета клиента

  • Откройте приложение Microsoft Entra, созданное выше.

  • В меню слева разверните "Управление > Сертификаты и секреты > Новый клиентский секрет", чтобы добавить новый секрет.

  • Запишите созданный секрет и дату его окончания срока действия.

Шаг 3. Получить сведения о приложении

  • Секрет клиента: получение этого значения из предыдущего шага

  • * Идентификатор клиента: на портале Azure перейдите к идентификатору Microsoft Entra и откройте вкладку "Обзор" и получите значение идентификатора клиента.

  • На портале Azure перейдите к идентификатору Microsoft Entra. В области навигации слева разверните вкладку "Управление " и откройте корпоративные приложения. Найдите приложение, созданное на предыдущем шаге. Скопируйте следующие значения

    • Идентификатор приложения (также известный как идентификатор клиента)

    • Идентификатор объекта

Замечание

Эти значения получены из вкладки "Корпоративные приложения Microsoft Entra ID > Enterprise" и не из вкладки "Регистрация приложений Microsoft Entra ID > App registrations".

На следующем снимку экрана показано, как получить идентификатор приложения или клиента и идентификатор объекта.

Снимок экрана, показывающий, как получить идентификатор приложения и объекта Microsoft Entra.

Конфигурация AWS IAM

Шаг 1. Создание поставщика удостоверений OIDC

  • Войдите на портал AWS IAM.

  • Перейдите к AWS IAM → Поставщики удостоверений → Добавить поставщика

  • Выберите тип поставщика в качестве Open ID Connect

  • URL-адрес поставщика: https://sts.windows.net/<your-tenant-id>

  • Публика: https://analysis.windows.net/powerbi/connector/AmazonS3

    Снимок экрана: добавление поставщика удостоверений в AWS IAM.

Шаг 2. Создание ролей IAM

  • Перейдите к ролям → AWS IAM → создать роль

  • Тип доверенной сущности: веб-идентичность

  • Поставщик удостоверений: выберите поставщика протокола OpenID Connect, созданного на этапе 1

  • Публика: https://analysis.windows.net/powerbi/connector/AmazonS3

  • Назначьте соответствующие политики доступа S3 для роли

  • Убедитесь, что политика доверия имеет основной объект службы в качестве одного из условий.

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Federated": "arn:aws:iam::<aws-account>:oidc-provider/sts.windows.net/<tenant-id>/" // (1)
          },
          "Action": "sts:AssumeRoleWithWebIdentity",// (2)
          "Condition": {
            "StringEquals": {
              "sts.windows.net/<tenant-id>/:sub": "<Object ID of the SPN that will assume this role>", // (3)
              "sts.windows.net/<tenant-id>/:aud": "https://analysis.windows.net/powerbi/connector/AmazonS3" // (4)
            }
          }
        }
      ]
    }
    

Описание ключевых полей:

  1. Principal.Federated — указывает внешний поставщик услуг идентификации (OIDC из Microsoft Entra ID).

  2. Действие — предоставляет разрешение на принятие роли с помощью веб-токена удостоверения личности.

  3. Условие > :sub — ограничивает, какую службу идентификации Microsoft Entra ID может брать на себя роль. Это идентификатор объекта, который вы указали на шаге 3. Получение сведений о приложении

  4. Условие > :aud — гарантирует, что запрос выполняется из соединителя Power BI S3.

    Снимок экрана: создание роли в AWS IAM.

Создание подключения S3 в Fabric

Используйте интерфейс создания ярлыка Microsoft Fabric OneLake, чтобы создать ярлык, как описано в статье о создании ярлыка S3 . Выполните те же действия, но задайте RoleARN на имя ресурса Amazon (ARN) для роли IAM и установите Тип аутентификации как Управляемый идентификатор службы и заполните следующие сведения:

  • Идентификатор клиента: Идентификатор клиента приложения Microsoft Entra

  • Идентификатор клиента служебного принципала: Идентификатор приложения, который вы получили на предыдущем шаге.

  • Ключ служебного субъекта: Секрет клиента приложения Microsoft Entra

Рекомендации по безопасности

  • Используйте отдельный служебный объект для каждой роли AWS для повышения лучшей изоляции и возможности аудита.

  • Периодически сменяйте секреты и храните их безопасно.

  • Мониторинг активности в AWS CloudTrail, связанной с STS

Текущие ограничения

  • Эта функция в настоящее время поддерживает только подход на основе принципала-службы; OAuth и Рабочая Идентификация пока не поддерживаются.

  • Доступ к хранилищам S3 за брандмауэром через локальный шлюз данных в настоящее время не поддерживается с сервисным принципалом или OAuth.