Обновление или смена учетных данных для кластера Служба 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.
Azure Kubernetes Service