Обновление или смена учетных данных для кластера Служба Azure Kubernetes (AKS)

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

Примечание.

Кроме того, для разрешений можно использовать управляемое удостоверение вместо субъекта-службы. Управляемые удостоверения не требуют обновлений или поворотов. Дополнительные сведения см. в статье о том, как использовать управляемые удостоверения.

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

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

Обновление или создание нового субъекта-службы для кластера AKS

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

  • обновить учетные данные для существующего субъекта-службы;
  • создать новый субъект-службу и обновить кластер для использования этих новых учетных данных.

Предупреждение

Если вы решили создать новую субъект-службу, подождите около 30 минут, чтобы разрешение субъекта-службы распространилось по всем регионам. Обновление большого кластера AKS для использования этих учетных данных может занять много времени.

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

Чтобы проверка дату окончания срока действия субъекта-службы, используйте az ad app credential list команду. В следующем примере возвращается идентификатор субъекта-службы для $CLUSTER_NAME кластера в $RESOURCE_GROUP_NAME группе ресурсов с помощью az aks show команды. Идентификатор субъекта-службы задается как переменная с именем SP_ID.

SP_ID=$(az aks show --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
    --query servicePrincipalProfile.clientId -o tsv)
az ad app credential list --id "$SP_ID" --query "[].endDateTime" -o tsv

Сброс существующих учетных данных субъекта-службы

Чтобы обновить учетные данные для существующего субъекта-службы, получите идентификатор субъекта-службы кластера с помощью az aks show команды. В следующем примере возвращается идентификатор кластера $CLUSTER_NAME в $RESOURCE_GROUP_NAME группе ресурсов. Переменная с именем SP_ID сохраняет идентификатор субъекта-службы, используемый на следующем шаге. Эти команды используют язык команд Bash.

Предупреждение

При сбросе учетных данных кластера в кластере AKS, использующем Масштабируемые наборы виртуальных машин Microsoft Azure, выполняется обновление образа узла, чтобы обновить учетные данные для узлов.

SP_ID=$(az aks show --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
    --query servicePrincipalProfile.clientId -o tsv)

Используйте переменную SP_ID , содержащую идентификатор субъекта-службы, чтобы сбросить учетные данные с помощью az ad app credential reset команды. В следующем примере платформа Azure позволяет создать новый безопасный секрет для субъекта-службы и сохранить его в виде переменной с именем SP_SECRET.

SP_SECRET=$(az ad app credential reset --id "$SP_ID" --query password -o tsv)

Затем вы обновите кластер AKS с учетными данными субъекта-службы. Этот шаг необходим для обновления субъекта-службы в кластере AKS.

Создание субъекта-службы

Примечание.

Если вы обновили существующие учетные данные субъекта-службы в предыдущем разделе, пропустите этот раздел и замените кластер AKS учетными данными субъекта-службы.

Чтобы создать субъект-службу и обновить кластер AKS, чтобы использовать новые учетные данные, используйте az ad sp create-for-rbac команду.

az ad sp create-for-rbac --role Contributor --scopes /subscriptions/$SUBSCRIPTION_ID

Выходные данные аналогичны следующему примеру выходных данных. Запишите свой appId собственный и password использовать на следующем шаге.

{
  "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Определите переменные для идентификатора субъекта-службы и секрета клиента, используя выходные данные выполнения az ad sp create-for-rbac команды. SP_ID это идентификатор приложения, а SP_SECRET — ваш пароль.

SP_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
SP_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Затем вы обновите кластер AKS новыми учетными данными субъекта-службы. Этот шаг необходим для обновления кластера AKS новыми учетными данными субъекта-службы.

Обновление кластера AKS с учетными данными субъекта-службы

Внимание

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

Обновите кластер AKS новыми или существующими учетными данными, выполнив az aks update-credentials команду.

az aks update-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --reset-service-principal \
    --service-principal "$SP_ID" \
    --client-secret "${SP_SECRET}"

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

Вы можете создать новый сервер Microsoft Entra и клиентские приложения, выполнив шаги интеграции Microsoft Entra или сбросив существующие приложения Microsoft Entra после того же метода, что и для сброса субъекта-службы. После этого необходимо обновить учетные данные приложения Microsoft Entra кластера с помощью az aks update-credentials команды с переменными --reset-aad .

az aks update-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --reset-aad \
    --aad-server-app-id $SERVER_APPLICATION_ID \
    --aad-server-app-secret $SERVER_APPLICATION_SECRET \
    --aad-client-app-id $CLIENT_APPLICATION_ID

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

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