Azure-sdk-for-java: Accès à Azure Key Vault - DefaultAzureCredentialBuilder() génère une erreur

Créé le 6 août 2020  ·  3Commentaires  ·  Source: Azure/azure-sdk-for-java

Salut,
Je suis le tutoriel ici : https://docs.microsoft.com/en-us/azure/key-vault/secrets/quick-create-java
essayer de récupérer un secret à partir d'un coffre de clés dans mon application Java.

Lorsque j'essaie d'initialiser une variable SecretClient, j'obtiens une erreur dans le bit d'identification. J'ai collé le code suivant directement du didacticiel dans mon code (j'ai créé une variable de chaîne kvUri pointant vers mon coffre de clés):
SecretClient secretClient = new SecretClientBuilder().vaultUrl(kvUri).credential(new DefaultAzureCredentialBuilder().build()) .buildClient();

J'obtiens une ligne d'erreur rouge sous 'new DefaultAzureCredentialBuilder().build()'. Quand je survole, je vois ce message :
"Type requis : TokenCredential
Fourni : DefaultAzureCredential"

J'ai installé et importé les jars suivants :
azure-security-keyvault-secrets-4.1.1.jar
azure-identity-1.1.0-beta.7.jar

Importer des déclarations :
import com.azure.security.keyvault.secrets.SecretClient; import com.azure.security.keyvault.secrets.SecretClientBuilder; import com.azure.identity.DefaultAzureCredentialBuilder;

  • Système d'exploitation : Windows 10
  • IDE : IntelliJ

Une idée de ce que je peux faire pour régler ça ?

Merci!

Client Docs KeyVault customer-reported question

Tous les 3 commentaires

Merci d'avoir signalé ce problème, @ronny-sphera. @vcolin7 , @g2vinay pouvez-vous faire un suivi ?

Salut @ronny-sphera, je n'arrive pas à reproduire le problème que vous mentionnez. Voici le code que j'ai utilisé :

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());
            }
        }
    }
}

J'utilise également les dépendances suivantes :

<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>

Vous pourriez peut-être essayer de reconstruire votre projet ou exécuter mvn clean install dans le répertoire où se trouve votre fichier POM.

L'ajout des dépendances au pom et le rechargement du projet maven semblent l'avoir résolu - merci!

Cette page vous a été utile?
0 / 5 - 0 notes