Azure Active Directory B2C の開発者向けのメモ

Azure Active Directory B2C のユーザー フローとカスタム ポリシーが一般提供されました。 Azure AD B2C 機能は継続的に開発されているので、ほとんどの機能は一般提供されていますが、一部の機能はソフトウェア リリース サイクルの異なる段階にあります。 この記事では、Azure AD B2C の累積的な改善について説明し、機能の可用性を指定します。

パブリック プレビュー段階の機能に対する使用条件

  • パブリック プレビュー機能の使用は、評価目的のみで使用することが推奨されています。
  • サービス レベル アグリーメント (SLA) はパブリック プレビュー機能には適用されません。
  • パブリック プレビュー機能に対するサポート要求は、通常のサポート チャネルを通じて提出できます。

ユーザー フロー

機能 ユーザー フロー カスタム ポリシー Notes
メールとパスワードによるサインアップとサインイン GA GA
ユーザー名とパスワードによるサインアップとサインイン GA GA
プロファイル編集フロー GA GA
セルフサービス パスワード リセット GA GA
パスワードの強制的なリセット GA NA
電話によるサインアップとサインイン GA GA
条件付きアクセスと ID 保護 GA GA SAML アプリケーションでは使用できません

OAuth 2.0 アプリケーション認可フロー

Azure AD B2C と連携できる OAuth 2.0 および OpenId Connect アプリケーションの認証フローを、次の表にまとめています。

機能 ユーザー フロー カスタム ポリシー Notes
承認コード GA GA ユーザーが Web アプリケーションにサインインできます。 Web アプリケーションで認可コードを受け取ります。 承認コードと引き換えに、Web API を呼び出すためのトークンを取得します。
認可コードと PKCE GA GA ユーザーが、モバイルおよびシングルページ アプリケーションにサインインできます。 アプリケーションで Proof Key for Code Exchange (PKCE) を使用して認可コードを受け取ります。 承認コードと引き換えに、Web API を呼び出すためのトークンを取得します。
クライアントの資格情報フロー プレビュー プレビュー アプリケーションの ID を使用して Web 上のリソースにアクセスできます。 バックグラウンドでの実行が必要なサーバー間の相互作用に使用され、ユーザーとの即時の相互動作は必要ありません。
デバイス認可付与 NA NA ユーザーは、スマート TV、IoT デバイス、プリンターなどの入力制限のあるデバイスにサインインできます。
暗黙的なフロー GA GA ユーザーがシングルページ アプリケーションにサインインできます。 バック エンド サーバーと資格情報のやりとりをせずに、アプリで使用するトークンを直接取得します。
On-Behalf-Of NA NA アプリケーションでサービスまたは Web API を呼び出し、それがさらに別のサービスまたは Web API を呼び出す必要があります。

中間層のサービスから下流のサービスに対して認証要求を行うには、"クライアント資格情報" トークンを認可ヘッダーに埋め込みます。 必要に応じて、Azure AD B2C ユーザーのトークンを含むカスタム ヘッダーも使用できます。
OpenID Connect GA GA OpenID Connect には、ID トークンの概念が導入されています。ID トークンとは、クライアントがユーザーの本人性を確認できるセキュリティ トークンです。
OpenId Connect ハイブリッド フロー GA GA Web アプリケーションから認可要求を行って ID トークンと認可コードを取得できます。
リソース所有者のパスワード資格情報 (ROPC) GA GA モバイル アプリケーションで直接パスワードを処理して、ユーザーをサインインさせることができます。
サインアウト GA GA
シングル サインアウト NA プレビュー

OAuth 2.0 のオプション

機能 ユーザー フロー カスタム ポリシー Notes
サインインをソーシャル プロバイダーにリダイレクトする GA GA クエリ文字列パラメーター domain_hint
サインイン名を事前入力する GA GA クエリ文字列パラメーター login_hint
client_assertion を使用して JSON をユーザー体験に挿入 NA 非推奨
id_token_hint として JSON をユーザー体験に挿入する NA GA
ID プロバイダー トークンをアプリケーションに渡す プレビュー プレビュー 例: Facebook からアプリへ。
サインインしたままにする (KMSI) GA GA

SAML2 アプリケーションの認証フロー

Azure AD B2C と連携できる Security Assertion Markup Language (SAML) アプリケーションの認証フローを、次の表にまとめています。

機能 ユーザー フロー カスタム ポリシー Notes
SP 開始 NA GA POST とリダイレクトのバインディング。
IDP 開始 NA GA ID プロバイダーは Azure AD B2C です。

ユーザー エクスペリエンスのカスタマイズ

機能 ユーザー フロー カスタム ポリシー Notes
複数言語のサポート GA GA
カスタム ドメイン GA GA
カスタム メール確認 NA GA
組み込みテンプレートを使用したユーザー インターフェイスのカスタマイズ GA GA
カスタム テンプレートを使用したユーザー インターフェイスのカスタマイズ GA GA HTML テンプレートを使用します。
ページ レイアウト バージョン GA GA
JavaScript GA GA
埋め込みサインイン エクスペリエンス NA プレビュー インライン フレーム要素の <iframe> を使用します。
パスワードの複雑さ GA GA
メールの確認を無効にする GA GA 運用環境での使用はお勧めしません。 サインアップ プロセスでの電子メールの検証を無効にすると、スパムにつながる場合があります。

ID プロバイダー

機能 ユーザー フロー カスタム ポリシー Notes
AD FS NA GA
Amazon GA GA
Apple GA GA
Azure AD (シングルテナント) GA GA
Azure AD (マルチテナント) NA GA
Azure AD B2C GA GA
eBay NA プレビュー
Facebook GA GA
GitHub プレビュー GA
Google GA GA
ID.me GA GA
LinkedIn GA GA
Microsoft アカウント GA GA
QQ プレビュー GA
Salesforce GA GA
Salesforce (SAML プロトコル) NA GA
Twitter GA GA
WeChat プレビュー GA
Weibo プレビュー GA

汎用の ID プロバイダー

機能 ユーザー フロー カスタム ポリシー Notes
OAuth2 NA GA たとえば、GoogleGitHubFacebook などです。
OAuth1 NA GA たとえば、「Twitter」とします。
OpenID Connect GA GA たとえば、Azure AD などです。
SAML2 NA GA たとえば、SalesforceAD-FS などです。
WSFED NA NA

API コネクタ

機能 ユーザー フロー カスタム ポリシー Notes
API コネクタ プレビュー GA
基本認証を使用したセキュリティ保護 プレビュー GA
クライアント証明書認証を使用したセキュリティ保護 プレビュー GA
OAuth2 ベアラー認証を使用したセキュリティ保護 NA GA
API キー認証のセキュリティ保護 NA GA

カスタム ポリシー機能

セッションの管理

機能 カスタム ポリシー Notes
既定の SSO セッション プロバイダー GA
外部ログイン セッション プロバイダー GA
SAML SSO セッション プロバイダー GA
OAuth SSO セッション プロバイダー GA

Components

機能 カスタム ポリシー Notes
認証アプリで時間ベースのワンタイム パスワード (TOTP) を使用する MFA プレビュー ユーザーは、TOTP 検証をサポートする任意の認証アプリ (Microsoft Authenticator アプリなど) を使用できます。
電話要素認証 GA
Azure AD MFA 認証 プレビュー
ワンタイム パスワード GA
ローカル ディレクトリとしての Azure Active Directory GA
述語の検証 GA 例: パスワードの複雑さ。
表示コントロール GA
サブ体験 GA

開発者向けインターフェイス

機能 カスタム ポリシー Notes
Azure portal GA
Application Insights のユーザー体験ログ プレビュー 開発中のトラブルシューティングに使用される。
Application Insights のイベント ログ プレビュー 運用環境内でユーザー フローを監視するために使用される。

カスタム ポリシー機能セット開発者の責任

手動のポリシー構成で付与される Azure AD B2C の基になるプラットフォームへのアクセス レベルは低くなるため、信頼できる一意のフレームワークが作成されます。 カスタム ID プロバイダー、信頼関係、外部サービスとの統合、ステップバイステップのワークフローの起こり得る多くの配列には、設計および構成に対する系統的なアプローチが必要です。

カスタム ポリシーの機能セットを使用する開発者は、次のガイドラインに従う必要があります。

  • カスタム ポリシーとキー/シークレット管理の構成言語について理解を深める。 詳細については、「TrustFrameworkPolicy」を参照してください。
  • シナリオおよびカスタム統合の主導権を得る。 ご自分の作業内容を文書化し、ライブ サイト組織に通知します。
  • シナリオの体系的なテストを実行する。
  • ソフトウェア開発とステージングのベスト プラクティスに従ってください。 少なくとも 1 つの開発およびテスト環境が推奨されます。
  • ID プロバイダーによる新しい開発と、統合するサービスに関する情報を常に入手する。 たとえば、シークレットの変更や、サービスの予定された変更と予定外の変更を把握します。
  • アクティブな監視を設定し、運用環境の応答性を監視する。 Application Insights との統合の詳細については、Azure Active Directory B2C: ログの収集に関するページを参照してください。
  • Azure サブスクリプションの連絡先のメール アドレスを最新に保ち、Microsoft のライブ サイト チームのメールに対応できるようにしておく。
  • Microsoft ライブ サイト チームからのアドバイスがあった場合に、すぐに対処する。

次のステップ