gpt4 book ai didi

java - 如何使用 MSI 从 Spring Boot 应用程序连接到 Azure key 保管库以进行本地开发

转载 作者:行者123 更新时间:2023-11-30 05:31:24 26 4
gpt4 key购买 nike

我正在尝试从本地运行的 Spring Boot 应用程序连接到 Azure KeyVault。在开发过程中,我无法将这些 secret 保存在不同属性或 yaml 中的 keyvault 中,因为我的应用程序将在运行时生成和删除如此多的 secret 和 token ,以保存在 keyvault 中。

我了解我们可以通过您的应用程序注册创建 Azure 服务主体的过程。并使用

azure.keyvault.client-idazure.keyvault.client-key

在 application.properties 中进行连接。

但在我们的示例中可能不允许创建 Azure 服务主体。那么有没有办法从本地运行的 SpringBoot 应用程序使用 MSI 连接到 key 保管库。

使用 MSI_ENDPOINT 和 MSI_SECRET

最佳答案

So is there any way to connect to key vault using MSI from locally running SpringBoot application. using MSI_ENDPOINT and MSI_SECRET

我认为您不能使用 MSI_ENDPOINTMSI_SECRET 在本地获取 token ,它仅在 Web 应用程序在云端发布时有效。

But it may not be allowed to be created Azure service principal in our case.

如您所知,您可以使用服务主体客户端 IDsecret(key) 来访问 keyvault。实际上,当启用Web应用程序的MSI时,它会自动在您的Azure AD租户中创建一个服务主体。所以你可以只使用客户端 ID 和它的 secret 。

导航到门户 -> Azure Active Directory -> 企业应用程序 -> 搜索您的 Web 应用程序名称(选择应用程序类型所有应用程序),然后您将获得客户端ID(应用程序ID)

注意:请记住将服务主体的对象 ID 与您的 Web 应用程序 -> Identity 中的对象 ID 进行检查,确保使用正确的对象 ID。

enter image description here

对于服务主体 key ,您可以通过 powershell 创建它,如下所示(您的帐户需要 AAD 租户中的管理员角色应用程序管理员全局管理员)。

New-AzureADServicePrincipalPasswordCredential -ObjectId <service principal object id>

enter image description here

然后您将能够使用客户端 ID 和 key 访问 keystore 。 java方面的详细可以引用这个link .

关于java - 如何使用 MSI 从 Spring Boot 应用程序连接到 Azure key 保管库以进行本地开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57460223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com