gpt4 book ai didi

Azure kubernetes - java spring应用程序和托管身份来访问 key 保管库?

转载 作者:行者123 更新时间:2023-12-03 05:34:04 29 4
gpt4 key购买 nike

我正在尝试 Dockerize java spring 应用程序并将其部署在 Azure kubernetes 中。该应用程序已连接到数据库,当前它从配置文件中读取连接字符串。

由于此应用程序将进行 Docker 化并部署在 AKS 上,因此我想使用托管标识从 Azure Key Vault 读取连接字符串。

是否有可用的示例来演示上述场景?

最佳答案

您可以将连接存储为 keyvault secret ,然后使用 java sdk 获取它。

确保您有 added your MSI(managed identity) to the keyvault access policy ,然后使用下面的代码。

1. Create secret client

它使用 DefaultAzureCredential进行身份验证时,不要设置环境变量,它将使用您的 MSI 自动进行身份验证,您也可以使用 ManagedIdentityCredentialBuilder指定 clientId 而不是 DefaultAzureCredentialBuilder您的 MSI。

import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;

SecretClient secretClient = new SecretClientBuilder()
.vaultUrl("<your-key-vault-url>")
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();

2. Retrieve a secret

KeyVaultSecret secret = secretClient.getSecret("<secret-name>");
System.out.printf("Retrieved secret with name \"%s\" and value \"%s\"%n", secret.getName(), secret.getValue());

有关更多详细信息,请参阅 - Azure Key Vault Secret client library for Java - Version 4.2.0

关于Azure kubernetes - java spring应用程序和托管身份来访问 key 保管库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63829022/

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