Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как определить и устранить ServicePrincipalValidationClientError ошибку, которая может возникнуть при попытке создать и развернуть кластер Службы Microsoft Azure Kubernetes (AKS).
Предпосылки
-
Azure CLI версии 2.0.59 или более поздней версии. Если Azure CLI уже установлен, можно найти номер версии, выполнив команду
az --version.
Симптомы
При попытке развернуть кластер AKS вы получите следующее сообщение об ошибке:
adal: сбой запроса на обновление. Код состояния = '401'.
Текст ответа: {
"error": "invalid_client",
"error_description": "AADSTS7000215: указан недопустимый секрет клиента. Убедитесь, что секрет, отправляемый в запросе, — это значение секрета клиента, а не идентификатор секрета, добавленного в приложение "123456789-1234-1234-1234-1234567890987".\r\n
Идентификатор трассировки: 12345\r\n
Идентификатор корреляции: 6789\r\n
Метка времени: 2022-02-03 03:07:11Z",
"error_codes": [7000215],
"метка времени": "2022-02-03 03:07:11Z",
"trace_id": "12345",
"correlation_id": "6789",
"error_uri": "https://login.microsoftonline.com/error?code=7000215"
} Конечная точка https://login.microsoftonline.com/123456787/oauth2/token?api-version=1.0
Причина
Секрет, предоставленный для выделенной учетной записи службы, недействителен.
Решение 1: Сбросить пароль служебного пользователя
Чтобы устранить эту проблему, сбросьте секрет учетной записи службы с помощью одного из следующих методов:
Сбросьте учетные данные сервисного принципала, выполнив команду az ad sp credential reset:
az ad sp credential reset --name "01234567-89ab-cdef-0123-456789abcdef" --query password --output tsvУкажите дату окончания срока действия, выполнив следующую команду:
az ad sp credential reset --name <service-principal-name> --credential-description "New secret for AKS" --years 1
Предыдущая команда сбрасывает секрет и отображает его в качестве выходных данных. Затем можно указать новый секрет при попытке создать новый кластер еще раз.
Для неудачных операций в существующем кластере убедитесь, что кластер AKS обновляется с новым секретом:
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --reset-service-principal --client-secret <new-client-secret>
Решение 2. Создание субъекта-службы
Вы можете создать новую учетную запись службы и получить секрет, который связан с ней, выполнив следующую команду az ad sp create-for-rbac:
az ad sp create-for-rbac --role Contributor
Выходные данные команды должны выглядеть следующим образом:
{
"appId": "12345678-9abc-def0-1234-56789abcdef0",
"name": "23456789-abcd-ef01-2345-6789abcdef01",
"password": "3456789a-bcde-f012-3456-789abcdef012",
"tenant": "456789ab-cdef-0123-4567-89abcdef0123"
}
Обратите внимание на значения appId и password, которые были созданы. После получения этих значений можно снова запустить команду для создания кластера для нового доверенного приложения и секретного ключа.
Чтобы обновить кластер AKS с учетными данными нового субъекта-службы, выполните следующую команду:
az aks update-credentials --resource-group <resource-group> --name <aks-cluster> --service-principal <new-client-id> --client-secret <new-client-secret>
Дополнительные сведения
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.