Извлечение образов из реестра контейнеров в кластер 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
Войдите на портал Azure в арендаторе A.
Найдите и выберите Microsoft Entra ID.
В разделе Управление выберите Регистрация приложений > Создать регистрацию.
В разделе Поддерживаемые типы учетных записей выберите Учетные записи в любом каталоге организации.
В поле URI перенаправления введите https://www.microsoft.com.
Выберите Зарегистрировать.
На странице Обзор найдите идентификатор приложения (клиента) и запишите его. Он будет использоваться на шагах 2 и 4.
В колонке Сертификаты и секреты в разделе Секреты клиента выберите Новый секрет клиента.
Заполните поле Описание (например, введите Password) и нажмите кнопку Добавить.
Запишите значение секрета клиента из поля Секреты клиента. Его нужно будет использовать для обновления субъекта-службы кластера AKS на шаге 4.
Шаг 2. Подготовка субъекта-службы в арендаторе ACR
Щелкните приведенную ниже ссылку, используя учетную запись администратора в арендаторе B. Где указано, вставьте идентификатор арендатора B и идентификатор приложения (идентификатор клиента) для мультитенантного приложения.
https://login.microsoftonline.com/<Tenant B ID>/oauth2/authorize?client_id=<Multitenant application ID>&response_type=code&redirect_uri=<redirect url>
Выберите Согласие от имени вашей организации, а затем — Принять.
Шаг 3. Предоставление субъекту-службе разрешения на извлечение образов из реестра
В арендаторе B назначьте субъекту-службе роль AcrPull, охватывающую целевой реестр контейнеров. Для назначения этой роли можно использовать портал Azure или другие инструменты. Пример сценария с использованием Azure CLI приведен в разделе Аутентификация в реестре контейнеров Azure с помощью субъектов-служб.
Шаг 4. Обновление AKS с помощью секрета приложения Microsoft Entra
Используйте идентификатор мультитенантного приложения (клиента) и секрет клиента, полученные на шаге 1, чтобы обновить учетные данные субъекта-службы AKS.
Обновление субъекта-службы может занять несколько минут.
Следующие шаги
- Узнайте больше об аутентификации в Реестре контейнеров Azure с помощью субъектов-служб.
- Дополнительные сведения о секретах для извлечения образа см. в документации по Kubernetes
- Сведения о объектах приложения и субъекта-службы в идентификаторе Microsoft Entra
- Узнайте больше о сценариях для проверки подлинности с помощью реестра контейнеров Azure из кластера Kubernetes