java - 无法使用 Spring Boot 连接到 Key Vault
问题描述
我正在关注教程中的这一部分,以将密钥库与 Spring Boot 集成。
我们已经为使用托管标识(pom 中的 application.properties 和依赖项)进行了所有设置,并且由于它不在本地开发中运行,我正在通过部署对其进行测试,但是我在日志流中收到了这些错误:
java.io.FileNotFoundException:/home/tomcat/lib/azure.appservice.jar (No such file or directory)
和
java.lang.IllegalStateException: Failed to configure KeyVault property source
java.io.IOException: Server returned HTTP response code: 400 for URL: Http://xxx.xx.x.x.x
编辑:原来我在 client-id 属性中有一个拼写错误。
解决方案
确保应用程序有权在密钥保管库的访问策略中获取和列出机密,并检查 jar 文件是否已正确添加。
编辑该src/main/resources/application.properties
文件,使其具有以下内容,调整您的 Azure 订阅的值。c
azure.keyvault.client-id=<your client ID>
azure.keyvault.client-key=<your client key>
azure.keyvault.enabled=true
azure.keyvault.tenant-id=<your tenant ID>
azure.keyvault.uri=https://contosokv.vault.azure.net/
添加azure.keyvault.tenant-id=<your-tenant-id>
文件后:
推荐阅读
- javascript - 如何在 HTML Canvas 中转换整个函数?
- python - 使用 Python 和 Requests 模块登录网站
- c# - Linq 从列表中的多个列表中选择值
- python - 如何从 switch case 调用方法?
- java - 识别Java中不同类的接口和继承关系
- r - R闪亮:renderPlot重复值,ggplot
- tensorflow - GCC 链接错误,重定位被截断以适应:GPREL16 针对符号错误
- java - 在模态 JDialog 可见时访问无模态 JFrame?
- go - 从 dockerize golang 模板中的文件内容设置变量
- python - what does [0,:] mean in matplotlib.animation