Authentifizierung von Endbenutzern bei Azure Data Lake Storage Gen1 mit Java
Hinweis
Azure Data Lake Storage Gen1 wurde außer Betrieb genommen. Sehen Sie sich hier die Ankündigung zur Einstellung an. Auf Data Lake Storage Gen1-Ressourcen kann nicht mehr zugegriffen werden.
In diesem Artikel erfahren Sie, wie Sie mithilfe des Java SDK die Authentifizierung von Endbenutzern bei Azure Data Lake Storage Gen1 durchführen. Informationen zur Dienst-zu-Dienst-Authentifizierung bei Data Lake Storage Gen1 mithilfe des Java SDK finden Sie unter Dienst-zu-Dienst-Authentifizierung bei Azure Data Lake Storage Gen1 mit Java.
Voraussetzungen
Ein Azure-Abonnement. Siehe Kostenlose Azure-Testversion.
Erstellen Sie eine Microsoft Entra ID "Native" Anwendung. Sie müssen die Schritte in der Endbenutzerauthentifizierung mit Data Lake Storage Gen1 mithilfe der Microsoft Entra-ID abgeschlossen haben.
Maven. Dieses Tutorial verwendet Maven für die Erstellung und für Projektabhängigkeiten. Die Erstellung ist zwar auch ohne ein Buildsystem wie Maven oder Gradle möglich, mit einem solchen System lassen sich Abhängigkeiten jedoch deutlich einfacher verwalten.
(Optional) Eine IDE wie IntelliJ IDEA oder Eclipse.
Authentifizierung von Endbenutzern
Erstellen Sie ein Maven-Projekt. Verwenden Sie hierfür mvn archetype in der Befehlszeile oder eine IDE. Eine Anleitung zum Erstellen eines Java-Projekts mit IntelliJ finden Sie hier. Eine Anleitung zum Erstellen eines Projekts mit Eclipse finden Sie hier.
Fügen Sie Ihrer Maven-Datei pom.xml die folgenden Abhängigkeiten hinzu. Fügen Sie den folgenden Codeausschnitt vor dem Tag </project> hinzu:
<dependencies> <dependency> <groupId>com.microsoft.azure</groupId> <artifactId>azure-data-lake-store-sdk</artifactId> <version>2.2.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> <version>1.7.21</version> </dependency> </dependencies>
Die erste Abhängigkeit ist die Verwendung des Data Lake Storage Gen1 SDK (
azure-data-lake-store-sdk
) aus dem Maven-Repository. Die zweite Abhängigkeit ist die Angabe des Protokollierungsframeworks (slf4j-nop
) für diese Anwendung. Das Data Lake Storage Gen1 SDK verwendet die Protokollierungsfassade SLF4J, bei der Sie zwischen mehreren gängigen Protokollierungsframeworks wie Log4j, Java-Protokollierung, Logback usw. auswählen oder die Protokollierung deaktivieren können. Da wir im vorliegenden Beispiel die Protokollierung deaktivieren möchten, verwenden wir die Bindung slf4j-nop. Informationen zur Verwendung anderer Protokollierungsoptionen für Ihre App finden Sie hier.Fügen Sie Ihrer Anwendung die folgenden Importanweisungen hinzu.
import com.microsoft.azure.datalake.store.ADLException; import com.microsoft.azure.datalake.store.ADLStoreClient; import com.microsoft.azure.datalake.store.DirectoryEntry; import com.microsoft.azure.datalake.store.IfExists; import com.microsoft.azure.datalake.store.oauth2.AccessTokenProvider; import com.microsoft.azure.datalake.store.oauth2.DeviceCodeTokenProvider;
Rufen Sie mit dem folgenden Codeausschnitt in Ihrer Java-Anwendung ein Token für die native Active Directory-Anwendung ab, die Sie zuvor mit
DeviceCodeTokenProvider
erstellt haben. Ersetzen Sie FILL-IN-HERE durch die tatsächlichen Werte für die native Microsoft Entra-Anwendung.private static String nativeAppId = "FILL-IN-HERE"; AccessTokenProvider provider = new DeviceCodeTokenProvider(nativeAppId);
Das Data Lake Storage Gen1 SDK ermöglicht die komfortable Verwaltung der Sicherheitstoken, die für die Kommunikation mit dem Data Lake Storage Gen1-Konto benötigt werden. Das SDK ermöglicht jedoch auch die Verwendung anderer Methoden. Sie können auch andere Methoden zum Abrufen von Token verwenden, z. B. das Azure AD SDK oder Ihren eigenen benutzerdefinierten Code.
Nächste Schritte
In diesem Artikel haben Sie erfahren, wie Sie die Authentifizierung von Endbenutzern verwenden, um sich mithilfe des Java SDK bei Azure Data Lake Storage Gen1 zu authentifizieren. In den folgenden Artikeln wird erörtert, wie Sie das Java SDK mit Azure Data Lake Storage Gen1 verwenden.