Я настраиваю KeyVault для удаления секретов из моего. NET Azure WebApp и прохожу CredScan, и, насколько я могу судить, все подключено правильно.
KeyVault существует в той же группе ресурсов, что и приложение, и имеет необходимые секреты. Служба приложений имеет явные разрешения на чтение, установленные в политиках доступа KeyVault. И все правильные параметры используются для создания клиента API в коде в соответствии с документацией.
Однако, когда я использую стандартный вызов API для фактического доступа к секрету с помощью клиента, то есть
SecretClient client = new SecretClient(keyVaultURI, new DefaultAzureCredential());
string secret = client.GetSecret(secretName).Value.Value;
Я получаю следующую ошибку:
DefaultAzureCredential не удалось получить токен из включенных учетных данных. \ R \ nEnvironmentCredential аутентификация недоступна. Переменные среды настроены не полностью. \ R \ nАутентификация ManagedIdentityCredential недоступна, конечная точка управляемой идентификации не найдена. \ R \ nSharedTokenCacheCredential аутентификация недоступна. Не удалось получить токен для пользователя. Убедитесь, что вы прошли аутентификацию с помощью инструмента разработчика, который поддерживает Azure единый вход.
Я предполагаю, что должен быть какой-то требуемый шаг или параметр настройки, о котором я не знаю.