Azure Data Lake Storage Gen1 による Azure Active Directory を使用したエンドユーザー認証End-user authentication with Azure Data Lake Storage Gen1 using Azure Active Directory

Azure Data Lake Storage Gen1 では、認証するために Azure Active Directory を使用します。Azure Data Lake Storage Gen1 uses Azure Active Directory for authentication. Data Lake Storage Gen1 または Azure Data Lake Analytics と組み合わせて動作するアプリケーションを作成する前に、Azure Active Directory (Azure AD) でアプリケーションを認証する方法を決めておく必要があります。Before authoring an application that works with Data Lake Storage Gen1 or Azure Data Lake Analytics, you must decide how to authenticate your application with Azure Active Directory (Azure AD). 2 種類のオプションを使用できます。The two main options available are:

  • エンドユーザー認証 (この記事)End-user authentication (this article)
  • サービス間の認証 (上のドロップダウンからこのオプションを選択します)Service-to-service authentication (pick this option from the drop-down above)

どちらのオプションでも、OAuth 2.0 トークンがアプリケーションに提供され、このトークンが Azure Data Lake Storage Gen1 または Azure Data Lake Analytics に対する各要求にアタッチされます。Both these options result in your application being provided with an OAuth 2.0 token, which gets attached to each request made to Data Lake Storage Gen1 or Azure Data Lake Analytics.

この記事では、エンドユーザー認証用の Azure AD ネイティブ アプリケーションの作成方法について説明します。This article talks about how to create an Azure AD native application for end-user authentication. サービス間認証用に Azure AD アプリケーションを構成する方法については、Data Lake Storage Gen1 による Azure Active Directory を使用したサービス間認証に関する記事をご覧ください。For instructions on Azure AD application configuration for service-to-service authentication, see Service-to-service authentication with Data Lake Storage Gen1 using Azure Active Directory.

前提条件Prerequisites

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

  • サブスクリプション ID。Your subscription ID. これは Azure Portal から取得できます。You can retrieve it from the Azure portal. たとえば、[Data Lake Storage Gen1 アカウント] ブレードから入手できます。For example, it is available from the Data Lake Storage Gen1 account blade.

    サブスクリプション ID の取得

  • Azure AD ドメイン名。Your Azure AD domain name. Azure Portal の右上隅にマウスを置くことで取得できます。You can retrieve it by hovering the mouse in the top-right corner of the Azure portal. 次のスクリーンショットでは、ドメイン名は contoso.onmicrosoft.com であり、丸かっこ内の GUID はテナント ID です。From the screenshot below, the domain name is contoso.onmicrosoft.com, and the GUID within brackets is the tenant ID.

    AAD ドメインの取得

  • Azure テナント ID。Your Azure tenant ID. テナント ID を取得する方法については、「テナント ID を取得する」を参照してください。For instructions on how to retrieve the tenant ID, see Get the tenant ID.

エンドユーザー認証End-user authentication

この認証メカニズムは、エンド ユーザーに Azure AD 経由でアプリケーションにサインインしてもらう場合に推奨される方法です。This authentication mechanism is the recommended approach if you want an end user to sign in to your application via Azure AD. アプリケーションは、ログインしたエンド ユーザーと同じアクセス レベルで Azure リソースにアクセスできます。Your application is then able to access Azure resources with the same level of access as the end user that logged in. エンド ユーザーは、アプリケーションのアクセスを維持するために、資格情報を定期的に入力する必要があります。Your end user needs to provide their credentials periodically in order for your application to maintain access.

エンドユーザーがサインインすると、アプリケーションにアクセス トークンと更新トークンが付与されます。The result of having the end-user sign in is that your application is given an access token and a refresh token. アクセス トークンは Data Lake Storage Gen1 または Data Lake Analytics に対する各要求にアタッチされ、既定では 1 時間有効です。The access token gets attached to each request made to Data Lake Storage Gen1 or Data Lake Analytics, and it is valid for one hour by default. 更新トークンは、新しいアクセス トークンを取得するために使用でき、既定では最大 2 週間有効です。The refresh token can be used to obtain a new access token, and it is valid for up to two weeks by default. エンド ユーザーのサインインには、2 つの異なる方法を使用できます。You can use two different approaches for end-user sign in.

OAuth 2.0 ポップアップの使用Using the OAuth 2.0 pop-up

アプリケーションで、エンド ユーザーが資格情報を入力できる OAuth 2.0 認証ポップアップをトリガーできます。Your application can trigger an OAuth 2.0 authorization pop-up, in which the end user can enter their credentials. このポップアップは、必要であれば、Azure AD の 2 要素認証 (2FA) プロセスでも機能します。This pop-up also works with the Azure AD Two-factor Authentication (2FA) process, if necessary.

注意

この方法は、Python または Java 用の Azure AD Authentication Library (ADAL) ではまだサポートされていません。This method is not yet supported in the Azure AD Authentication Library (ADAL) for Python or Java.

ユーザーの資格情報を直接渡すDirectly passing in user credentials

アプリケーションで、ユーザーの資格情報を Azure AD に直接提供できます。Your application can directly provide user credentials to Azure AD. この方法は、組織 ID ユーザー アカウントのみで機能します。@outlook.com や @live.com で終わるアカウントを含む個人や "live ID" のユーザー アカウントには対応しません。This method only works with organizational ID user accounts; it is not compatible with personal / “live ID” user accounts, including the accounts ending in @outlook.com or @live.com. さらに、この方法は、Azure AD の 2 要素認証 (2FA) を必要とするユーザー アカウントには対応しません。Furthermore, this method is not compatible with user accounts that require Azure AD Two-factor Authentication (2FA).

この方法を使用するための要件What do I need for this approach?

  • Azure AD ドメイン名。Azure AD domain name. この要件は、この記事の前提条件で既に示されています。This requirement is already listed in the prerequisite of this article.
  • Azure AD テナント ID。Azure AD tenant ID. この要件は、この記事の前提条件で既に示されています。This requirement is already listed in the prerequisite of this article.
  • Azure AD ネイティブ アプリケーションAzure AD native application
  • Azure AD ネイティブ アプリケーションのアプリケーション IDApplication ID for the Azure AD native application
  • Azure AD ネイティブ アプリケーションのリダイレクト URIRedirect URI for the Azure AD native application
  • 委任されたアクセス許可を設定するSet delegated permissions

手順 1:Active Directory ネイティブ アプリケーションを作成するStep 1: Create an Active Directory native application

Azure Active Directory を使用して Data Lake Storage Gen1 によるエンドユーザー間認証を行う Azure AD ネイティブ アプリケーションを作成および構成します。Create and configure an Azure AD native application for end-user authentication with Data Lake Storage Gen1 using Azure Active Directory. 手順については、Microsoft Azure での Ruby アプリケーションの作成に関するページを参照してください。For instructions, see Create an Azure AD application.

リンクの指示に従うときは、次のスクリーンショットに示すように、アプリケーションの種類として [ネイティブ] を必ず選択してください。While following the instructions in the link, make sure you select Native for application type, as shown in the following screenshot:

Web アプリの作成Create web app

手順 2:アプリケーション ID とリダイレクト URI を取得するStep 2: Get application ID and redirect URI

アプリケーション ID の取得については、アプリケーション ID の取得に関するページをご覧ください。See Get the application ID to retrieve the application ID.

リダイレクト URI を取得するには、次の手順を実行します。To retrieve the redirect URI, do the following steps.

  1. Azure Portal で [Azure Active Directory] を選択します。 [アプリの登録] をクリックし、作成した Azure AD ネイティブ アプリケーションを見つけてクリックします。From the Azure portal, select Azure Active Directory, click App registrations, and then find and click the Azure AD native application that you created.

  2. アプリケーションの [設定] ブレードで、 [リダイレクト URI] をクリックします。From the Settings blade for the application, click Redirect URIs.

    リダイレクト URI の取得

  3. 表示された値をコピーします。Copy the value displayed.

手順 3:アクセス許可を設定するStep 3: Set permissions

  1. Azure Portal で [Azure Active Directory] を選択します。 [アプリの登録] をクリックし、作成した Azure AD ネイティブ アプリケーションを見つけてクリックします。From the Azure portal, select Azure Active Directory, click App registrations, and then find and click the Azure AD native application that you created.

  2. アプリケーションの [設定] ブレードで、 [必要なアクセス許可] をクリックし、 [追加] をクリックします。From the Settings blade for the application, click Required permissions, and then click Add.

    クライアント ID

  3. [API アクセスの追加] ブレードで、 [API を選択します] をクリックします。 [Azure Data Lake] をクリックし、 [選択] をクリックします。In the Add API Access blade, click Select an API, click Azure Data Lake, and then click Select.

    クライアント ID

  4. [API アクセスの追加] ブレードで、 [アクセス許可の選択] をクリックします。 [Full access to Data Lake Store (Data Lake Store にフル アクセス許可を与える)] チェック ボックスをオンにし、 [選択] をクリックします。In the Add API Access blade, click Select permissions, select the check box to give Full access to Data Lake Store, and then click Select.

    クライアント ID

    [Done] をクリックします。Click Done.

  5. 最後の 2 つの手順を繰り返して、Windows Azure Service Management API にも、アクセス許可を与えます。Repeat the last two steps to grant permissions for Windows Azure Service Management API as well.

次の手順Next steps

この記事では、Azure AD ネイティブ アプリケーションを作成し、.NET SDK、Java SDK、REST API などを使用して作成するクライアント アプリケーションに必要な情報を収集しました。これで、以下の記事に進むことができます。これらの記事では、Azure AD Web アプリケーションを使用して、最初に Data Lake Storage Gen1 による認証を行ってからストアに対して他の操作を実行する方法について説明しています。In this article, you created an Azure AD native application and gathered the information you need in your client applications that you author using .NET SDK, Java SDK, REST API, etc. You can now proceed to the following articles that talk about how to use the Azure AD web application to first authenticate with Data Lake Storage Gen1 and then perform other operations on the store.