Autenticazione da servizio a servizio con Azure Data Lake Storage Gen2 tramite Java
Questo articolo illustra come usare Java SDK per eseguire l'autenticazione da servizio a servizio con Azure Data Lake Storage Gen2. L'autenticazione dell'utente finale con Data Lake Storage Gen2 con Java SDK non è supportata.
Prerequisiti
Una sottoscrizione di Azure. Vedere Ottenere una versione di prova gratuita di Azure.
Creare un'applicazione Microsoft Entra ID "Web". È necessario aver completato i passaggi nell'autenticazione da servizio a servizio con Data Lake Storage Gen2 usando Microsoft Entra ID.
Maven. Questa esercitazione usa Maven per compilare e progettare le dipendenze. Sebbene sia possibile compilare senza usare un sistema di compilazione come Maven o Gradle, questi sistemi semplificano notevolmente la gestione delle dipendenze.
(Facoltativo) Un IDE come IntelliJ IDEA oppure Eclipse o simili.
Autenticazione da servizio a servizio
Creare un progetto Maven usando l'archetipo mvn dalla riga di comando o con un IDE. Per istruzioni su come creare un progetto Java usando IntelliJ, vedere qui. Per istruzioni su come creare un progetto Java usando Eclipse, vedere qui.
Aggiungere le dipendenze seguenti al file pom.xml di Maven. Aggiungere il frammento di codice seguente prima del <tag /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 prima dipendenza consiste nell'usare l'SDK Data Lake Storage Gen2 (
azure-storage-file-datalake
) dal repository Maven. La seconda dipendenza consiste nel specificare il framework di registrazione (slf4j-nop
) da usare per questa app. L'SDK di Data Lake Storage Gen2 usa la facciata di registrazione slf4j, che consente di scegliere tra diversi framework di registrazione comuni, ad esempio log4j, registrazione Java, logback o nessuna registrazione. Per questo esempio la registrazione viene disabilitata, quindi si usa il binding slf4j-nop. Per usare altre opzioni di registrazione nell'app, vedere Dichiarazione delle dipendenze del progetto per la registrazione.Aggiungere le istruzioni import seguenti all'applicazione.
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;
Usare il frammento di codice seguente nell'app Java per ottenere un token per l'app Web Active Directory creata in precedenza usando una della classe di
StorageSharedKeyCredential
(nell'esempio seguente vienecredential
usato ). Il provider di token memorizza nella cache le credenziali usate per ottenere il token in memoria e rinnova automaticamente il token se sta per scadere. È possibile creare sottoclassi personalizzate diStorageSharedKeyCredential
in modo che i token vengano ottenuti dal codice del cliente. Per il momento verrà usata quella fornita con il SDK.Sostituire FILL-IN-HERE con i valori effettivi per l'applicazione 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();
L'SDK di Data Lake Storage Gen2 offre metodi pratici che consentono di gestire i token di sicurezza necessari per comunicare con l'account Data Lake Storage Gen2. Tuttavia, l'SDK non impone che vengano usati solo questi metodi. È possibile usare anche qualsiasi altro mezzo per ottenere il token, ad esempio usando la libreria client di Identità di Azure o il codice personalizzato.
Passaggi successivi
In questo articolo si è appreso come usare l'autenticazione dell'utente finale per l'autenticazione con Data Lake Storage Gen2 usando Java SDK. È ora possibile esaminare gli articoli seguenti che illustrano come usare Java SDK per usare Data Lake Storage Gen2.