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

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

В этой статье мы рассмотрим клиент, содержащий кластер AKS в качестве клиента A, и клиент, содержащий реестр контейнеров Azure в качестве клиента B.

Ниже приведены общие шаги по включению межтенантной проверки подлинности.

  1. Создайте новое приложение для нескольких арендаторов (основной объект службы) в клиенте A.
  2. Подготовка приложения в клиенте B.
  3. Настройте учетную запись службы для извлечения из реестра в арендаторе B.
  4. Обновите кластер AKS в клиенте A, чтобы аутентифицироваться с помощью нового служебного принципала.

Замечание

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

Предпосылки

Кластер AKS должен быть настроен с проверкой подлинности учетной записи службы в арендаторе A.

Для подписки кластера AKS требуется по крайней мере роль участника . Вам также требуются роли администратора управления доступом на основе ролейи участника реестра контейнеров и администратора конфигурации доступа к данным в подписке реестра контейнеров (или роли с эквивалентным или большим уровнем доступа).

Создайте мультитенантное приложение Microsoft Entra

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

  2. Найдите и выберите идентификатор Microsoft Entra.

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

  4. Выберите +Создать регистрацию, а затем выполните следующие действия:

    1. Введите имя приложения.
    2. В поддерживаемых типах учетных записей выберите "Учетные записи" в любом каталоге организации.
    3. В URI перенаправления выберите веб-сайт для платформы и введите https://www.microsoft.com.
    4. Выберите "Зарегистрировать".
  5. На странице обзора запишите идентификатор приложения (клиента). Этот идентификатор понадобится позже.

    Идентификатор приложения принципала службы

  6. В меню службы в разделе "Управление" выберите "Сертификаты" и "Секреты".

  7. В разделе секретов клиента выберите +Создать секрет клиента.

  8. Введите описание , например пароль, и нажмите кнопку "Добавить".

  9. В секретах клиента запишите значение секрета клиента. Это значение будет использоваться для обновления субъекта-службы кластера AKS.

Настройка учетной записи службы в Azure Container Registry (ACR) тенанте

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

    https://login.microsoftonline.com/<Tenant B ID>/oauth2/authorize?client_id=<Multitenant application ID>&response_type=code&redirect_uri=<redirect url>
    
  2. Откройте измененную ссылку с учетной записью администратора в Tenant B.

  3. Выберите "Согласие от имени вашей организации" и нажмите кнопку "Принять".

Настройка субъекта-службы для извлечения из реестра

В арендаторе B назначьте правильную роль учетной записи службы, применимую к целевому реестру контейнеров:

Для назначения этой роли можно использовать портал Azure, Azure CLI или другие средства.

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

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

Обновление учетной записи службы может занять несколько минут. После завершения обновления кластер AKS в клиенте A может извлекать образы из реестра контейнеров Azure в клиенте B.