Извлечение образов из реестра контейнеров в кластер AKS в другом клиенте Microsoft Entra

В некоторых случаях у вас может быть кластер Azure AKS в одном клиенте Microsoft Entra и реестре контейнеров Azure в другом клиенте. В этой статье приводятся пошаговые указания по настройке аутентификации между арендаторами с помощью учетных данных субъекта-службы AKS для извлечения образов из реестра контейнеров.

Примечание.

Подключить реестр и пройти проверку подлинности с помощью управляемого удостоверения AKS невозможно, если кластер и реестр контейнеров находятся в разных арендаторах.

Обзор сценария

В этом примере предполагается следующее.

  • Кластер AKS находится в арендаторе A, а реестр контейнеров Azure — в арендаторе B.
  • Для кластера AKS настроена аутентификация на основе субъекта-службы в арендаторе A. Узнайте больше о том, как создать и использовать субъект-службу для кластера AKS.

Вам потребуется по крайней мере роль участника в подписке кластера AKS и роль владельца в подписке реестра контейнеров.

Вы должны будете выполнить следующие шаги:

  • создание мультитенантного приложения (субъекта-службы) в арендаторе A;
  • подготовка этого приложения в арендаторе B;
  • настройка субъекта-службы для извлечения образов из реестра в арендаторе B;
  • обновление кластера AKS в арендаторе A для обеспечения аутентификации с помощью нового субъекта-службы.

Пошаговые инструкции

Шаг 1. Создание мультитенантного приложения Microsoft Entra

  1. Войдите на портал Azure в арендаторе A.

  2. Найдите и выберите Microsoft Entra ID.

  3. В разделе Управление выберите Регистрация приложений > Создать регистрацию.

  4. В разделе Поддерживаемые типы учетных записей выберите Учетные записи в любом каталоге организации.

  5. В поле URI перенаправления введите https://www.microsoft.com.

  6. Выберите Зарегистрировать.

  7. На странице Обзор найдите идентификатор приложения (клиента) и запишите его. Он будет использоваться на шагах 2 и 4.

    Service principal application ID

  8. В колонке Сертификаты и секреты в разделе Секреты клиента выберите Новый секрет клиента.

  9. Заполните поле Описание (например, введите Password) и нажмите кнопку Добавить.

  10. Запишите значение секрета клиента из поля Секреты клиента. Его нужно будет использовать для обновления субъекта-службы кластера AKS на шаге 4.

    Configure client secret

Шаг 2. Подготовка субъекта-службы в арендаторе ACR

  1. Щелкните приведенную ниже ссылку, используя учетную запись администратора в арендаторе B. Где указано, вставьте идентификатор арендатора B и идентификатор приложения (идентификатор клиента) для мультитенантного приложения.

    https://login.microsoftonline.com/<Tenant B ID>/oauth2/authorize?client_id=<Multitenant application ID>&response_type=code&redirect_uri=<redirect url>
    
  2. Выберите Согласие от имени вашей организации, а затем — Принять.

    Grant tenant access to application

Шаг 3. Предоставление субъекту-службе разрешения на извлечение образов из реестра

В арендаторе B назначьте субъекту-службе роль AcrPull, охватывающую целевой реестр контейнеров. Для назначения этой роли можно использовать портал Azure или другие инструменты. Пример сценария с использованием Azure CLI приведен в разделе Аутентификация в реестре контейнеров Azure с помощью субъектов-служб.

Assign acrpull role to multitenant app

Шаг 4. Обновление AKS с помощью секрета приложения Microsoft Entra

Используйте идентификатор мультитенантного приложения (клиента) и секрет клиента, полученные на шаге 1, чтобы обновить учетные данные субъекта-службы AKS.

Обновление субъекта-службы может занять несколько минут.

Следующие шаги