Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как определить и устранить 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:
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.