Dela via


Tjänst-till-tjänst-autentisering med Azure Data Lake Storage Gen2 med Java

I den här artikeln får du lära dig hur du använder Java SDK för att utföra tjänst-till-tjänst-autentisering med Azure Data Lake Storage Gen2. Slutanvändarautentisering med Data Lake Storage Gen2 med Java SDK stöds inte.

Förutsättningar

Tjänst-till-tjänst-autentisering

  1. Skapa ett Maven-projekt med mvn archetype från kommandoraden eller med hjälp av en IDE. Anvisningar för hur du skapar ett Java-projekt med IntelliJ finns här. Anvisningar för hur du skapar ett Java-projekt med Eclipse finns här.

  2. Lägg till följande beroenden till din Maven pom.xml-fil. Lägg till följande kodfragment före taggen </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>
    

    Det första beroendet är att använda Data Lake Storage Gen2 SDK (azure-storage-file-datalake) från Maven-lagringsplatsen. Det andra beroendet är att ange det loggningsramverk (slf4j-nop) som ska användas för den här appen. Data Lake Storage Gen2 SDK använder slf4j-loggningsfasad, som gör att du kan välja bland ett antal populära loggningsramverk som log4j, Java-loggning, logback eller inga loggar. I det här exemplet inaktiverar vi loggning, därför använder vi slf4j-nop bindning. Om du vill använda andra loggningsalternativ i din app kan du läsa Förklara projektberoenden för loggning.

  3. Lägg till följande importsatser i din applikation.

    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. Använd följande kodfragment i Java-appen för att hämta en token för Active Directory-webbappen som du skapade tidigare med hjälp av en av klasserna i StorageSharedKeyCredential (i följande exempel används credential). Tokenprovidern cachelagrar de autentiseringsuppgifter som används för att hämta token i minnet och förnyar token automatiskt om den snart upphör att gälla. Det går att skapa egna underklasser av StorageSharedKeyCredential så att tokens hämtas av din kundkod. För tillfället ska vi bara använda den som anges i SDK:t.

    Ersätt FILL-IN-HERE med de faktiska värdena för Microsoft Entra-webbprogrammet.

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

Data Lake Storage Gen2 SDK tillhandahåller praktiska metoder som gör att du kan hantera de säkerhetstoken som behövs för att kommunicera med Data Lake Storage Gen2-kontot. SDK kräver dock inte att endast dessa metoder används. Du kan också använda andra sätt att hämta token, som att använda Azure Identity-klientbiblioteket eller din egen anpassade kod.

Nästa steg

I den här artikeln har du lärt dig hur du använder slutanvändarautentisering för att autentisera med Data Lake Storage Gen2 med Java SDK. Nu kan du titta på följande artiklar som beskriver hur du använder Java SDK för att arbeta med Data Lake Storage Gen2.