Указан неверный секрет клиента при использовании правильного секрета, срок действия которого не истек.

У меня есть регистрация в приложении Azure с активным секретом.

Я пытаюсь получить токен, используя v1.0, как показано ниже ( clientId это идентификатор указанной выше регистрации приложения)

      $body = @{
    grant_type = 'client_credentials';
    client_id = $clientId;
    client_secret = $clientSecret;
    resource = $resourceId;
}

$aadResponse = Invoke-WebRequest -Uri "https://login.microsoftonline.com/$aadtenantId/oauth2/token" -Method POST -Body $body -UseBasicParsing

После восстановления учетных данных с помощью az ad app credential reset --id XXX все работает как положено - токен получен правильно.

Однако в Azure Devops я получил следующую ошибку при получении значений от KV

Затем я перейду к подключению к службе Azure Devops и с edit, а также save Я могу подключиться к KV без каких-либо дополнительных изменений.

Однако это действие нарушает изначально рабочий процесс получения токена (как описано выше).

Я уверен на 100%:

  1. Пароль правильный
  2. Я действительно использую пароль, а не его идентификатор
  3. Кодировка пароля не помогает
  4. Нет других действий кроме verify сервисное соединение
  5. Я использую Не удалось получить JWT, используя идентификатор клиента субъекта-службы в качестве ссылки на подключения к службам.

Что я делаю неправильно?

1 ответ

Я также могу воспроизвести вашу проблему на своей стороне.

После регенерации секрета клиента с помощью az ad app credential reset --id XXX, я полагаю, вы должны получить сообщение об ошибке, как показано ниже, когда вы нажмете Verifyв вашем сервисном соединении Azure Resource Manager using service principal (automatic).

Как показано на странице подключения к службе, вы создали его автоматически, если вы повторно сгенерируете секрет клиента, вам необходимо создать новое подключение к службе вручную, чтобы решить проблему.

Вы можете получить значения на странице хранилища ключей и на странице приложения AAD. Для Service principal key, это секрет клиента, который вы восстановили, вы не смогли бы получить его снова, если бы не сохранили его, если это так, вам нужно создать новый.

После исправления значений проверьте и сохраните.

Затем используйте новое сервисное подключение в AzureKeyVault@2задача, работает нормально.

Другие вопросы по тегам