Azure Data Lake Storage Gen1 による Java を使用したエンドユーザー認証

Note

Azure Data Lake Storage Gen1 は廃止されました。 廃止のお知らせについては、こちらを参照してください。Data Lake Storage Gen1リソースにアクセスできなくなりました。 特別なサポートが必要な場合は、お 問い合わせください

この記事では、Java SDK を使用して、Azure Data Lake Storage Gen1 によるエンドユーザー認証を行う方法について説明します。 Java SDK を使用した Data Lake Storage Gen1 によるサービス間認証については、Java を使用した Data Lake Storage Gen1 によるサービス間認証に関する記事をご覧ください。

前提条件

  • Azure サブスクリプションAzure 無料試用版の取得に関するページを参照してください。

  • Microsoft Entra ID "ネイティブ" アプリケーションを作成します。 Microsoft Entra IDを使用したData Lake Storage Gen1によるエンドユーザー認証の手順を完了している必要があります。

  • Maven。 このチュートリアルでは、ビルドとプロジェクトの依存関係に Maven を使用します。 Maven や Gradle などのビルド システムを使用しなくてもビルドすることはできますが、これらのシステムを使用すると、依存関係の管理が容易になります。

  • (オプション) IntelliJ IDEAEclipse などの IDE。

エンドユーザー認証

  1. コマンド ラインで mvn archetype を使用するか、IDE を使用して、Maven プロジェクトを作成します。 IntelliJ を使用して Java プロジェクトを作成する方法については、こちらをご覧ください。 Eclipse を使用してプロジェクトを作成する方法については、こちらをご覧ください。

  2. Maven の pom.xml ファイルに次の依存関係を追加します。 </project> タグの前に次のスニペットを追加します。

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

    最初の依存関係では、maven リポジトリから Data Lake Storage Gen1 SDK (azure-data-lake-store-sdk) を使用します。 2 番目の依存関係では、このアプリケーションで使用するログ記録フレームワーク (slf4j-nop) を指定します。 Data Lake Storage Gen1 SDK では、SLF4J ログ ファサードを使用します。それを使用すると、Log4j、Java ログ、Logback などの多数の一般的なログ記録フレームの中から選択することも、ログを記録しないようにすることもできます。 この例ではログを無効にするため、slf4j-nop バインドを使用します。 アプリケーションで他のログ オプションを使用する場合は、こちらをご覧ください。

  3. アプリケーションに次の import ステートメントを追加します。

    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;
    
  4. Java アプリケーションから次のスニペットを使用して、DeviceCodeTokenProvider を使用して以前に作成した Active Directory ネイティブ アプリケーションのトークンを取得します。 FILL-IN-HERE を、Microsoft Entra ネイティブ アプリケーションの実際の値に置き換えます。

    private static String nativeAppId = "FILL-IN-HERE";
    
    AccessTokenProvider provider = new DeviceCodeTokenProvider(nativeAppId);   
    

Data Lake Storage Gen1 SDK には、Data Lake Storage Gen1 アカウントとの対話に必要なセキュリティ トークンを管理できる便利な方法が用意されています。 ただし、使用する方法はこれらに限定されるわけではありません。 Azure AD SDK や独自のカスタム コードの使用など、トークンを取得する他の方法も使用できます。

次のステップ

この記事では、エンドユーザー認証を使って、Java SDK を使用して Azure Data Lake Storage Gen1 により認証する方法を説明しました。 これで、Java SDK を使用して Azure Data Lake Storage Gen1 を操作する方法について説明した次の記事に進めるようになりました。