【Azure AD B2C】Azure AD B2C テナントの作成をしてみる

はじめに
---
インターナルユーザー向けのAzure AD B2E (Business-to-Employee)だけでなく、 Azure AD B2C (Business-to-Customer)を使って、顧客向けのSSOを実現したいとの要望が社内であがってきました。。。やな予感が、、、

やっぱり来ました。検証＆導入をサポートよろしく！！という事で、Azure AD B2Cの調査から入りたいと思います。

Azure AD B2Cとは？
---
『Azure Active Directory B2C の価格』
https://azure.microsoft.com/ja-jp/pricing/details/active-directory-b2c/

>月間アクティブ ユーザー数 (MAU)
Azure Active Directory B2C は月間アクティブ ユーザー (MAU) を基準に課金され、お客様はコストを減らし、確実に今後の計画を行うことができます。1 ユニーク ユーザーが特定の月に認証を行ったときに、1 MAU がカウントされます。

他IDaaS(Onelogin, Okta)は、ユーザー数契約に比べて、月間アクティブユーザー数となりますので、ユーザー数が少ないアプリケーションは、価格面では、お得かもしれないです。

『Azure Active Directory B2C の技術と機能の概要』
https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/technical-overview

>Azure AD B2C テナント
Azure Active Directory B2C (Azure AD B2C) では、"テナント" は組織を表しており、ユーザーのディレクトリです。 各 Azure AD B2C テナントは、他の Azure AD B2C テナントと区別され分離されています。 Azure AD B2C テナントは、既にお持ちかもしれない Azure Active Directory テナントとは別のものです。

Office365を利用していると既にAzure ADがございますが、このAzure ADとは別物となります。

『Azure Active Directory B2C のドキュメント』
https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/

>Azure Active Directory B2C (Azure AD B2C) は、iOS、Android、.NET、シングルページ (SPA) などのアプリケーションを使用している場合に、顧客によるサインアップ、サインイン、プロファイル管理の方法をカスタマイズして制御できる ID 管理サービスです。 Microsoft が提供するクイック スタート、チュートリアル、サンプルを使用して、Azure AD B2C の使用方法を確認してください。

ドキュメントは、充実しております。まずは、Azure AD B2C テナントの作成から始めたいと思います。

いざスタート
---
『チュートリアル:Azure Active Directory B2C テナントの作成』
https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/tutorial-create-tenant

早速ですが、上記URLを参考にして、Azure AD B2Cテナントの作成を進めたいと思います。

>1.Azure portal にサインインします。 
サブスクリプション内、またはサブスクリプション内のリソース グループ内で共同作成者以上のロールが割り当てられている Azure アカウントでサインインします。

いきなり、補足、、となりますが、Azure AD B2C はサブスクリプションベースのサービスとなります。後続の作業で、作成したAzure AD B2Cテナントをサブスクリプションに紐づける作業がございます。この紐づける作業を実施する為に、サブスクリプションの共同作成者以上のロールが割り当てられているAzureアカウントでサインインします。また、Azure AD B2Cの課金は、割り当てたサブスクリプションに紐づきます。

下記が、共同作成者の確認画面となります。
<img width="600" alt="0.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/06c40f89-5cfa-8e60-9e5d-5c56364931b2.png">

2.Azure portal メニュー上または [ホーム] ページから [リソースの作成] を選択します。

<img width="227" alt="1.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/1e5ec67d-c464-1689-55e2-4b4f6c06d2d7.png">

3.検索ボックスに、「Azure Active Directory B2C」と入力すると検索が実行されます。

<img width="158" alt="2.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/76d95b94-d23c-2283-0d72-bd8800bb6e7d.png">

4.表示された Azure Active Directory B2Cの[作成]をクリック。

<img width="226" alt="3.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/8525d1d8-3405-9424-540c-4fd06df068e7.png">

5.[新しいAzure AD B2Cテナントを作成する]をクリック。

<img width="295" alt="4.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/8fdb8f4b-ec7e-e1de-b546-dabe192b7dba.png">

6.任意の「組織名(ディレクトリ名)」「初期ドメイン名」「リージョン」を入力、選択してから、「作成」をクリックします。*初期ドメインは、後のディレクトリ名となります。

<img width="393" alt="5.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/1a5c87fb-b18e-ee1f-7125-c9d449fbbb57.png">

7.下記画面の[ここ]をクリック。

<img width="381" alt="6.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/36163c1d-a546-2787-9f44-14ea1e875308.png">

8.作成が完了すると"サブスクリプションを確認してください。"と表示されますので、このまま手順9に進んでください。

<img width="519" alt="7.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/31139aef-d499-33e8-2bde-aac463332b84.png">

9.Azure Portalの上部検索ボックスより[サブスクリプション]を検索して、[サブスクリプション]をクリック。

<img width="306" alt="8.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/56805466-3425-3d0b-ce55-8a65776357e8.png">

10.追加画面が表示されますので、[追加]をクリック。

<img width="142" alt="9.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/07c4a297-929f-b4e5-35cf-4197c0f757d2.png">

11.任意のプランを選択。(私のサブスクリプションは、従量課金となっておりますので、従量課金を選択しています。)

<img width="481" alt="10.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/b880b89c-c85a-ece5-29a4-3bf77b3db08e.png">

12."支払情報"、"テクニカルサポートを追加する"を確認して、[サインアップ]をクリック。

<img width="351" alt="11.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/c1a1f34e-090d-2224-c7ff-be77674269d1.png">

13.クイックスタートセンターが表示されますので、[ホーム]をクリック。

<img width="170" alt="12.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/dce2e970-7e41-4904-ddda-c7993d1a6a36.png">

14.検索ボックスに、「Azure Active Directory B2C」と入力して、表示された Azure Active Directory B2Cの[作成]をクリック。(手順３と同じ作業となります。)

<img width="227" alt="13.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/bf59b869-b434-73e0-fab7-0eea84a7d082.png">

15.[既存のAzure AD B2CテナントをAzureサブスクリプションにリンクする]をクリック。

<img width="295" alt="14.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/1d4b3cb6-c87c-cf66-ef7f-5929339d0f84.png">

16.手順6で作成したディレクトリ名、手順１で選択したサブスクリプション、リソースグループ、場所を選択して、[作成]をクリック。

<img width="441" alt="15.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/493448c7-b55b-aed0-6ddd-4b3b2aa6f141.png">

17.作成が完了すると通知が出ますので、[ダッシュボードにピン留めする]をクリック。

<img width="253" alt="16.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/25d03fe4-6d20-b09f-40d9-2009293e0258.png">

18.マイダッシュボードにピン留めさせた[B2Cテナント]をクリック。

<img width="163" alt="17.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/6769a9a2-9f68-826b-ae28-609aaefe365d.png">

19.表示された[Azure AD B2C 設定]をクリック。

<img width="242" alt="18.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/00880b2c-3516-5a19-c555-81713cde26fe.png">

20.Azure AD B2Cのトップ画面が表示されます。サブスクリプションIDが登録済みとなり、請求可能な単位とドメイン名が表示され、テナント作成は完了となります。

<img width="666" alt="19.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/7a030cc2-b42e-7d71-3266-9124a488aef1.png">

Azure AD B2C テナント作成が完了致しましたので、次は、クイックスタートを利用して様々なアプリケーションの登録作業を実施していきたいと思います。

(補足)Azure AD B2C:Extensions アプリ
---
テナント作成が完了するとB2C:Extensions アプリが自動的に作成されます。

<img width="700" alt="20.install.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/579284/1dd0eee9-44f9-f828-cc2c-d867c6fc0e27.png">

正体は下記となります。

>Azure AD B2C ディレクトリが作成されるとき、b2c-extensions-app. Do not modify. Used by AADB2C for storing user data. というアプリがその新しいディレクトリ内に自動で作成されます。 このアプリは b2c-extensions-app と呼ばれ、 [アプリの登録] に表示されます。 Azure AD B2C はこのアプリを使用して、ユーザーとカスタム属性の情報を保存します。 このアプリを削除してしまうと、Azure AD B2C が正しく機能しなくなり、運用環境に影響が出ます。

最後に
---
キーポイントは、Azure AD B2C テナントは、サブスクリプションベースとなり、紐づけるサブスクリプションが必要となる事です。後は、テナント作成手順に従って、進めて行けば、問題ないと思います。B2Cは、社内ユーザーだけでなく、コンシューマー向けも含まれますので、ユーザーの幅が広がりますので、一度、試してみるのもいいかと思います。

最後に、私の記事が、少しでも皆様のお役に立てれば、幸いでございます。