Azure-sdk-for-java: Azure Key Vault ์•ก์„ธ์Šค - DefaultAzureCredentialBuilder() ์˜ค๋ฅ˜ ๋ฐœ์ƒ

์— ๋งŒ๋“  2020๋…„ 08์›” 06์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Azure/azure-sdk-for-java

์•ˆ๋…•ํ•˜์„ธ์š”,
์—ฌ๊ธฐ์—์„œ ์ž์Šต์„œ๋ฅผ ๋”ฐ๋ฅด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. https://docs.microsoft.com/en-us/azure/key-vault/secrets/quick-create-java
๋‚ด Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ Key Vault์—์„œ ๋น„๋ฐ€์„ ๊ฒ€์ƒ‰ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

SecretClient ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์ž๊ฒฉ ์ฆ๋ช… ๋น„ํŠธ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ž์Šต์„œ์—์„œ ์ง์ ‘ ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ๋‚ด ์ฝ”๋“œ์— ๋ถ™์—ฌ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค(๋‚ด ์ฃผ์š” ์ž๊ฒฉ ์ฆ๋ช… ๋ชจ์Œ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฌธ์ž์—ด ๋ณ€์ˆ˜ kvUri๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค).
SecretClient secretClient = new SecretClientBuilder().vaultUrl(kvUri).credential(new DefaultAzureCredentialBuilder().build()) .buildClient();

'new DefaultAzureCredentialBuilder().build()' ์•„๋ž˜์— ๋นจ๊ฐ„์ƒ‰ ์˜ค๋ฅ˜ ์ค„์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ๊ฐ€๋ฉด ๋‹ค์Œ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
"ํ•„์ˆ˜ ์œ ํ˜•: TokenCredential
์ œ๊ณต: DefaultAzureCredential"

๋‹ค์Œ ํ•ญ์•„๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
azure-security-keyvault-secrets-4.1.1.jar
azure-identity-1.1.0-beta.7.jar

๊ฐ€์ ธ์˜ค๊ธฐ ๋ฌธ:
import com.azure.security.keyvault.secrets.SecretClient; import com.azure.security.keyvault.secrets.SecretClientBuilder; import com.azure.identity.DefaultAzureCredentialBuilder;

  • ์šด์˜ ์ฒด์ œ: ์œˆ๋„์šฐ 10
  • IDE: ์ธํ…”๋ฆฌ์ œ์ด

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด๊ฐ€ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•„์„ธ์š”?

๊ฐ์‚ฌ!

Client Docs KeyVault customer-reported question

๋ชจ๋“  3 ๋Œ“๊ธ€

์ด ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. @ronny-sphera. @vcolin7 , @g2vinay ํŒ”๋กœ์šฐ ๋ถ€ํƒ

์•ˆ๋…•ํ•˜์„ธ์š” @ronny-sphera, ๋ง์”€ํ•˜์‹  ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

public class ListSecrets {
    public static void main(String[] args) {
        String keyVaultUrl = "https://<your-keyvault-name>.vault.azure.net/";

        SecretClient secretClient = new SecretClientBuilder()
            .vaultUrl(keyVaultUrl)
            .credential(new DefaultAzureCredentialBuilder().build())
            .buildClient();

        System.out.println("Listing secrets");

        for(SecretProperties secretProperties : secretClient.listPropertiesOfSecrets()) {
            if (secretProperties.isEnabled()) {
                KeyVaultSecret secret = secretClient.getSecret(secretProperties.getName());

                System.out.printf("Secret name: %s, secret value: %s\n", secret.getName(), secret.getValue());
            }
        }
    }
}

๋˜ํ•œ ๋‹ค์Œ ์ข…์†์„ฑ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-security-keyvault-secrets</artifactId>
    <version>4.1.1</version>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.1.0-beta.7</version>
</dependency>

ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ฑฐ๋‚˜ POM ํŒŒ์ผ์ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—์„œ mvn clean install ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

pom์— ์ข…์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๊ณ  maven ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰