Обновление или смена учетных данных для кластера Служба 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 команду. В следующем примере возвращается идентификатор субъекта-службы для кластера с именем myAKSCluster в группе ресурсов myResourceGroup с помощью az aks show команды. Идентификатор субъекта-службы задается как переменная с именем SP_ID.

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

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

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

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

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

SP_ID=$(az aks show --resource-group myResourceGroup --name myAKSCluster \
    --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/mySubscriptionID

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

{
  "appId": "7d837646-b1f3-443d-874c-fd83c7c739c5",
  "name": "7d837646-b1f3-443d-874c-fd83c7c739c",
  "password": "a5ce83c9-9186-426d-9183-614597c7f2f7",
  "tenant": "a4342dc8-cd0e-4742-a467-3129c469d0e5"
}

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

SP_ID=7d837646-b1f3-443d-874c-fd83c7c739c5
SP_SECRET=a5ce83c9-9186-426d-9183-614597c7f2f7

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

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

Важно!

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

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

az aks update-credentials \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --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 myResourceGroup \
    --name myAKSCluster \
    --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.