gpt4 book ai didi

java - 通过 Java 中的 MSI 读取 Azure key 保管库 secret

转载 作者:行者123 更新时间:2023-12-02 01:59:56 26 4
gpt4 key购买 nike

我正在尝试通过 Java 中的托管服务身份 (MSI) 读取 Azure Key Vault 中的 secret 。我想要 token 通过 MSI 访问 key 保管库。

.net 有可用的引用资料来执行此操作但在Java中没有找到任何东西。我不想通过客户端 ID/ key 或证书来执行此操作。

我想要一些类似于 .net 代码的 Java 代码

using Microsoft.Azure.KeyVault;
using Microsoft.Azure.Services.AppAuthentication;

AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
try
{
var keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
var secret = await keyVaultClient.GetSecretAsync("https://abcded.vault.azure.net/secrets/secretname/").ConfigureAwait(false);
ViewBag.Secret = $"Secret: {secret.Value}";
}
catch (Exception exp)
{
ViewBag.Error = $"Something went wrong: {exp.Message}";
}

最佳答案

我们可以使用AppServiceMSICredentials在 java 。请尝试使用以下代码。

import com.microsoft.azure.AzureEnvironment;
import com.microsoft.azure.credentials.AppServiceMSICredentials;
import com.microsoft.azure.keyvault.KeyVaultClient;
import com.microsoft.azure.keyvault.models.KeyBundle;

AppServiceMSICredentials credentials = new AppServiceMSICredentials(AzureEnvironment.AZURE);
KeyVaultClient keyVaultClient = new KeyVaultClient(credentials);
keyVaultClient.getSecret("https://xxxx.vault.azure.net","secretName");

关于java - 通过 Java 中的 MSI 读取 Azure key 保管库 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51750846/

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