Freigeben über


Dienst-zu-Dienst-Authentifizierung in Azure Data Lake Storage Gen2 mithilfe von Java

In diesem Artikel erfahren Sie, wie Sie mithilfe des Java SDK die Dienst-zu-Dienst-Authentifizierung in Azure Data Lake Storage Gen2 durchführen. Die Authentifizierung von Endbenutzer*innen in Data Lake Storage Gen2 mit dem Java SDK wird nicht unterstützt.

Voraussetzungen

Service-to-Service-Authentifizierung

  1. Erstellen Sie ein Maven-Projekt mit mvn archetype über die Befehlszeile oder mithilfe einer IDE. Anweisungen zum Erstellen eines Java-Projekts mit IntelliJ finden Sie hier. Anweisungen zum Erstellen eines Projekts mit Eclipse finden Sie hier.

  2. Fügen Sie der Maven -pom.xml-Datei die folgenden Abhängigkeiten hinzu. Fügen Sie den folgenden Codeausschnitt vor dem <Tag "/project> " hinzu:

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

    Die erste Abhängigkeit ist die Verwendung des Data Lake Storage Gen2 SDK (azure-storage-file-datalake) aus dem Maven-Repository. Die zweite Abhängigkeit ist die Angabe des Protokollierungsframeworks (slf4j-nop) für diese App. Das Data Lake Storage Gen2 SDK verwendet die slf4j-Protokollierungsfassade , mit der Sie aus einer Reihe beliebter Protokollierungsframeworks auswählen können, z. B. Log4j, Java-Protokollierung, Logback oder keine Protokollierung. In diesem Beispiel wird die Protokollierung deaktiviert, daher verwenden wir die slf4j-nop-Bindung . Weitere Protokollierungsoptionen in Ihrer App finden Sie unter Deklarieren von Projektabhängigkeiten für die Protokollierung.

  3. Fügen Sie Ihrer Anwendung die folgenden Importanweisungen hinzu.

    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;
    
  4. Rufen Sie mit dem folgenden Codeausschnitt in Ihrer Java-App ein Token für die Active Directory-Web-App ab, die Sie zuvor mit einer der Klassen von StorageSharedKeyCredential erstellt haben (Im folgenden Beispiel wird credential verwendet). Der Tokenanbieter speichert die zur Erzielung des Tokens verwendeten Anmeldeinformationen im Arbeitsspeicher zwischen und erneuert das Token automatisch, bevor es abläuft. Sie können eigene Unterklassen von StorageSharedKeyCredential erstellen, damit Token von Ihrem Kundenprogramm abgerufen werden. Vorerst verwenden wir die im SDK bereitgestellte.

    Ersetzen Sie FILL-IN-HERE durch die tatsächlichen Werte für die Microsoft Entra-Webanwendung.

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

Das Data Lake Storage Gen2 SDK ermöglicht die komfortable Verwaltung der Sicherheitstoken, die für die Kommunikation mit dem Data Lake Storage Gen2-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. die Azure Identity-Clientbibliothek oder Ihren eigenen benutzerdefinierten Code.

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie Sie die Authentifizierung von Endbenutzer*innen verwenden, um sich mithilfe des Java SDK bei Data Lake Storage Gen2 zu authentifizieren. In den folgenden Artikeln wird erörtert, wie Sie das Java SDK mit Data Lake Storage Gen2 verwenden.