Authentification de service à service auprès de Data Lake Storage Gen2 à l’aide de Java
Dans cet article, vous allez apprendre à utiliser le Kit de développement logiciel (SDK) Java pour effectuer une authentification de service à service auprès de Azure Data Lake Storage Gen2. L’authentification des utilisateurs finaux auprès de Data Lake Storage Gen2 avec le SDK Java n’est pas prise en charge.
Prérequis
Un abonnement Azure. Consultez la page Obtention d’un essai gratuit d’Azure.
Créez une application « web » Microsoft Entra ID. Vous devez avoir effectué les étapes décrites dans Authentification de service à service avec Data Lake Storage Gen2 à l’aide de Microsoft Entra ID.
Maven. Ce didacticiel utilise Maven pour les dépendances de build et de projet. Bien qu’il soit possible de ne pas les utiliser, les systèmes de build comme Maven ou Gradle facilitent considérablement la gestion des dépendances.
(Facultatif) Un environnement IDE comme IntelliJ IDEA ou Eclipse ou similaire.
Authentification de service à service
Créez un projet Maven en utilisant mvn archetype à partir de la ligne de commande ou à l’aide d’un environnement de développement intégré (IDE). Vous trouverez ici des instructions sur la création d’un projet Java à l’aide d’IntelliJ. Vous trouverez ici des instructions sur la création d’un projet à l’aide d’Eclipse.
Ajoutez les dépendances suivantes à votre fichier Maven pom.xml. Ajoutez l’extrait de code suivant avant la balise </project> :
<dependencies> <dependency> <groupId>com.azure</groupId> <artifactId>azure-storage-file-datalake</artifactId> <version>12.6.0</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.3.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> <version>1.7.21</version> </dependency> </dependencies>
La première dépendance consiste à utiliser le kit de développement logiciel (SDK) Data Lake Storage Gen2 (
azure-storage-file-datalake
) à partir du référentiel Maven. La seconde dépendance consiste à spécifier le framework de journalisation (slf4j-nop
) à utiliser pour cette application. Le SDK Data Lake Storage Gen2 utilise la façade de journalisation slf4j. Cela vous permet de choisir parmi plusieurs frameworks de journalisation populaires, par exemple log4j, la journalisation Java, Logback. Vous pouvez aussi n’utiliser aucune journalisation. Pour cet exemple, nous désactivons la journalisation et, par conséquent, nous utilisons la liaison slf4j-nop. Pour utiliser d’autres options de journalisation dans votre application, consultez déclaration des dépendances de projet pour la journalisation.Ajoutez les instructions import ci-après à votre application.
import com.azure.identity.ClientSecretCredential; import com.azure.identity.ClientSecretCredentialBuilder; import com.azure.storage.file.datalake.DataLakeDirectoryClient; import com.azure.storage.file.datalake.DataLakeFileClient; import com.azure.storage.file.datalake.DataLakeServiceClient; import com.azure.storage.file.datalake.DataLakeServiceClientBuilder; import com.azure.storage.file.datalake.DataLakeFileSystemClient; import com.azure.storage.file.datalake.models.ListPathsOptions; import com.azure.storage.file.datalake.models.PathAccessControl; import com.azure.storage.file.datalake.models.PathPermissions;
Utilisez l’extrait de code ci-après dans votre application Java afin d’obtenir un jeton pour l’application web Active Directory que vous avez créée précédemment à l’aide de l’une des classes de
StorageSharedKeyCredential
(l’exemple ci-après utilisecredential
). Le fournisseur de jetons met en cache les informations d’identification utilisées pour obtenir le jeton en mémoire, et renouvelle automatiquement le jeton s’il est sur le point d’expirer. Il est possible de créer vos propres sous-classes deStorageSharedKeyCredential
afin que les jetons soient obtenus par votre code client. Toutefois, pour le moment, utilisons simplement le jeton fourni dans le Kit de développement logiciel (SDK).Remplacez FILL-IN-HERE par les valeurs réelles de l’application web Microsoft Entra.
private static String clientId = "FILL-IN-HERE"; private static String tenantId = "FILL-IN-HERE"; private static String clientSecret = "FILL-IN-HERE"; ClientSecretCredential credential = new ClientSecretCredentialBuilder().clientId(clientId).tenantId(tenantId).clientSecret(clientSecret).build();
Le kit de développement logiciel (SDK) Data Lake Storage Gen2 propose des méthodes pratiques pour gérer les jetons de sécurité nécessaires et ainsi communiquer avec le compte Data Lake Storage Gen2. Toutefois, le Kit de développement (SDK) n’impose pas d’utiliser ces seules méthodes. Vous pouvez utiliser tout autre moyen pour obtenir le jeton, par exemple à l’aide de la bibliothèque de client Azure Identity, ou de votre propre code personnalisé.
Étapes suivantes
Dans cet article, vous avez appris à utiliser l’authentification des utilisateurs finaux auprès de Data Lake Storage Gen2 à l’aide du Kit de développement logiciel (SDK) Java. Vous pouvez à présent consulter les articles ci-après, qui expliquent comment utiliser le Kit de développement logiciel (SDK) Java pour travailler avec Data Lake Storage Gen2.