Skip to content

Commit

Permalink
Update the doc
Browse files Browse the repository at this point in the history
Update the doc
  • Loading branch information
juntakata authored Jul 18, 2021
1 parent ed33aa0 commit 7918c7f
Showing 1 changed file with 34 additions and 36 deletions.
70 changes: 34 additions & 36 deletions articles/azure-active-directory/app-service-auth-multi-tenant.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,47 +106,45 @@ Azure AD ではアプリケーション オブジェクト側の構成とログ

なお、上記状態では構成したとおり様々な Azure AD テナントから Web アプリにアクセスが可能となります。もしアプリを特定の数テナントだけにアクセスさせたいという場合は、アプリケーション側で X-MS-CLIENT-PRINCIPAL-NAME ヘッダーの値を確認し、サインインしたユーザーのドメイン名が意図したものでなければアクセスを拒否するなどの対応をご検討ください。

## シナリオ 4: App Service の Web サイトを、App Service を構成したテナントとは別のテナントのユーザーにアクセスさせたい

App Service に紐づくサブスクリプションがあるテナントと、ユーザーを管理しているテナントが異なる場合などに、ご利用いただける方法です。ここでご紹介する手順は、[Azure AD ログインを使用するように App Service または Azure Functions アプリを構成する - 個別に作成された既存の登録を使用する](https://docs.microsoft.com/ja-jp/azure/app-service/configure-authentication-provider-aad#use-an-existing-registration-created-separately) の公開情報でも解説がございます。

**テナント構成の前提**
- テナント A: App Service の Web サイトをホストしているテナント
- テナント B: App Service にアクセスするユーザーが存在しているテナント

**テナント B 上での作業**
1. テナント B の Azure ポータルにサインインし、Azure Active Directory ブレードを開き、[アプリの登録] を開きます。
2. [+ 新規登録] を選択し、各項目を下記のように設定し、[登録] を押下します。
- [名前] に任意の名前を設定します。
- [サポートされているアカウント] の種類は [この組織ディレクトリのみに含まれるアカウント (シングル テナント)] を選択します。
- [リダイレクト URI] では [Web] を選択し、"<App Service の URL>/.auth/login/aad/callback" と入力します
(例: "https://contoso.azurewebsites.net/.auth/login/aad/callback")
3. アプリの登録完了したら、 [アプリケーション (クライアント) ID][ディレクトリ (テナント) ID] を控えておきます。
4. 左端メニューから [認証] タブを選択します。 [暗黙的な許可およびハイブリッド フロー] で "ID トークン" を有効にします。
5. (省略可能) 左端メニューから [ブランド][ホーム ページ URL] に App Service アプリの URL を入力して [保存] を選択します。
6. 左端メニューから [API の公開] を選択します。
7. [アプリケーション ID の URI] に App Service アプリの URL を入力し、[保存] を選択します。
8. 左端メニューから [証明書とシークレット] を選択します。
9. [新しいクライアント シークレット] を選択し、クライアント シークレットを追加します。

なお、クライアント シークレットの追加後は、画面に表示されるクライアント シークレットの値を必ずお控えください。一度この画面を離れたら二度と表示されません。クライアント シークレットの有効期限は最長 2 年間です。有効期限が切れた場合は更新の対応が必要です。

## シナリオ 4: App Service の Web サイトを、App Service を構成したテナントとは別のテナントのユーザーにアクセス許可したい

App Service に紐づくサブスクリプションがあるテナントと、ユーザーを管理しているテナントが異なる場合などに、ご利用いただける方法です。

※ ここでご紹介する手順は、[Azure AD ログインを使用するように App Service または Azure Functions アプリを構成する - 個別に作成された既存の登録を使用する](https://docs.microsoft.com/ja-jp/azure/app-service/configure-authentication-provider-aad#use-an-existing-registration-created-separately) の公開情報でも解説がございます。

### 前提
- テナント A : App Service の Web サイトをホストしているテナント
- テナント B : ユーザー管理用テナント

### テナント B 上での作業
1. テナント B の Azure portal にサインインし、Azure Active Directory ブレードを開き、[アプリの登録] を開きます。
2. [新規登録] を選択し、各項目を下記のように設定し、[登録] を押下します。
- [名前] : 任意の名前を設定します。
- [サポートされているアカウント] の種類は "この組織ディレクトリのみに含まれるアカウント (シングル テナント)" を選択します。
- [リダイレクト URI] は "Web" を選択し、"(App Service の URL)/.auth/login/aad/callback" と入力します。例 : "https://contoso.azurewebsites.net/.auth/login/aad/callback"

3. アプリの登録完了したら、 [アプリケーション (クライアント) ID][ディレクトリ (テナント) ID] を控えておきます。後のステップで利用します。
4. 左端メニューから [認証] タブを選択します。 [暗黙的な許可およびハイブリッド フロー] で "ID トークン" を有効にします。
5. (省略可能) 左端メニューから [ブランド] を選択します。 [ホーム ページ URL] に App Service アプリの URL を入力し、 [保存] を選択します。
6. 左端メニューから [API の公開] を選択します。 [アプリケーション ID の URI] に App Service アプリの URL を入力し、 [保存] を選択します。
7. 左端メニューから [(証明書とシークレット)] を選択します。 [新しいクライアント シークレット] を選択し、クライアント シークレットを追加します。
*追加後、画面に表示されるクライアント シークレットの値を、必ず控えてください。一度この画面を離れたら、二度と表示されません。
- 注意 : クライアント シークレットの有効期限は最長 2 年間です。有効期限が切れたら、更新の対応が必要です。

### テナント A 上での作業
1. テナント A の Azure portal にサインインし、Web アプリをホストしている App Service の画面を開きます。
**テナント A 上での作業**
1. テナント A の Azure ポータルにサインインし、Web アプリをホストしている App Service の画面を開きます。
2. 左側のメニューで [認証] を選択します。 [ID プロバイダーの追加] をクリックします。
3. [ID プロバイダー] ドロップダウンで [Microsoft] を選択し、下記のように設定します。
- [アプリの登録の種類] : "既存アプリの登録の詳細を提供します" を選択します。
- [アプリケーション (クライアント) ID] : 前述の手順で控えた [アプリケーション (クライアント) ID] を設定します。
- [クライアント シークレット] : 前述の手順で控えたクライアント シークレットの値を設定します。
- [発行者の URL] : "https://login.microsoftonline.com/テナント B のテナント ID/v2.0" を設定します。テナント B のテナント ID は、前述の手順で控えた [ディレクトリ (テナント) ID] です。

5. これまで Web アプリに他の ID プロバイダーがされていない場合は、[App Service 認証設定] のセクションが表示されます。
- [アプリの登録の種類] では [既存アプリの登録の詳細を提供します] を選択します。
- [アプリケーション (クライアント) ID] には、前述の手順で控えた [アプリケーション (クライアント) ID] を設定します。
- [クライアント シークレット] には前述の手順で控えたクライアント シークレットの値を設定します。
- [発行者の URL] には "https://login.microsoftonline.com/<テナント B のテナント ID>/v2.0" を設定します。
テナント B のテナント ID は、前述の手順で控えた [ディレクトリ (テナント) ID] です。
4. これまで Web アプリに他の ID プロバイダーがされていない場合は、[App Service 認証設定] のセクションが表示されます。
- [認証] は "認証が必要" を選択します。
- [認証されていない要求] では、アプリケーションが認証されていない要求にどのように応答するかを決定します。基本的には [HTTP 302 リダイレクトが見つかりました: Web サイトに推奨] で問題ございません。

6. [追加] をクリックします。
- [認証されていない要求] では、[HTTP 302 リダイレクトが見つかりました: Web サイトに推奨] を選びます。
この設定は、アプリケーションが認証されていない要求にどのように応答するかを決定します。基本的には上記設定で問題ありません。
5. [追加] をクリックします。

設定手順は以上です。

Expand Down

0 comments on commit 7918c7f

Please sign in to comment.