Azure Active Directory B2C を利用する
チュートリアル – Azure Active Directory B2C テナントを作成する | Microsoft Learn
Azure Active Directory B2Cとは?
Azure Active Directory B2C(Azure AD B2C)は、Microsoft Azureのサービスの1つで、顧客向けの認証とアクセス管理を提供するクラウドベースのIdentity as a Service(IDaaS)プラットフォームです。
Azure AD B2Cを使用すると、企業は顧客に対して強力な認証機能を提供し、アプリケーションやサービスへの安全なアクセスを確保できます。主な機能としては以下が挙げられます:
- カスタマイズ可能な認証と登録フロー: Azure AD B2Cは、企業が自社のブランドや要件に合わせて、カスタムの認証および登録フローを作成できるように設計されています。これにより、ユーザーエクスペリエンスを向上させることができます。
- ソーシャル IDプロバイダの統合: Azure AD B2Cは、ソーシャル IDプロバイダ(Facebook、Google、Microsoftなど)との統合をサポートしています。これにより、ユーザーは既存のソーシャルアカウントを使用してログインできます。
- 多要素認証のサポート: Azure AD B2Cは、セキュリティを強化するための多要素認証をサポートしています。ユーザーは、SMS、電子メール、アプリによる認証コードの送信などの方法で追加の認証ステップを設定できます。
- APIとの統合: Azure AD B2Cは、RESTful APIを介してアプリケーションとの統合を容易にします。これにより、既存のアプリケーションや新しい開発プロジェクトでの利用が可能になります。
- スケーラビリティとセキュリティ: Azureのインフラストラクチャを利用することで、高いスケーラビリティとセキュリティを実現します。また、ISO 27001、SOC 2、GDPRなどのセキュリティ規格に準拠しています。
Azure AD B2Cは、顧客向けのアプリケーションやサービスに対する認証とアクセス管理を強化し、セキュアでユーザーフレンドリーなエクスペリエンスを提供することを目的としています。
Azure Active Directory B2Cのディレクトとテナントとは?
Azure Active Directory B2C(Azure AD B2C)における「ディレクトリ」と「テナント」は、しばしば同じ意味で使われることがありますが、基本的な概念を理解することが重要です。
ディレクトリ
ディレクトリは、Azure Active Directory (Azure AD) のインスタンスを指します。これは、ユーザー、グループ、アプリケーションなどのアイデンティティ情報を管理するためのクラウドベースのサービスです。ディレクトリは、これらのアイデンティティ情報を格納し、認証や権限付与などのアイデンティティ関連のサービスを提供します。
テナント
テナントは、Azure ADのディレクトリ内に存在する専用のインスタンスまたは環境です。テナントは組織の境界を定義し、その中のユーザーやアプリケーションがどのように管理されるかを決定します。Azure AD B2Cのコンテキストでは、テナントは通常、特定の顧客向けアプリケーションのユーザー管理を担当し、外部アイデンティティプロバイダー(ソーシャルログインなど)からの認証情報を統合します。
Azure AD B2C テナント
Azure AD B2C テナントは、消費者向けアプリケーション(ビジネスから消費者へのアプリケーション)のアイデンティティとアクセス管理を専門に扱う特別なタイプのテナントです。これにより、企業はカスタマイズされたユーザー登録、ログインプロセス、プロファイル管理を実装でき、消費者が様々なソーシャルメディアアカウントを使用してアプリケーションにアクセスできるようになります。
ディレクトリとテナントの関係
ディレクトリはサービスそのものを指し、テナントはそのサービスの中で独立して管理されるひとつの実体です。Azure AD B2Cの場合、ディレクトリはAzure ADのクラウドサービス全体を指し、テナントは特定の顧客やアプリケーション専用のディレクトリのインスタンスとして機能します。各テナントは独自のポリシー、ユーザー設定、認証方法を持つことができます。
このように、Azure AD B2Cでは、テナントを使って異なる顧客やアプリケーションごとにアイデンティティとアクセスの管理を分離し、効率的に運用することが可能です。
Azure AD B2C テナントは通常のAzure Active Directory (Azure AD) テナントと違う?
Azure AD B2C テナントは通常のAzure Active Directory (Azure AD) テナントとは別に作成する必要があります。この区別は、それぞれのテナントが提供するサービスの種類と使用目的が異なるためです。
- 目的:
- Azure AD テナントは主にビジネス内部の従業員や関連企業間のアイデンティティとアクセス管理に使用されます。企業リソースへのアクセス管理や、従業員向けのシングルサインオン(SSO)などの機能を提供します。
- Azure AD B2C テナントは、消費者(顧客、クライアント、一般ユーザー)向けのアイデンティティ管理を目的としており、外部ユーザーが企業のアプリケーションやサービスにアクセスするためのサインアップやサインインのプロセスを管理します。
- ユーザー管理:
- Azure ADは企業内部のユーザーを管理するためのツールが充実しており、組織のセキュリティポリシーに基づいてアクセスを厳格に制御します。
- Azure AD B2Cは、大規模なユーザーベースを持つ公開向けアプリケーションでの使用に最適化されており、カスタマイズ可能なユーザー体験を提供し、さまざまなソーシャルアカウントを通じた認証をサポートします。
- セットアップと管理:
- 各テナントは独立しており、それぞれの目的に応じた設定やポリシーが適用されます。これにより、企業は内部リソースと顧客向けサービスの両方で、適切なセキュリティとユーザーマネジメントを実施できます。
- 料金体系:
- Azure ADとAzure AD B2Cは異なる料金体系を持っており、使用状況に応じてコストが異なります。B2Cは認証操作ごとに課金されることが多く、ユーザーベースが大きいほどコストが増加します。
Azure ADテナントとAzure AD B2C テナントの分離のセキュリティ観点の意義
セキュリティの観点からも、組織内のリソースアクセスと公開アプリケーションのユーザー管理を分離することは理にかなっています。また、異なる目的と機能を持つこれらのテナントを一緒に管理することは、運用上の複雑さを増す可能性があり、エラーやセキュリティリスクを引き起こす可能性があります。したがって、目的に応じたテナントの分離は、効果的な管理とセキュリティ維持のために推奨されます。
Azure Active Directory B2C (Azure AD B2C) テナントの作成と管理について
主要なポイントは以下の通りです:
- テナントの作成と登録: アプリケーションがAzure AD B2Cとやりとりするためには、管理しているテナントにそれを登録する必要があります。
- テナントとサブスクリプションのリンク: テナントはAzureのサブスクリプションにリンクされ、Azureポータルで「お気に入り」として追加することができます。
- テナント作成の制限: サブスクリプションあたり最大20個のテナントを作成できます。これは、サービス拒否攻撃から保護するための措置です。制限を超える必要がある場合は、Microsoftサポートに連絡する必要があります。
- オブジェクトの上限: テナントは標準で最大125万個のオブジェクトを持つことができ、カスタムドメインを追加することで525万個まで増加可能です。2022年9月以前に作成されたテナントにはこの制限が適用されず、5000万個のオブジェクトまで保持できます。
- テナントの削除と再利用: テナントを削除し、そのドメイン名を再利用したい場合は、「Already in use by another directory」と表示されることがあります。これを解決するためには、テナントを完全に削除し、再利用する前にサインアウトして再度サインインする必要があります。これには「サブスクリプション管理者」のロールが必要です。
Azure AD B2Cを実際にためしてみる
Azure Active Directoryを選択する
切り替える場合は、Switchボタンをクリックする
Resource Providerを登録する
Subscripttionを選択する
左メニューのSettings > Resource Providerを選択する
Microsoft.AzureActiveDirectoryを検索する
Registeredになっていない場合は、登録する
Azure Active Directory B2Cリソースを作成する
ホームからリソース追加ボタンをクリックする
Azure Active Directory B2Cを検索する
生成する
Azure AD B2Cテナントを作成する
Azure AD B2C専用のテナントを作る必要がある
ディレクトリの作成
[ディレクトリの作成] ページで次の手順を実行します。
- [組織名] には、Azure AD B2C テナントの名前を入力します。:s3lab b2c
- [初期ドメイン名] には、Azure AD B2C テナントのドメイン名を入力します。jpcos3labb2c
- [場所] で、該当する国/リージョンを一覧から選択します。 :Japan
- 選択した国/リージョンに Go-Local アドオン オプションがあり (日本やオーストラリアなど)、その国/リージョンにのみデータを保存したい場合は、[上で選択した場所に、Microsoft Entra コア ストア データと Microsoft Entra コンポーネントとサービス データを保存します] チェック ボックスをオンにします。 Go-Local アドオンは有料アドオンであり、その料金は Azure AD B2C Premium P1 または P2 ライセンス料金に追加されます。課金モデルに関するセクションを参照してください。 Azure AD B2C テナントを作成した後は、データ所在地のリージョンを変更することはできません。: No
- [サブスクリプション] には、一覧から自分のサブスクリプションを選択します。: Azure subscription 1
- [リソース グループ] には、テナントが含まれるリソース グループを選択または検索します。: health-data-service1