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


Настройка проверки подлинности Microsoft Entra для кластера Azure Red Hat OpenShift 4 (портал)

Если вы решили установить и использовать интерфейс командной строки локально, то для работы с этим руководством вам понадобится Azure CLI 2.6.0 или более поздней версии. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.

Подготовка к работе

Создайте URL-адрес обратного вызова OAuth кластера и запишите его. Не забудьте заменить aro-rg именем группы ресурсов, а aro-cluster именем кластера.

Примечание.

Раздел AAD в URL-адресе обратного вызова OAuth должен соответствовать имени поставщика удостоверений OAuth, которое будет настроено позже.

domain=$(az aro show -g aro-rg -n aro-cluster --query clusterProfile.domain -o tsv)
location=$(az aro show -g aro-rg -n aro-cluster --query location -o tsv)
echo "OAuth callback URL: https://oauth-openshift.apps.$domain.$location.aroapp.io/oauth2callback/AAD"

Создание приложения Microsoft Entra для проверки подлинности

Войдите на портал Azure и перейдите в колонку регистрации приложений, затем щелкните Новая регистрация, чтобы создать приложение.

Укажите имя приложения, например aro-azuread-auth, и заполните URI перенаправления, используя значение URL-адреса обратного вызова OAuth, полученное ранее.

New application registration

Перейдите в раздел Сертификаты и секреты, щелкните Новый секрет клиента и введите сведения. Запишите значение ключа, так как оно будет использоваться на более позднем этапе. Вы не сможете получить его снова.

Create a secret

Перейдите в раздел Обзор и запишите идентификатор приложения (клиента) и идентификатор каталога (клиента). Они понадобятся вам в дальнейшем.

Retrieve Application (client) and Directory (tenant) IDs

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

Разработчики приложений могут использовать необязательные утверждения в своих приложениях Microsoft Entra, чтобы указать утверждения, которые они хотят в токенах, отправленных в приложение.

Необязательные утверждения можно использовать, чтобы:

  • выбрать дополнительные утверждения для включения в токены для приложения;
  • Измените поведение определенных утверждений, возвращаемых идентификатором Microsoft Entra в токенах.
  • добавлять пользовательские утверждения для приложения и обращаться к ним.

Мы настроим OpenShift использовать email утверждение и вернуться к upn настройке предпочтительного имени пользователя, добавив upn его как часть маркера идентификатора, возвращаемого идентификатором Microsoft Entra ID.

Перейдите к конфигурации токена и нажмите кнопку "Добавить необязательное утверждение". Выберите идентификатор, а затем проверьте утверждения адреса электронной почты и имени участника-пользователя.

Screenshot that shows the email and upn claims that were added.

Назначение пользователей и групп для кластера (необязательно)

Приложения, зарегистрированные в клиенте Microsoft Entra, по умолчанию доступны всем пользователям клиента, прошедшим проверку подлинности. Идентификатор Microsoft Entra позволяет администраторам клиентов и разработчикам ограничить приложение определенным набором пользователей или групп безопасности в клиенте.

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

Настройка проверки подлинности OpenShift OpenID

Получите учетные данные kubeadmin. Выполните следующую команду, чтобы найти пароль для пользователя kubeadmin.

az aro list-credentials \
  --name aro-cluster \
  --resource-group aro-rg

В следующем примере вывода показано, что пароль будет находиться в kubeadminPassword.

{
  "kubeadminPassword": "<generated password>",
  "kubeadminUsername": "kubeadmin"
}

URL-адрес консоли кластера можно найти, выполнив следующую команду, которая будет выглядеть вот так: https://console-openshift-console.apps.<random>.<region>.aroapp.io/

 az aro show \
    --name aro-cluster \
    --resource-group aro-rg \
    --query "consoleProfile.url" -o tsv

Перейдите по URL-адресу консоли в браузере и войдите с помощью учетных данных kubeadmin.

Перейдите к Администратор istration, щелкните кластер Параметры, а затем перейдите на вкладку "Конфигурация". Прокрутите страницу, чтобы выбрать OAuth.

Прокрутите вниз, чтобы выбрать Добавить в разделе Поставщики удостоверений, затем щелкните OpenID Connect. Select OpenID Connect from the Identity Providers dropdown

Введите имя в качестве идентификатора Microsoft Entra, идентификатор клиента в качестве идентификатора приложения и секрета клиента. URL-адрес издателя имеет следующий формат: https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0. Замените заполнитель идентификатором клиента, полученным ранее.

Fill in OAuth details

Прокрутите вниз до раздела Утверждения и обновите предпочтительное имя пользователя, используя значение из утверждения имени участника-пользователя.

Fill in claims details

Проверка входа с помощью идентификатора Microsoft Entra

Если вы теперь выйдите из веб-консоли OpenShift и попытаетесь войти еще раз, вы увидите новый параметр для входа с помощью идентификатора Microsoft Entra. Потребуется подождать несколько минут.

Login screen with Microsoft Entra option

Примечание.

Если возникла ошибка, например "AADSTS50011: URI https://oauth-openshift.apps.xxxxxxxxxx.xxxxxxx.aroapp.io/oauth2callback/xxxx перенаправления, указанный в запросе, не соответствует настроенным URI перенаправления", вы можете выполнить инструкцию по устранению неполадок с именем входа Azure AD (OIDC), если URI перенаправления не задан правильно , чтобы устранить проблему.