> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Resource Owner フローを使用して、エンタープライズ接続経由でアプリを Microsoft Azure Active Directory に接続する方法を説明します。

# Resource を使用してネイティブアプリを Microsoft Azure Active Directory に接続する

WS-Federation および <Tooltip tip="OpenID: アプリケーションがログイン情報を収集・保存しなくても、ユーザーのアイデンティティを検証できるようにする認証のオープン標準です。" cta="用語集を見る" href="/ja/docs/glossary?term=OpenID">OpenID</Tooltip> Connect フローに加えて、Azure AD では [Resource Owner](/ja/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow) フローも使用できます。このフローでは、Azure AD のログインページを表示する代わりに、ユーザーの認証情報 (メールアドレスとパスワード) を取得して検証できます。セキュリティおよび <Tooltip tip="シングルサインオン (SSO): ユーザーが 1 つのアプリケーションにログインすると、そのユーザーは他のアプリケーションにも自動的にログインされるサービスです。" cta="用語集を見る" href="/ja/docs/glossary?term=Single+Sign-on">シングルサインオン</Tooltip> (SSO) の観点から、この方法は推奨されません。ただし、<Tooltip tip="Resource Owner: 保護されたリソースへのアクセスを許可できるエンティティ（ユーザーやアプリケーションなど）です。" cta="用語集を見る" href="/ja/docs/glossary?term=Resource+Owner">Resource Owner</Tooltip> フローは、ネイティブモバイルのシナリオや、Azure AD で認証をバッチ処理する場合に役立つことがあります。

この構成には、Web アプリケーションおよび/または Web API と、ネイティブアプリケーションの 2 つのアプリケーションが必要です。Azure AD の観点では、ユーザーはネイティブアプリケーションを使って認証され、Web アプリケーションおよび/または Web API へのアクセスを取得します。

<Frame>
  <img src="https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6Uy9Q35rn0d9rankvlJuBT/6a5fa5175db76fd1cab35b79f0a213ea/azure-ad-native-app.png?fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=2bdb3fb3a9253b3305d36ef28ac7ec34" alt="Resource Owner フローを使用する Azure AD アプリの概要図" width="537" height="254" data-path="docs/images/cdy7uua7fh8z/6Uy9Q35rn0d9rankvlJuBT/6a5fa5175db76fd1cab35b79f0a213ea/azure-ad-native-app.png" />
</Frame>

<div id="prerequisites">
  ## 前提条件
</div>

[Auth0 にアプリケーションを登録する](/ja/docs/get-started/auth0-overview/create-applications):

1. **Application Type** で **Native** を選択します。
2. **Allowed Callback URL** を追加します。コールバック URL の形式はプラットフォームによって異なります。ご利用のプラットフォームでの形式の詳細については、[ネイティブ クイックスタート](/ja/docs/quickstart/native)を参照してください。
3. アプリケーションの [Grant Types](/ja/docs/get-started/applications/update-grant-types) に適切なフローが含まれていることを確認します。

<div id="steps">
  ## 手順
</div>

Resource Owner フローを使用してアプリケーションを接続するには、次の作業が必要です。

1. [Microsoft Azure ポータルでアプリケーションを設定する](#set-up-your-applications-in-the-microsoft-azure-portal)。
2. [Auth0 でエンタープライズ接続を作成する](#create-an-enterprise-connection-in-auth0)。
3. [Auth0 アプリケーションでエンタープライズ接続を有効にする](#enable-the-enterprise-connection-for-your-auth0-application)。
4. [接続をテストする](#test-the-connection)。

<Card title="Microsoft Azure アカウント">
  作業を進める前に、有効な Microsoft Azure アカウントが必要です。また、**ご自身の** Microsoft Azure AD ディレクトリを所有し、そのグローバル管理者である必要があります。

  Microsoft Azure アカウントをお持ちでない場合は、[無料でサインアップ](https://azure.microsoft.com/en-us/free)できます。その後、必要に応じて、Microsoft の [クイックスタート: Create a new tenant in Azure Active Directory - Create a new tenant for your organization](https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-access-create-new-tenant#create-a-new-tenant-for-your-organization) に従って Azure AD ディレクトリを設定してください。

  また、Office 365 アカウントをお持ちの場合は、新しく作成する代わりに、そのアカウントの Azure AD インスタンスを使用できます。Office 365 アカウントの Azure AD インスタンスにアクセスするには、次の手順を実行します。

  1. [Office 365 にサインイン](https://portal.office.com)し、[Office 365 Admin Center](https://portal.office.com/adminportal/home#/homepage) に移動します。
  2. 左側のメニューにある **Admin centers** メニュードロワーを開き、**Azure AD** をクリックします。
</Card>

<div id="set-up-your-applications-in-the-microsoft-azure-portal">
  ## Microsoft Azure ポータルでアプリケーションを設定する
</div>

<Warning>
  先に進む前に、**ご自身の** Microsoft Azure AD ディレクトリをあらかじめ設定しておき、かつそのディレクトリのグローバル管理者である必要があります。設定方法については、Microsoft の [Quickstart: Azure Active Directory で新しいテナントを作成する - 組織用の新しいテナントを作成する](https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-access-create-new-tenant#create-a-new-tenant-for-your-organization) を参照してください。
</Warning>

<div id="register-a-new-web-application">
  ### 新しい Web アプリケーションを登録する
</div>

Azure AD にアプリケーションを登録する方法については、[クイックスタート: Microsoft Docs の Microsoft アイデンティティ プラットフォームにアプリケーションを登録する](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app)を参照してください。

<Warning>
  Azure AD ディレクトリが複数ある場合は、アプリを登録する際に正しいディレクトリを選択していることを確認してください。
</Warning>

アプリケーションの設定時には、必ず次の設定を使用してください。

* 外部の組織 (他の Azure AD ディレクトリなど) のユーザーを許可する場合は、**Supported account types** の設定で **Accounts in any organizational directory (Any Azure AD directory - Multitenant)** を選択します。
* **Redirect URI** の設定を求められたら、**Web** を選択し、コールバック URL として `https://{yourDomain}/login/callback` を入力します。

<Card title="リダイレクト用の Auth0 ドメイン名を確認する">
  上記に Auth0 のドメイン名が表示されておらず、[カスタムドメイン](/ja/docs/customize/custom-domains)機能を使用していない場合、ドメイン名はテナント名、リージョンのサブドメイン、`auth0.com` をドット (`.`) でつないだものになります。

  たとえば、テナント名が `exampleco-enterprises` で、テナントが US リージョンにある場合、Auth0 のドメイン名は `exampleco-enterprises.us.auth0.com` となり、**Redirect URI** は `https://exampleco-enterprises.us.auth0.com/login/callback` になります。

  ただし、テナントが US リージョンにあり、2020 年 6 月より前に作成されている場合、Auth0 のドメイン名は `exampleco-enterprises.auth0.com` となり、**Redirect URI** は `https://exampleco-enterprises.auth0.com/login/callback` になります。

  [カスタムドメイン](/ja/docs/customize/custom-domains)を使用している場合、**Redirect URI** は `https://<YOUR CUSTOM DOMAIN>/login/callback` になります。
</Card>

このプロセスでは、Microsoft がアプリケーション用に生成する **Application (client) ID** を控えておいてください (アプリケーションの **Overview** 画面で確認できます) 。このチュートリアルの後の手順で必要になります。

<div id="configure-your-web-application-to-expose-an-api">
  ### API を公開するように Web アプリケーションを構成する
</div>

Azure AD で Web アプリケーションを構成して API を公開する方法については、[クイックスタート: Configure an application to expose web APIs on Microsoft Docs](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-configure-app-expose-web-apis) を参照してください。

アプリを構成する際は、必ず次の設定を使用してください。

* **Scope name** の入力を求められたら、`API.Access` と入力します。

この手順の途中で、Microsoft によってアプリケーション用に生成される **Application ID URI** を控えておいてください。これはこのチュートリアルの後の手順で必要になります。

<div id="register-a-new-native-application">
  ### 新しいネイティブアプリケーションを登録する
</div>

Azure でネイティブアプリケーションを登録する方法については、[クイックスタート: Microsoft Docs の Microsoft アイデンティティ プラットフォームにアプリケーションを登録する](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app)を参照してください。

<Warning>
  Azure AD ディレクトリが複数ある場合は、アプリを登録する際に正しいディレクトリになっていることを確認してください。
</Warning>

アプリの設定時には、必ず次の設定を使用してください。

* 外部の組織のユーザー (他の Azure AD ディレクトリなど) を許可する場合は、**Supported account types** の設定で **Accounts in any organizational directory (Any Azure AD directory - Multitenant)** を選択します。
* **Redirect URI** の設定を求められたら、`Public client/native (mobile & desktop)` を選択し、コールバックURLを入力します。コールバックURL の形式はプラットフォームによって異なります。お使いのプラットフォームでの形式の詳細については、[ネイティブ クイックスタート](/ja/docs/quickstart/native)を参照してください。

この手順の途中で、Microsoft がアプリケーション用に生成する **Application (client) ID** を控えておいてください (アプリケーションの **Overview** 画面で確認できます) 。このチュートリアルの後の手順で必要になります。

<div id="create-a-client-secret-for-your-native-application">
  ### ネイティブアプリケーションのクライアントシークレットを作成する
</div>

<Tooltip tip="クライアントシークレット: クライアント（アプリケーション）が認可サーバーに対して認証を行うために使用するシークレットです。クライアントと認可サーバーのみが知るべきものであり、推測されないよう十分なランダム性が必要です。" cta="用語集を見る" href="/ja/docs/glossary?term=client+secret">クライアントシークレット</Tooltip> の作成方法については、[クイックスタート: Microsoft Docs の「クライアント アプリケーションが Web API にアクセスするように構成する - Web アプリケーションに認証情報を追加する」](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-configure-app-access-web-apis#add-credentials-to-your-web-application)を参照してください。

**クライアントシークレット** を生成し、その値を記録してください。このチュートリアルの後半で必要になります。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  有効期限付きのシークレットを構成する場合は、**有効期限を必ず記録してください**。サービスの中断を避けるため、その日までにキーを更新する必要があります。
</Callout>

<div id="add-permissions-for-your-native-application">
  ### ネイティブアプリケーションに権限を追加する
</div>

**Native** アプリケーションに権限を追加する方法については、[クイックスタート: Configure a client application to access web APIs - Add permissions to access web APIs on Microsoft Docs](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-configure-app-access-web-apis#add-permissions-to-access-web-apis) を参照してください。

この構成を正しく機能させるには、必要最小限の権限 (Microsoft Graph API と、API を公開するように構成した Web アプリケーションの両方) を有効にする必要があります。Microsoft Graph API の権限の詳細については、[Microsoft Graph permissions reference on Microsoft Docs](https://learn.microsoft.com/en-us/graph/permissions-reference) を参照してください。

権限を設定する際は、Microsoft Graph API に対して次の設定を使用してください。

* 権限の種類を尋ねられたら、**Delegated permissions** を選択します。

  * **User** で **User.Read** を選択すると、アプリでユーザーをサインインさせ、サインインしているユーザーのユーザープロファイルを読み取れるようになります。
  * **Directory** で **Directory.Read.All** を選択すると、アプリでサインインしているユーザーに代わってディレクトリデータを読み取れるようになります。

API を公開するように構成した Web アプリでは、次の設定を使用してください。

* 権限の種類を尋ねられたら、**Delegated permissions** を選択します。

  * **API** で **API.Access** を選択すると、アプリでユーザーに代わって API にアクセスできるようになります。

<div id="configure-the-connection-in-auth0">
  ## Auth0 で接続を設定する
</div>

Azure AD で両方のアプリケーションを作成したら、Auth0 の接続を設定できます。

1. [Auth0 Dashboard > Authentication > Enterprise](https://manage.auth0.com/#/connections/enterprise) に移動し、**Microsoft Azure AD** を見つけて、追加 (**+**) ボタンを選択します。

   <Frame>
     <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1fSTcrZpkgkPR64NnI1lr8/b3454e60a4463e99353603fd11a71983/Enterprise_Connections_-_EN.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=d70364390d8c16ca8efe20e3e1795db4" alt="Dashboard - 接続 - Enterprise" width="600" height="561" data-path="docs/images/cdy7uua7fh8z/1fSTcrZpkgkPR64NnI1lr8/b3454e60a4463e99353603fd11a71983/Enterprise_Connections_-_EN.png" />
   </Frame>
2. 接続の詳細を入力し、**Create** を選択します。

| フィールド                                          | 説明                                                                                                                                                                                                                                                                                                                                                               |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **接続名**                                        | 接続の論理識別子です。テナント内で一意である必要があります。設定後、この名前は変更できません。                                                                                                                                                                                                                                                                                                                  |
| **Microsoft Azure AD Domain**                  | Azure AD のドメイン名です。Microsoft Azure ポータルにある Azure AD ディレクトリの概要ページで確認できます。                                                                                                                                                                                                                                                                                          |
| **クライアントID**                                   | 登録した Azure AD アプリケーションの一意の識別子です。Azure AD で登録したネイティブアプリケーションの **Application (client) ID** に保存した値を入力します。                                                                                                                                                                                                                                                           |
| **クライアントシークレット**                               | 登録した Azure AD アプリケーションへのアクセスに使用する文字列です。Azure AD で登録したネイティブアプリの **Client secret** に保存した値を入力します。                                                                                                                                                                                                                                                                   |
| **Use common endpoint** (任意)                   | 有効にすると、アプリケーションは新しいディレクトリのユーザーを動的に受け入れられるようになります。通常は、Azure AD で登録したアプリケーションの **Supported account types** でマルチテナント オプションを選択した場合に有効にします。有効にすると、Auth0 はユーザーを Azure の共通ログイン エンドポイントにリダイレクトし、Azure はユーザーのメールアドレスのドメインに基づいて *Home Realm Discovery* を実行します。                                                                                                             |
| **Identity API**                               | Auth0 が Azure AD のエンドポイントとやり取りするために使用する API です。動作の違いについては、Microsoft の [Why update to Microsoft identity platform (v2.0)](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) を参照してください。`Azure Active Directory (v1)` を選択し、**App ID URI** には、Web アプリケーションで API を公開するよう設定したときに作成された **Application ID URI** に保存した値を入力します。 |
| **Attributes**                                 | サインインしたユーザーについて、アプリがアクセスできる基本属性です。Auth0 ユーザープロフィールに保存する情報の範囲を示します。                                                                                                                                                                                                                                                                                               |
| **Extended Attributes** (任意)                   | サインインしたユーザーについて、アプリがアクセスできる拡張属性です。                                                                                                                                                                                                                                                                                                                               |
| **Auth0 APIs** (任意)                            | 選択すると、Azure AD Users API を呼び出す機能が必要であることを示します。                                                                                                                                                                                                                                                                                                                   |
| **Sync user profile attributes at each login** | 有効にすると、Auth0 はユーザーがログインするたびにユーザープロフィールデータを自動的に同期し、接続元で行われた変更が Auth0 に自動的に反映されるようにします。                                                                                                                                                                                                                                                                            |
| **メールアドレス確認**                                  | Auth0 がユーザープロフィールの `email_verified` フィールドをどのように設定するかを選択します。詳しくは、[Email Verification for Azure AD and ADFS](/ja/docs/authenticate/identity-providers/enterprise-identity-providers/azuread-adfs-email-verification) を参照してください。                                                                                                                                    |

<Frame>
  <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1r6WTgLJUlbiV9jligIwER/55904e9d3c1eec62c2e8421b71cff94b/Enterprise_Connection_-_MSFT_-_English.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=463c1e0b4e99c6555a3c2586542a4f42" alt="新しい Azure AD 接続を作成" width="1002" height="1860" data-path="docs/images/cdy7uua7fh8z/1r6WTgLJUlbiV9jligIwER/55904e9d3c1eec62c2e8421b71cff94b/Enterprise_Connection_-_MSFT_-_English.png" />
</Frame>

<div id="enable-the-enterprise-connection-for-your-auth0-application">
  ## Auth0 アプリケーションでエンタープライズ接続を有効にする
</div>

新しい Azure AD のエンタープライズ接続を使用するには、Auth0 アプリケーションでその[接続を有効にする](/ja/docs/authenticate/identity-providers/enterprise-identity-providers/enable-enterprise-connections)必要があります。

<div id="test-the-connection">
  ## 接続をテストする
</div>

これで、[接続をテストする](/ja/docs/authenticate/identity-providers/enterprise-identity-providers/test-enterprise-connections)準備ができました。

<div id="group-memberships-and-advanced-profile-information">
  ## グループメンバーシップと高度なユーザープロファイル情報
</div>

このネイティブフローでは、Auth0 は Azure AD Web アプリケーション用に発行された Azure AD の <Tooltip tip="アクセストークン: API へのアクセスに使用される、認可のための資格情報です。形式は不透明な文字列または JWT です。" cta="用語集を表示" href="/ja/docs/glossary?term=Access+Token">アクセストークン</Tooltip> を受け取ります。そのため、グループメンバーシップや高度なユーザープロファイル情報の読み込みなどの機能は動作しなくなります。これは、Azure AD から受け取るアクセストークンを、この追加情報を取得するために Azure AD Graph API へ照会する用途に使えなくなるためです。

ただし、グループメンバーシップや高度なユーザープロファイル情報が必要な場合は、要件に合わせて構成を変更できます。

1. Azure で、Native アプリケーションに Microsoft Graph API の追加のアクセス許可を構成します。

   * アクセス許可の種類を求められたら、**Delegated permissions** を選択します。

     * **Directory** で **Directory.AccessAsUser.All** を選択し、アプリがサインイン済みユーザーとしてディレクトリにアクセスできるようにします。
2. Auth0 で、Azure AD のエンタープライズ接続を変更します。

   * **Identity API** で `Azure Active Directory (v1)` を選択し、**App ID URI** に Azure AD Graph API の URI を入力します。

     ```text lines theme={null}
     https://graph.windows.net
     ```

<div id="next-steps">
  ## 次のステップ
</div>

* [いずれかのライブラリを使用して Auth0 と統合する](/ja/docs/libraries)
* [Authentication API を使用して Auth0 と統合する](https://auth0.com/docs/api/authentication)
* [認証フローの詳細を確認する](/ja/docs/get-started/authentication-and-authorization-flow)
* [IDプロバイダーに追加のパラメーターを渡す](/ja/docs/authenticate/identity-providers/pass-parameters-to-idps)
* [ユーザーに権限の再承認を求める](/ja/docs/authenticate/identity-providers/social-identity-providers/reprompt-permissions)
