Azure API Management で Azure Active Directory B2C を使用して開発者アカウントを承認する方法
適用対象: 開発者 | Basic | Basic v2 | Standard | Standard v2 | Premium
Azure Active Directory B2C は、コンシューマー向け Web アプリケーションおよびモバイル アプリケーション用のクラウド ID 管理ソリューションです。 これを使用して API Management 開発者ポータルへのアクセスを管理できます。
このチュートリアルでは、Azure Active Directory B2C との統合のために API Management サービスで必要な構成について説明します。
開発者ポータルをセキュリティで保護するためのオプションの概要については、API Management 開発者ポータルへのアクセスをセキュリティで保護するをご覧ください。
重要
前提条件
- アプリケーションを作成する Azure Active Directory B2C テナント。 詳細については、Azure Active Directory B2C の概要に関する記事をご覧ください。
- API Management インスタンス。 お持ちでない場合は、Azure API Management インスタンスを作成します。
サインアップとサインインのユーザー フローを設定する
このセクションでは、サインアップとサインイン ポリシーの両方が存在する Azure Active Directory B2C テナント内で、ユーザー フローを作成します。 詳しい手順は、Azure Active Directory B2C でユーザー フローとカスタム ポリシーを作成する方法に関する記事をご覧ください。
- Azure portal で、Azure Active Directory B2C テナントにアクセスします。
- [Policies](ポリシー) で [User flows](ユーザー フロー)>[+ New user flow](+ 新しいユーザー フロー) を順にクリックします。
- [ユーザー フローを作成する] ページで、 [サインアップとサインイン] ユーザー フローを選択します。 [推奨] バージョンを選択し、[作成] を選択します。
- [作成] ページで、次の情報を指定します。
- ユーザー フローの一意の名前を入力します。
- [Identity providers](ID プロバイダー) で [Email signup](メール サインアップ) をクリックします。
- [ユーザーの属性とトークンのクレーム] で、API Management 開発者ポータルに必要な、次の属性とクレームを選択します。
Collect 属性: Given Name (下の名前)、Surname (名字)
Return クレーム: Given Name (下の名前)、Surname (名字)、Email Addresses (メール アドレス)、User's ObjectID (ユーザーのオブジェクト ID)
- [作成] を選択します
開発者ポータルの ID プロバイダーを設定する
Azure portal で、API Management インスタンスに移動します。
[Developer portal](開発者ポータル) で [Identities](ID)>[+ Add](+ 追加) の順にクリックします。
[Add identity provider](ID プロバイダーの追加) ページで [Azure Active Directory B2C] をクリックします。 選択すると、他の必要な情報を入力できます。
- [クライアント ライブラリ] ドロップダウンで、[MSAL] を選択します。
- その他の設定を追加するには、この記事の後半の手順を参照してください。
[Add identity provider](ID プロバイダーの追加) ウィンドウで、 [Redirect URL](リダイレクト URL) をコピーします。
ブラウザーで、Azure portal の Azure Active Directory B2C テナントのタブに戻ります。 [App registrations](アプリの登録)>[+ New registration](+ 新しい登録) を順にクリックします。
[Register an application](アプリケーションの登録) ページでアプリケーションの登録情報を入力します。
- [Name](名前) セクションで選んだアプリの名前を入力します。
- [サポートされているアカウントの種類] セクションで、[(ユーザー フローを使用してユーザーを認証するための) 任意の組織のディレクトリのアカウント] を選択します。 詳細については、アプリケーションの登録に関するトピックを参照してください。
- [リダイレクト URI] で [シングルページ アプリケーション (SPA)] を選択し、前の手順で保存したリダイレクト URL を貼り付けます。
- [Permissions](権限) で [Grant admin consent to openid and offline_access permissions](openid および offline_access 権限に管理者の同意を与える) を選択します。
- [登録] を選択して、アプリケーションを作成します。
アプリの [Overview](概要) ページで [Application (client) ID](アプリケーション (クライアント) ID) を見つけて、その値をクリップボードにコピーします。
API Management の [Add identity provider](ID プロバイダーの追加) ページに戻り、ID を [Client Id](クライアント ID) 記入欄に貼り付けます。
登録した B2C アプリの画面に戻ります。 [Certificates & secrets]\(証明書 & シークレット\)>[+ New client secret]\(+ 新しいクライアント シークレット\) の順にクリックします。
- [Add a client secret](クライアント シークレットの追加) ページで [Description](説明) を入力して [Add](追加) をクリックします。
- 値を安全な場所に記録します。 このページからの移動後は、このシークレットの値は "二度と表示されません"。
API Management の [Add identity provider](ID プロバイダーの追加) ページに戻り、 [Client secret](クライアント シークレット) の入力欄にキーを貼り付けます。
[ID プロバイダーの追加] ページで続行します。
[Signin tenant](テナントへのサインイン) で、Azure Active Directory B2C テナントのドメイン名を指定します。
[Authority](拠点) フィールドでは、使用する Azure Active Directory B2C ログイン URL を指定できます。 値を <your_b2c_tenant_name>.b2clogin.com に設定します。
前の手順で作成したユーザー フローの名前を使用して、サインアップ ポリシーとサインイン ポリシーを指定します。
Profile Editing Policy (プロファイル編集ポリシー) と Password Reset Policy (パスワード リセット ポリシー) も、必要ならば指定します。
必要な構成内容を入力したら [Add](追加) をクリックします。
Azure AD B2C 構成を有効にするため、開発者ポータルを再発行します。 左側のメニューの [開発者ポータル] で、[ポータルの概要]>[発行] を選択します。
変更が保存されると、開発者は新しいアカウントを作成し、Azure Active Directory B2C を使用して開発者ポータルにサインインできるようになります。
MSAL に移行する
ADAL を使用してユーザー サインイン用に Azure AD B2C アプリを以前に構成した場合は、ポータルを使用してアプリを MSAL に移行し、API Management で ID プロバイダーを更新できます。
MSAL の互換性のために Azure AD B2C アプリを更新する
Azure AD B2C アプリを更新する手順については、リダイレクト URI のシングルページ アプリケーションの種類への切り替えに関するページを参照してください。
ID プロバイダーの構成を更新する
- API Management インスタンスの左側にあるメニューの [開発者ポータル] で、[ID] を選択します。
- リストから [Azure Active Directory B2C] を選択します。
- [クライアント ライブラリ] ドロップダウンで、[MSAL] を選択します。
- [更新] を選択します。
- 開発者ポータルを再発行します。
開発者ポータル - Azure Active Directory B2C アカウント認証の追加
重要
Azure Active Directory B2C の構成設定を作成したとき、または変更を有効にするためにこれを更新したときは、開発者ポータルを再公開する必要があります。
開発者ポータルでは、Sign-in button: OAuth (サインイン ボタン: OAuth) ウィジェットにより、Azure Active Directory B2C を利用したサインインができます。 このウィジェットは、既定の開発者ポータル コンテンツのサインイン ページに既に含まれています。
Azure Active Directory B2C を使用してサインインするには、 新しいブラウザー ウィンドウを開いて開発者ポータルに移動します。 [サインイン] をクリックします。
[Sign in](サインイン) ページで [Azure Active Directory B2C] をクリックします。
前のセクションで構成したサインアップ ポリシーにリダイレクトされます。 Active Directory B2C テナントのメール アドレスを使用してサインアップします。
サインアップが完了すると、開発者ポータルにリダイレクトされます。 これで、API Management サービス インスタンスの開発者ポータルにサインインしました。
新しいユーザーが Azure Active Directory B2C を使用してサインインするたびに新しいアカウントが自動的に作成される仕組みになってはいますが、同じウィジェットをサインアップ ページに追加することも検討できます。
サインアップ フォーム:OAuth ウィジェットでは、OAuth によるサインアップに使用されるフォームが示されます。
次のステップ
- Azure Active Directory B2C の概要
- Azure Active Directory B2C: 拡張可能なポリシー フレームワーク
- MSAL と MSAL v2 への移行の詳細を確認します
- Azure Active Directory B2C で ID プロバイダーとして Microsoft アカウントを使用する
- Azure Active Directory B2C で ID プロバイダーとして Google アカウントを使用する
- Azure Active Directory B2C で ID プロバイダーとして LinkedIn アカウントを使用する
- Azure Active Directory B2C で ID プロバイダーとして Facebook アカウントを使用する