Я включил Системный идентификатор управляемой службы для моего сервера Azure Linux, и я также предоставил этой виртуальной машине доступ к хранилищу ключей. Я убедился, что это работает, с помощью curl в командной строке для получения токена, а затем с помощью токена для получения секрета из хранилища.
Мне нужно выполнить ту же задачу в моей Java-программе, но в настоящее время я использую блокировку. Вот мой код, взятый из другого поста Stackoverflow:
LOGGER.debug("Getting credentials through Managed Service Identity");
AppServiceMSICredentials credentials = new AppServiceMSICredentials(AzureEnvironment.AZURE);
LOGGER.debug("Credentials acquired");
KeyVaultClient keyVaultClient = new KeyVaultClient(credentials);
LOGGER.debug("Key Vault client created");
Блоки кода в строке пытаются получить учетные данные, поэтому все, что я вижу в журнале, это «Получение учетных данных с помощью идентификатора управляемой службы».
Это правильный способ получить учетные данные?
Если так, есть идеи, почему эта линия блокирует?