次の方法で共有


Azure Active Directory B2C のポリシー キーの概要

重要

2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください

開始する前にこのページの上部にある ポリシーの種類 セレクターを使用して、設定するポリシーの種類を選択します。 Azure Active Directory B2C には、ユーザーがアプリケーションを操作する方法を定義する 2 つの方法 (定義済みのユーザー フローを使用する、または完全に構成可能なカスタム ポリシーを使用する) があります。 この記事で必要な手順は、方法ごとに異なります。

この機能は、カスタム ポリシーでのみ使用できます。 セットアップ手順については、前のセレクターで [カスタム ポリシー] を選択します。

Azure Active Directory B2C (Azure AD B2C) は、統合するサービスとの信頼を確立するために、ポリシー キーの形式でシークレットと証明書を格納します。 これらの信託は以下のとおりです。

  • 外部 ID プロバイダー
  • REST API サービスを使用した接続
  • トークンの署名と暗号化

この記事では、Azure AD B2C で使用されるポリシー キーについて知っておくべきことについて説明します。

現在、ポリシー キーの構成は カスタム ポリシー のみに制限されています。

Azure portal の [ポリシー キー ] メニューで、サービス間の信頼を確立するためのシークレットと証明書を構成できます。 キーは対称でも非対称でもかまいません。 対称 暗号化 (秘密キー暗号化) は、共有シークレットを使用してデータの暗号化と暗号化解除の両方を行います。 非対称 暗号化 (公開キー暗号化) は、証明書利用者アプリケーションと共有される公開キーと、Azure AD B2C でのみ認識される秘密キーで構成されるキーのペアを使用する暗号化システムです。

ポリシー キー セットとキー

Azure AD B2C のポリシー キーの最上位リソースは、 Keyset コンテナーです。 各キーセットには、少なくとも 1 つの キーが含まれています。 キーには次の属性があります。

特性 必須 注釈
use イエス 使用法: 公開キーの使用目的を識別します。 データ encの暗号化、またはデータ sigの署名の検証。
nbf いいえ アクティブ化の日付と時刻。 オーバーライド値は、管理者が手動で設定できます。
exp いいえ 有効期限の日付と時刻。 オーバーライド値は、管理者が手動で設定できます。

PKI 標準に従って、キーのアクティブ化と有効期限の値を設定することをお勧めします。 セキュリティまたはポリシー上の理由から、これらの証明書を定期的にローテーションすることが必要になる場合があります。 たとえば、毎年すべての証明書をローテーションするポリシーがあるとします。

キーを作成するには、次のいずれかの方法を選択できます。

  • 手動 - 定義した文字列を使用してシークレットを作成します。 シークレットは対称キーです。 アクティブ化と有効期限を設定できます。
  • 生成 - キーを自動生成します。 アクティブ化と有効期限を設定できます。 次のような 2 つのオプションがあります。
    • シークレット - 対称キーを生成します。
    • RSA - キー ペア (非対称キー) を生成します。
  • アップロード - 証明書または PKCS12 キーをアップロードします。 証明書には、秘密キーと公開キー (非対称キー) が含まれている必要があります。

キーのロールオーバー

セキュリティ上の理由から、Azure AD B2C はキーを定期的に、または緊急の場合は直ちにロールオーバーできます。 Azure AD B2C と統合されるアプリケーション、ID プロバイダー、または REST API は、発生する頻度に関係なく、キー ロールオーバー イベントを処理するように準備する必要があります。 それ以外の場合、アプリケーションまたは Azure AD B2C が期限切れのキーを使用して暗号化操作を実行しようとすると、サインイン要求は失敗します。

Azure AD B2C キーセットに複数のキーがある場合、次の条件に基づいて、一度にアクティブになるキーは 1 つだけです。

  • キーのアクティブ化は、 アクティブ化日に基づいています。

    • キーはアクティブ化日で昇順に並べ替えられます。 アクティブ化の日付が将来に進むキーは、一覧の下に表示されます。 アクティブ化日のないキーは、一覧の一番下にあります。
    • 現在の日付と時刻がキーのアクティブ化日より大きい場合、Azure AD B2C はキーをアクティブ化し、以前のアクティブなキーの使用を停止します。
  • 現在のキーの有効期限が経過し、キー コンテナーに有効な nbf (前ではない)exp (有効期限) の時刻を持つ新しいキーが含まれている場合、新しいキーは自動的にアクティブになります。 新しいトークンは、新しくアクティブなキーで署名されます。 期限切れのキーは、管理者が無効になるまでトークン検証のために公開したままにすることができますが、 これはサポート要求を提出して要求する必要があります。

  • 現在のキーの有効期限が切れた時点で、キー コンテナーに "期間の開始日時" と "有効期限" 日時が有効な新しいキーが含まれて "いない" 場合、Azure AD B2C は有効期限が切れたキーを使用できなくなります。 Azure AD B2C は、カスタム ポリシーの依存コンポーネント内でエラー メッセージを生成します。 この問題を回避するには、アクティブ化と有効期限のない既定のキーをセーフティ ネットとして作成します。

  • OpenId Connect の既知の構成エンドポイントにあるキーのエンドポイント (JWKS URI) は、 JwtIssuer 技術プロファイルでキーが参照されているときに、キー コンテナーで構成されたキーを反映します。 OIDC ライブラリを使用するアプリケーションは、このメタデータを自動的にフェッチして、正しいキーを使用してトークンを検証するようにします。 詳細については、常に最新のトークン署名キーを自動的にフェッチする Microsoft 認証ライブラリを使用する方法について説明します。

Azure AD B2C でのキー ロールオーバーのプロセスを説明する図。

キー キャッシュ

キーがアップロードされると、キーのアクティブ化フラグが既定で false に設定されます。 その後、このキーの状態を [有効] に設定できます。 有効で有効なキー (現在の時刻が NBF と EXP の間) の場合、キーが使用されます。

キーの状態

アクティブ化フラグ プロパティは、Azure portal UX 内で変更できます。これにより、管理者はキーを無効にしてローテーションから除外できます。

ポリシー キーの管理

キー コンテナー内の現在のアクティブなキーを取得するには、Microsoft Graph API getActiveKey エンドポイントを 使用します。

署名キーと暗号化キーを追加または削除するには:

  1. Azure portal にサインインします。
  2. 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選択し、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
  3. Azure portal で、 [Azure AD B2C] を検索して選択します。
  4. 概要ページの Policiesで、Identity Experience Frameworkを選択します。
  5. ポリシー キーの選択
    1. 新しいキーを追加するには、[ 追加] を選択します。
    2. 新しいキーを削除するには、キーを選択し、[削除] を選択 します。 キーを削除するには、削除するキー コンテナーの名前を入力します。 Azure AD B2C はキーを削除し、.bak のサフィックスを付けたキーのコピーを作成します。

キーを置き換える

キーセット内のキーは、交換または取り外しできません。 既存のキーを変更する必要がある場合:

  • アクティブ化の日付が現在の日付と時刻に設定された新しいキーを追加することをお勧めします。 Azure AD B2C によって新しいキーがアクティブ化され、以前のアクティブ なキーの使用が停止されます。
  • または、正しいキーを使用して新しいキーセットを作成することもできます。 新しいキーセットを使用するようにポリシーを更新し、古いキーセットを削除します。