我已为Azure Linux服务器启用了系统生成的托管服务身份,并且还授予了此VM对密钥保管库的访问权限。我已经通过在命令行上使用curl来检索令牌,然后使用令牌从Vault检索机密来验证此方法是否有效。
我需要在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");
代码行试图获取凭据,因此我在日志中看到的只是“通过托管服务标识获取凭据”。
这是获取凭据的正确方法吗? 如果是这样,为什么这条线阻塞了?