繁体   English   中英

我尝试在我的本地机器上使用 MSI 通过 appservice 检索 keyvault 机密,但出现错误:java.net.ConnectException:Connection refused:connect

[英]I tried to retrieve keyvault secret by appservice using MSI in my local machine but got the error:java.net.ConnectException:Connection refused:connect

当前代码给我错误error:java.net.ConnectException:Connection refused:connect

AppServiceMSICredentials msiCredentials = new AppServiceMSICredentials(AzureEnvironment.AZURE,msiEndpoint, msiSecret);
keyVaultClient = new KeyVaultClient(msiCredentials);
SecretBundle secretBundle = keyVaultClient.getSecret(keyvault url, secretName);

我在本地测试样本,遇到同样的错误。 但是如果AppServiceMSICredentials支持本地访问密钥库,我找不到详细信息。

您可以尝试使用托管身份将 Key Vault 连接到 Azure Spring 云应用程序的官方教程

本教程基于Azure 身份库,您可以通过 Java 了解更多信息: https://learn.microsoft.com/en-us/azure/developer/java/sdk/identity-azure-hosted-auth

private void getSecretWithManagedIdentity() {
    ManagedIdentityCredential managedIdentityCredential = new ManagedIdentityCredentialBuilder()
            .maxRetry(1)
            .retryTimeout(duration -> Duration.ofMinutes(1))
            .build();

    secretClient = new SecretClientBuilder()
            .vaultUrl(keyVaultUrl)
            .credential(managedIdentityCredential)
            .buildClient();

    KeyVaultSecret secret = secretClient.getSecret(secret-name);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM