Szolgáltatásközi hitelesítés Azure Data Lake Storage Gen2 Java használatával

Ebből a cikkből megtudhatja, hogyan használhatja a Java SDK-t szolgáltatásközi hitelesítésre Azure Data Lake Storage Gen2. A Java SDK-t használó Data Lake Storage Gen2 végfelhasználói hitelesítés nem támogatott.

Előfeltételek

  • Azure-előfizetés. Lásd: Ingyenes Azure-fiók létrehozása.

  • Hozzon létre egy Microsoft Entra ID "Web" alkalmazást. A szolgáltatásközi hitelesítés lépéseit a Data Lake Storage Gen2 Microsoft Entra ID használatával kell elvégeznie.

  • Maven. Ez az oktatóanyag a Mavent használja a build- és projektfüggőségek kezeléséhez. Bár buildelési rendszer (például Maven vagy Gradle) használata nélkül is létrehozható, ezek a rendszerek sokkal egyszerűbbé teszik a függőségek kezelését.

  • (Nem kötelező) Ide, például IntelliJ IDEA vagy Eclipse vagy hasonló.

Szolgáltatások közötti hitelesítés

  1. Hozzon létre egy Maven-projektet az mvn archetype használatával parancssorból vagy egy IDE használatával. A Java-projektek IntelliJ használatával való létrehozási útmutatójáért kattintson ide. A projektek Eclipse használatával való létrehozási útmutatójáért kattintson ide.

  2. Illessze be a következő függőségeket a Maven pom.xml nevű fájljába. Adja hozzá a következő kódrészletet a </project> címke elé:

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

    Az első függőség a Maven-adattárból származó Data Lake Storage Gen2 SDK (azure-storage-file-datalake) használata. A második függőség az alkalmazáshoz használni kívánt naplózási keretrendszer (slf4j-nop) megadása. A Data Lake Storage Gen2 SDK az slf4j naplózási homlokzatot használja, amellyel számos népszerű naplózási keretrendszer közül választhat, például a log4j, a Java naplózás, a logback vagy a nincs naplózás közül. Ebben a példában kikapcsoljuk a naplózást, mivel az slf4j-nop kötést eszközt használjuk. Ha más naplózási lehetőségeket szeretne használni az alkalmazásban, olvassa el a Projektfüggőségek naplózáshoz való deklarálása című témakört.

  3. Adja hozzá az alábbi importálási utasításokat az alkalmazáshoz.

    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. A Java-alkalmazásban az alábbi kódrészlet használatával szerezzen be egy jogkivonatot a korábban létrehozott Active Directory-webalkalmazáshoz az egyik osztály StorageSharedKeyCredential használatával (az alábbi példa a következőt használja credential). A jogkivonat-szolgáltató gyorsítótárazza a jogkivonat memóriában való beszerzéséhez használt hitelesítő adatokat, és automatikusan megújítja a jogkivonatot, ha hamarosan lejár. Létrehozhat saját alosztályokat StorageSharedKeyCredential , így a jogkivonatokat az ügyfélkódja szerezheti be. Egyelőre csak az SDK-ban megadottat használjuk.

    Cserélje le a FILL-IN-HERE értéket a Microsoft Entra webalkalmazás tényleges értékeire.

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

A Data Lake Storage Gen2 SDK kényelmes módszereket biztosít, amelyekkel kezelheti a Data Lake Storage Gen2-fiókkal való beszélgetéshez szükséges biztonsági jogkivonatokat. Az SDK azonban nem írja elő, hogy csak ezeket a módszereket használja. A jogkivonatok beszerzésének bármely más módját is használhatja, például az Azure Identity ügyfélkódtárát vagy a saját egyéni kódját.

Következő lépések

Ebből a cikkből megtudhatja, hogyan használhatja a végfelhasználói hitelesítést Data Lake Storage Gen2 a Java SDK használatával történő hitelesítéshez. Az alábbi cikkekből megtudhatja, hogyan használhatja a Java SDK-t Data Lake Storage Gen2.