次の方法で共有


プライマリ更新トークン (PRT) について

プライマリ更新トークン (PRT) は、サポートされているバージョンの Windows、iOS/macOS、Android、Linux での Microsoft Entra 認証の重要な成果物です。 PRT は、これらのデバイスで使用されるアプリケーション全体でシングル サインオン (SSO) を有効にするために、Microsoft ファースト パーティ トークン ブローカーに特別に発行されるセキュリティで保護された成果物です。 この記事では、PRT を発行、使用、保護する方法について説明します。これにより、セキュリティが強化され、アプリケーション間でシングル サインオン (SSO) が有効になります。

この記事では、Microsoft Entra ID で使用できるさまざまなデバイスの状態と、Windows でのシングル サインオンのしくみを既に理解していることを前提としています。 Microsoft Entra ID のデバイスの詳細については、「Microsoft Entra ID でのデバイス管理とは」を参照してください。

主要な用語とコンポーネント

次の Windows コンポーネントは、プライマリ更新トークン (PRT) の要求と使用において重要な役割を果たします。

用語 説明
クラウド認証プロバイダー (CloudAP) CloudAP は、Windows サインイン用の最新の認証プロバイダーであり、ユーザーが Windows 10 以降のデバイスにログインしていることを確認します。 ID プロバイダーは、CloudAP が提供するプラグイン フレームワークを利用して、その ID プロバイダーの資格情報を使った Windows への認証を有効にすることができます。
Web アカウント マネージャー (WAM) WAM は、Windows 10 以降のデバイスの既定のトークン ブローカーです。 また ID プロバイダーは、WAM が提供するプラグイン フレームワークを利用して、その ID プロバイダーを利用しているアプリケーションへの SSO を有効にすることができます。
Microsoft Entra CloudAP プラグイン Windows サインイン中に Microsoft Entra ID を使用してユーザー資格情報を検証する CloudAP フレームワーク上に構築された Microsoft Entra 固有のプラグイン。
Microsoft Entra WAM プラグイン 認証に Microsoft Entra ID に依存するアプリケーションへの SSO を可能にする WAM フレームワーク上に構築された Microsoft Entra 固有のプラグイン。
Dsreg すべてのデバイス状態のデバイス登録プロセスを処理する、Windows 10 以降の Microsoft Entra 固有のコンポーネント。
トラステッド プラットフォーム モジュール (TPM) TPM は、ユーザーとデバイスのシークレットに対してハードウェア ベースのセキュリティ機能を提供するデバイスに組み込まれているハードウェア コンポーネントです。 詳細については、「トラステッド プラットフォーム モジュール技術概要」の記事を参照してください。

PRT は何に使用されますか?

  • シングル Sign-On (SSO) - ユーザーがデバイスにサインインすると、PRT により、ユーザーが資格情報を再入力しなくても、Microsoft 365、Azure、およびその他のクラウド アプリにアクセスできるようになります。 Office、Microsoft Edge、Teams などのアプリは、ブローカーを介して PRT を使用してユーザーをサイレント認証し、ユーザー エクスペリエンスを向上させ、複数のサインインの必要性を減らし、生産性を向上させます。
  • トークンの取得 - PRT は、Windows Web アカウント マネージャー (WAM) または他のプラットフォーム上のブローカー プラグインを使用して、さまざまなサービス (Outlook、Teams、SharePoint など) のアクセス トークンと更新トークンを要求するために使用されます。
  • 条件付きアクセス コンプライアンス - デバイスとユーザーの要求を保持します。この要求は、条件付きアクセス ポリシーを適用するために Microsoft Entra ID によって評価されます (準拠しているデバイスや MFA などを要求する場合など)。

PRT の種類は何ですか?

大まかに言えば、2 種類の PRT 成果物があります。

  • 登録済みデバイス PRT は 、関連付けられた Microsoft Entra ID を持つデバイスにバインドされます。
  • 未登録のデバイス PRT は 、Microsoft Entra ID を持たないデバイスにバインドされます。この ID は、クライアントによって生成されたデバイス上の暗号化キー ペアに関連付けられています。

クライアントは、可能な限り常に "登録済みデバイス PRT" の使用を試みます。 PRT がデバイス登録ポリシーを満たすのは、登録済みデバイスに対して発行されている場合のみです。 未登録のデバイス PRT は、ユーザーが個人用デバイスのブラウザーにサインインしたときや、デバイス登録をサポートしていないアプリにユーザーがサインインしたときなど、デバイスに Microsoft Entra ID がないシナリオで使用されます。

PRT の内容を見ることはできますか?

PRT は Microsoft Entra から送信される不透明な BLOB であり、その内容はどのクライアント コンポーネントにも知られることはありません。 PRT 内の内容は表示されません。

PRT はどのようにして発行されますか?

登録済みデバイス PRT の場合、PRT は登録済みデバイス上のユーザーに発行されます。 デバイス登録の詳細については、「Windows Hello for Business とデバイスの登録」の記事を参照してください。 デバイス登録中、dsreg コンポーネントによって暗号化キーの組が 2 セット生成されます。

  • デバイス キー (dkpub/dkpriv)
  • トランスポート キー (tkpub/tkpriv)

デバイスに有効で機能する TPM/セキュア ハードウェア ストレージがある場合、秘密キーは、サポートされているプラットフォーム上のデバイスの Secure Storage にバインドされます。 公開キーは、PRT 要求中にデバイスの状態を検証するために、デバイス登録プロセス中に Microsoft Entra ID に送信されます。

PRT は、Microsoft Entra ID ブローカーが存在する場合にのみ発行できます。 Broker は、macOS と Linux の Intune ポータル サイト、iOS 上の Authenticator、Authenticator、Windows へのリンク、Android 上のポータル サイトの各アプリで配布されるコンポーネントです。 Mac では、モバイル デバイス管理 (MDM) が SSO 拡張機能プロファイルと共にブローカーをアクティブ化するために必要です: Apple SSO プラグイン

PRT は Windows 10 以降のデバイス上でのユーザー認証中に発行され、2 つのシナリオがあります。

  • Microsoft Entra 参加済み または Microsoft Entra ハイブリッド参加済み: ユーザーが組織の資格情報でサインインすると、Windows サインイン中に PRT が発行されます。 PRT は、パスワードや Windows Hello for Business など、Windows 10 以降でサポートされているすべての資格情報と共に発行されます。 このシナリオでは、Microsoft Entra CloudAP プラグインが PRT の主要な機関です
  • Microsoft Entra 登録済みデバイス: ユーザーが Windows 10 以降のデバイスにセカンダリ職場アカウントを追加すると、PRT が発行されます。 ユーザーは、次の 2 つの方法で Windows 10 以降にアカウントを追加できます。
    • アプリ (Outlook など) にサインインした後で、 [組織がデバイスを管理できるようにする] プロンプトからアカウントを追加する
    • [設定]>[アカウント]>[Access Work or School](職場または学校にアクセスする)>[接続] からアカウントを追加する

Microsoft Entra 登録済みデバイス のシナリオでは、Windows サインインがこの Microsoft Entra アカウントで行われていないため、Microsoft Entra WAM プラグインは PRT の主要な機関です。

ブラウザーの動作

Windows 以外のプラットフォームでは、ブラウザーは複数の方法で PRT にアクセスできます。

  • Windows 上の Microsoft Edge、iOS、Android、および Firefox on Windows は、ブローカーからブラウザーに PRT をプルします
  • iOS および macOS では、SSO 拡張機能プロファイルのインストール時にブラウザーで PRT を取得することもできます。これにより、次の機能が有効になります。
    • macOS での Chrome と Firefox のサポート
    • iOS と macOS の両方での Safari サポート

サポートされているブラウザーの一覧については、以下を参照してください。 サポートされているブラウザー

Microsoft 以外の ID プロバイダーとの Entra フェデレーションを有効にしているお客様は、Windows 10 以降のデバイスで PRT 発行を有効にするために、WS-Trust プロトコルをサポートするようにこれらの ID プロバイダーを構成する必要があります。 フェデレーション ケースの WS-Trust がないと、Microsoft Entra ハイブリッド参加済みデバイスまたは Microsoft Entra 参加済みデバイスのユーザーに PRT を発行することはできません。

ADFS の場合、 usernamemixed エンドポイントが必要です。 Windows サインイン中に Smartcard/certificate を使用する場合は、 certificatemixed エンドポイントを ADFS で構成する必要があります。 windowstransport は、イントラネットに接続するエンドポイントとしてのみ有効にする必要があり、Web アプリケーション プロキシを介してエクストラネットに接続するエンドポイントとして 公開しないでください

MICROSOFT Entra 条件付きアクセス ポリシーは、PRT の発行時には評価されません。

Microsoft Entra PRT の発行と更新については、Microsoft 以外の資格情報プロバイダーはサポートされていません。

PRT はどのように使用されますか?

Windows で、PRT は 2 つの主要コンポーネントによって使用されます。

  • Microsoft Entra CloudAP プラグイン:Windows サインイン時に、Microsoft Entra CloudAP プラグインは、ユーザーが入力した資格情報を使用して Microsoft Entra ID に PRT を要求します。 また、PRT をキャッシュして、ユーザーがインターネット接続にアクセスできないときのキャッシュ サインインを有効にします。
  • Microsoft Entra WAM プラグイン: ユーザーがアプリケーションにアクセスしようとすると、Microsoft Entra WAM プラグインは PRT を使用して、Windows 10 以降で SSO を有効にします。 Microsoft Entra WAM プラグインは、トークン要求に WAM を使用するアプリケーションに対して、PRT を使用して更新トークンおよびアクセス トークンを要求します。 また、ブラウザーの要求に PRT を挿入して、ブラウザー上で SSO を有効にします。 Windows 10 以降のブラウザー SSO は、Microsoft Edge (ネイティブ)、Chrome ( Windows 10 アカウント 拡張機能経由)、Mozilla Firefox v91+ (Firefox Windows SSO 設定) でサポートされています。

    ユーザーが同じ Microsoft Entra テナントの 2 つのアカウントでブラウザー アプリケーションにサインインしている場合、プライマリ アカウントの PRT が提供するデバイス認証は、2 つ目のアカウントにも自動的に適用されます。 その結果、2 番目のアカウントも、テナントのデバイスベースの条件付きアクセス ポリシーに適合します。

PRT の有効期間はどれくらいですか?

発行後、PRT は 90 日間有効であり、ユーザーがデバイスをアクティブに使用している限り、継続的に更新されます。 組織では、サインイン頻度セッション制御を使用して PRT セッションの有効期間を制限できます

PRT はどのように更新されますか?

Windows プラットフォーム

PRT は、次の 2 つの異なる方法で更新されます。

  • Microsoft Entra CloudAP プラグインによる 4 時間ごとの更新 : CloudAP プラグインは、Windows サインイン中、4 時間ごとに PRT を更新します。 その時点でユーザーがインターネットに接続していない場合でも、デバイスがインターネットに接続されて新たに Windows にサインインすると、CloudAP プラグインが PRT を更新します。
  • アプリのトークン要求時の Microsoft Entra WAM プラグインによる更新 WAM プラグインは、Windows 10 以降のデバイスでアプリケーションに対するサイレント トークン要求を可能にすることで、SSO を実現します。 WAM プラグインは、これらのトークン要求中に 2 つの異なる方法で PRT を更新できます。
    • アプリが WAM に対してサイレントにアクセス トークンを要求するが、そのアプリ用の更新トークンが存在しない場合。 この場合、WAM は PRT を使用してアプリのトークンを要求し、応答で新しい PRT を再取得します。
    • アプリが WAM にアクセス トークンを要求するが、PRT が無効であるか、Microsoft Entra ID が追加の認証 (たとえば、Microsoft Entra の多要素認証) を要求している場合。 このシナリオでは、WAM は対話型サインインを開始し、ユーザーが再認証または追加の検証を行う必要があり、認証が成功すると新しい PRT が発行されます。

ADFS 環境では、ドメイン コントローラーに直接アクセスして PRT を更新する必要はありません。 PRT の更新には、WS-Trust プロトコルを使用して、プロキシ上で /adfs/services/trust/2005/usernamemixed/adfs/services/trust/2005/usernamemixed および /adfs/services/trust/13/usernamemixed エンドポイントのみが有効になっていれば十分です。

Windows トランスポート エンドポイントは、パスワードが変更された場合にのみパスワード認証に必要であり、PRT の更新には必要ありません。

重要な考慮事項

  • Microsoft Entra に参加済みおよび Microsoft Entra ハイブリッド参加済みのデバイスでは、CloudAP プラグインが PRT のプライマリ機関となります。 WAM ベースのトークン要求中に PRT が更新された場合、PRT は CloudAP プラグインに返送され、受け入れ前に Microsoft Entra ID での PRT の有効性が検証されます。

MICROSOFT Entra 条件付きアクセス ポリシーは、PRT が更新されるときに評価されません。

PRT はどのように保護されますか?

PRT は、ユーザーがサインインしたデバイスにバインドすることで保護されます。この場合、使用可能でサポートされている場合はハードウェア バインドが使用されます。

Microsoft Entra ID と Windows 10 以降では、次の方法によって PRT 保護を有効にします。

  • 初回サインイン中: 初回サインイン中、暗号化形式でデバイス登録中に生成されたデバイス キーを使用して要求に署名することによって PRT が発行されます。 TPM が有効に動作しているデバイスでは、デバイス キーは TPM によってセキュリティで保護され、悪意のあるアクセスを防ぎます。 対応するデバイス キーの署名を検証できない場合、PRT は発行されません。
  • トークンの要求および更新中: PRT が発行されると、Microsoft Entra ID は暗号化されたセッション キーもデバイスに発行します。 それは生成されたパブリック トランスポート キー (tkpub) を使用して暗号化され、デバイス登録の一環として Microsoft Entra ID に送信されます。 このセッション キーは、TPM によってセキュリティで保護されたプライベート トランスポート キー (tkpriv) によってのみ復号化できます。 セッション キーは、Microsoft Entra ID に送信されるすべての要求に対しての所有証明 (POP) キーです。 セッション キーも TPM によって保護され、他の OS コンポーネントからアクセスできません。 トークン要求または PRT 更新要求は、TPM を使用してこのセッション キーによって安全に署名されるため、改ざんできません。 Microsoft Entra では、対応するセッション キーによって署名されていないデバイスからの要求が無効になります。

これらのキーを TPM で保護することで、キーの窃取や PRT のリプレイを試みる悪意のある攻撃者から PRT のセキュリティを強化できます。 そのため、TPM を使用することで、Microsoft Entra 参加済みデバイス、Microsoft Entra hybrid 参加済みデバイス、および Microsoft Entra 登録デバイスの認証情報窃取に対するセキュリティが大幅に向上します。 パフォーマンスと信頼性の観点から、Windows 10 以降のすべての Microsoft Entra デバイス登録シナリオでは、TPM 2.0 の使用が推奨されています。 Windows 10、1903 の更新後、Microsoft Entra ID では、信頼性の問題のため、上記のキーに TPM 1.2 は使用されません。

アプリ トークンはどのように保護されますか?

トークンの一般的な保護方法の概要については、Microsoft Entra ID でのトークンの保護に関するページを参照してください。

  • アプリが WAM を介してトークンを要求すると、Microsoft Entra ID はアクセス トークンを発行し、一部の種類の要求では更新トークンを発行します。 ただし、WAM はアクセス トークンのみをアプリに返し、更新トークンをセキュリティで保護します。
    • SSO ユーザーの更新トークンである場合、この更新トークンは、セッション キー (PRT と同じ) またはデバイス キーを使用してデバイスにバインドされます。
    • SSO 以外のユーザーの更新トークンである場合、この更新トークンはデバイスにバインドされません。
  • すべての更新トークンは DPAPI によって暗号化されます。

ブラウザーの Cookie の保護方法

  • Windows 10 以降では、Microsoft Entra ID は、ネイティブサポートまたは 拡張機能 を介して Google Chrome で、ブラウザー設定を介して Mozilla Firefox v91+ で、Microsoft Edge でブラウザー SSO をネイティブにサポートしています。 Cookie だけでなく Cookie が送信されるエンドポイントも保護するようにセキュリティが構築されています。
  • ユーザーがブラウザーの対話を開始すると、ブラウザー (または拡張機能) によって プラットフォーム API が呼び出されます。 拡張機能は、ネイティブ メッセージング ホストを介してこの API を呼び出します。 API は、ページが許可されているドメインの 1 つからのものであることを確認します。 ブラウザーは、nonce を含む完全なクエリ文字列を送信します。 プラットフォーム API は、TPM で保護されたキーで署名された PRT およびデバイス ヘッダーを作成します。 PRT ヘッダーはセッション キーによって署名され、デバイス ヘッダーはデバイス キーによって署名されるため、改ざんが困難です。 これらのヘッダーは、送信元のデバイスとユーザーを検証するための Microsoft Entra ID のすべての要求に含まれます。 Microsoft Entra ID は、これらのヘッダーを検証すると、ブラウザーにセッション Cookie を発行します。 このセッション Cookie には、要求の署名に使用したのと同じセッションまたはデバイス キーも含まれています。 後続の要求の間、セッション キーが検証されます。このとき、Cookie は事実上デバイスにバインドされ、他の場所からの再生を防ぎます。

PRT が MFA 要求を受けるのはいつですか?

特定のシナリオで、PRT が多要素認証要求を受けることがあります。 アプリケーションのトークンを要求するために MFA ベースの PRT が使用されると、MFA 要求がアプリ トークンに転送されます。 この機能は、それが必要なすべてのアプリでの MFA チャレンジを防ぐことによって、シームレスなエクスペリエンスをユーザーに提供します。 PRT は次の方法で MFA 要求を取得できます。

  • Windows Hello for Business を使用してサインイン: Windows Hello for Business は、パスワードを置き換え、暗号化キーを使用して強力な 2 要素認証を提供します。 Windows Hello for Business はデバイス上のユーザーに固有であり、それ自体がプロビジョニングのために MFA を必要とします。 ユーザーが Windows Hello for Business を使用してログインすると、ユーザーの PRT が MFA 要求を取得します。 このシナリオは、スマート カード認証が ADFS から MFA 要求を生成する場合に、スマート カードを使用してログインするユーザーにも適用されます。
    • Windows Hello for Business は多要素認証と見なされ、PRT 自体が更新されると MFA 要求が更新されるため、ユーザーが Windows Hello for Business を使用してサインインすると MFA の期間は継続的に延長されます。
  • WAM 対話型サインイン中の MFA: WAM を通じたトークン要求中に、ユーザーがアプリにアクセスするために MFA を実行する必要がある場合、この対話中に更新される PRT には MFA 要求が刻印されます。
    • この場合、MFA 要求は継続的に更新されないため、MFA 期間はディレクトリで設定された有効期間に基づきます。
    • 以前の既存の PRT と RT がアプリへのアクセスに使用されている場合、PRT と RT は最初の認証の証明と見なされます。 2 番目の証明と刻印された MFA 要求で、新しい RT が必要になります。 このプロセスにより、新しい PRT と RT も発行されます。
  • Windows 10 以降では、PRT のパーティション分割されたリストを資格情報ごとに保持します。 したがって、Windows Hello for Business、パスワード、またはスマート カードのそれぞれに PRT があります。 このパーティション分割により、使用する資格情報に基づいて MFA 要求が分離され、トークン要求中に混同されないことが保証されます。

パスワードを使用して Windows 10 以降の Microsoft Entra 参加済みデバイスまたは Microsoft Entra ハイブリッド参加済みデバイスにサインインする場合、ユーザーがそのセッション内で 2FA プロセスに合格したかどうかに応じて、PRT に関連付けられているセッション キーがロールされた後に、WAM 対話型サインイン中の MFA が必要になることがあります。

PRT はどのようにして無効になりますか?

次のシナリオでは、PRT が無効になります。

  • 無効なユーザー: ユーザーが Microsoft Entra ID で削除または無効化された場合、そのユーザーの PRT は無効になり、アプリケーションのトークンを取得するために使用できません。 削除または無効化されたユーザーがデバイスに既にサインインしていた場合、CloudAP が無効状態を認識するまで、そのユーザーはキャッシュ サインインによってログイン可能です。 CloudAP は、ユーザーが無効であると判断すると、それ以降のログオンをブロックします。 無効なユーザーは、資格情報がキャッシュされていない新しいデバイスへのサインインを自動的にブロックされます。
  • 無効なデバイス: Microsoft Entra ID でデバイスが削除または無効化された場合、そのデバイスで取得された PRT は無効になり、他のアプリケーションのトークンを取得するために使用できません。 無効なデバイスにユーザーが既にサインインしている場合、その状態を継続できます。 ただし、デバイス上のすべてのトークンは無効になり、ユーザーはそのデバイスのリソースに対する SSO を失います。
  • パスワードの変更: ユーザーがパスワードを使用して PRT を取得した場合、ユーザーがパスワードを変更すると、Microsoft Entra ID によって PRT が無効になります。 パスワードを変更すると、ユーザーは新しい PRT を取得することになります。 この無効化は、次の 2 とおりの方法で発生します。
    • ユーザーが新しいパスワードで Windows にサインインした場合、CloudAP は古い PRT を破棄し、新しいパスワードに対する PRT を Microsoft Entra ID に要求します。 ユーザーがインターネットに接続していない場合、新しいパスワードを検証できないため、Windows は古いパスワードの入力をユーザーに要求することがあります。
    • ユーザーが古いパスワードを使用してログインしていたか、または Windows へのサインイン後にパスワードを変更した場合、WAM ベースのトークン要求には古い PRT が使用されます。 このシナリオでは、ユーザーは WAM トークンの要求中に再認証を求められ、新しい PRT が発行されます。
  • TPM に関する問題: デバイスの TPM の不具合または故障により、TPM で保護されているキーにアクセスできなくなることがあります。 この場合、暗号キーの所有を証明できないため、デバイスは PRT を取得できず、既存の PRT を使用してトークンを要求することもできません。 その結果、既存の PRT はすべて Microsoft Entra ID. によって無効化されます。 Windows 10 が障害を検出すると、新しい暗号化キーを使用してデバイスを再登録するための復旧フローが開始します。 Microsoft Entra ハイブリッド 参加済みの場合は、初回登録時と同様、ユーザーによる入力なしでサイレントに回復が行われます。 Microsoft Entra 参加済みまたは Microsoft Entra 登録済みデバイスの場合、そのデバイスに対する管理者特権を持つユーザーが復旧を実行する必要があります。 このシナリオでは、復旧フローは、デバイスを正常に復旧できるようユーザーをガイドする Windows プロンプトによって開始されます。

詳細なフロー

以下の図は、アプリケーションのアクセス トークンを要求するために PRT を発行、更新、および使用する際の基本的な詳細を示しています。 さらに、これらの手順では、前述のセキュリティ メカニズムがこれらの操作中にどのように適用されるかについても説明します。

初回サインイン中の PRT 発行

初回サインイン中の PRT 発行の詳細フロー

Microsoft Entra 参加済みデバイス内では、ユーザーが Windows にサインインする前に、Microsoft Entra PRT の発行 (手順 A から F) が同期的に行われます。 Microsoft Entra ハイブリッド参加済みデバイスでは、オンプレミスの Active Directory がプライマリ機関となります。 そのため、ユーザーは、サインインする TGT を取得した後、Microsoft Entra ハイブリッド参加済み Windows にサインインできますが、PRT 発行は非同期的に行われます。 サインインでは Microsoft Entra 資格情報が使用されないため、このシナリオは Microsoft Entra 登録済みデバイスには適用されません。

Microsoft Entra ハイブリッド参加済みの Windows 環境では、PRT が非同期で発行されます。 フェデレーション プロバイダーに問題がある場合、PRT の発行に失敗することがあります。 このエラーにより、ユーザーがクラウド リソースにアクセスしようとすると、サインオンの問題が発生する可能性があります。 フェデレーション プロバイダーでこのシナリオのトラブルシューティングを行う必要があります。

ステップ 説明
A ユーザーがサインイン UI で自分のパスワードを入力します。 LogonUI は認証バッファー内の認証情報を LSA に渡し、LSA はそれを内部で CloudAP に渡します。 CloudAP はこの要求を CloudAP プラグインに転送します。
B CloudAP プラグインは、ユーザーの ID プロバイダーを識別するためにレルム検出要求を開始します。 ユーザーのテナントにフェデレーション プロバイダーのセットアップがある場合、Microsoft Entra ID はフェデレーション プロバイダーの Metadata Exchange (MEX) エンドポイントを返します。 そうでない場合、Microsoft Entra ID はユーザーが管理対象であることを返し、ユーザーを Microsoft Entra ID で認証できることを示します。
C ユーザーがマネージド ユーザーの場合、CloudAP は Microsoft Entra ID からノンスを取得します。 ユーザーがフェデレーション ユーザーの場合、CloudAP プラグインはユーザーの認証情報を使用して、フェデレーション プロバイダーから SAML (Security Assertion Markup Language) トークンを要求します。 ノンスは、SAML トークンが Microsoft Entra ID に送信される前に要求されます。
D CloudAP プラグインは、ユーザーの資格情報、ノンス、ブローカー スコープを含む認証要求を構築し、デバイス キー (dkpriv) を使用してその要求に署名したうえで、Microsoft Entra ID に送信します。 フェデレーション環境では、CloudAP プラグインは、ユーザーの資格情報ではなく、フェデレーション プロバイダーによって返される SAML トークンを使用します。
E Microsoft Entra ID は、ユーザーの資格情報、nonce、およびデバイスの署名を検証し、デバイスがテナント内で有効であることを確認し、暗号化された PRT を発行します。 Microsoft Entra ID は、PRT と共に、セッション キーと呼ばれる対称キーも発行します。これは、トランスポート キー (tkpub) を使用して Microsoft Entra ID によって暗号化されます。 さらに、セッション キーも PRT に埋め込まれます。 このセッション キーは、PRT を使用した後続の要求に対する所有証明 (PoP) キーとして機能します。
F CloudAP プラグインは、暗号化された PRT とセッション キーを CloudAP に渡します。 トランスポート キー (tkpriv) を使用してセッション キーを復号化し、TPM 自身のキーを使用してそれを再暗号化するよう、CloudAP が TPM に要求します。 CloudAP は、暗号化されたセッション キーをそのキャッシュに PRT と共に保存します。

後続のログオンでの PRT 更新

後続のログオンでの PRT 更新

ステップ 説明
A ユーザーがサインイン UI で自分のパスワードを入力します。 LogonUI は認証バッファー内の認証情報を LSA に渡し、LSA はそれを内部で CloudAP に渡します。 CloudAP はこの要求を CloudAP プラグインに転送します。
B ユーザーが以前にこのセッションにサインインしたことがある場合、Windows はキャッシュ サインインを開始し、資格情報を検証してユーザーをログインさせます。 4 時間ごとに、CloudAP プラグインは PRT の更新を非同期的に開始します。
C CloudAP プラグインは、ユーザーの ID プロバイダーを識別するためにレルム検出要求を開始します。 ユーザーのテナントにフェデレーション プロバイダーのセットアップがある場合、Microsoft Entra ID はフェデレーション プロバイダーの MEX (Metadata Exchange) エンドポイントを返します。 そうでない場合、Microsoft Entra ID はユーザーが管理対象であることを返し、ユーザーを Microsoft Entra ID で認証できることを示します。
D ユーザーがフェデレーションされている場合、CloudAP プラグインはユーザーの認証情報を使用して SAML トークンをフェデレーション プロバイダーから要求します。 ノンスは、SAML トークンが Microsoft Entra ID に送信される前に要求されます。 ユーザーが管理対象の場合、CloudAP は直接、Microsoft Entra ID からノンスを取得します。
E CloudAP プラグインは、ユーザーの資格情報、ノンス、既存の PRT を使用して認証要求を構築し、セッション キーを使用して要求に署名し、それを Microsoft Entra ID に送信します。 フェデレーション環境では、CloudAP プラグインは、ユーザーの資格情報ではなく、フェデレーション プロバイダーによって返される SAML トークンを使用します。
F Microsoft Entra ID は、PRT に埋め込まれたセッション キーと比較することによってセッション キーの署名を検証し、ノンスを検証し、デバイスがテナント内で有効であることを確認したうえで、新しい PRT を発行します。 前述のように、PRT はやはり、トランスポート キー (tkpub) によって暗号化されたセッション キーを伴います。
G CloudAP プラグインは、暗号化された PRT とセッション キーを CloudAP に渡します。 CloudAP は TPM に要求して、トランスポート キー (tkpriv) を使用してセッション キーを復号化し、TPM 自身のキーを使用してそれを再暗号化します。 CloudAP は、暗号化されたセッション キーをそのキャッシュに PRT と共に保存します。

エンドポイントが外部で有効になっている場合、VPN 接続を必要とせずに PRT を外部で更新できます。

アプリ トークン要求中の PRT 使用状況

アプリ トークン要求中の PRT 使用状況

ステップ 説明
A Microsoft Outlook などのアプリケーションは、WAM へのトークン要求を開始します。 WAM はさらに、トークン要求の処理を Microsoft Entra WAM プラグインに依頼します。
B アプリケーションの更新トークンが既に利用可能な場合、Microsoft Entra WAM プラグインはそれを使用してアクセス トークンを要求します。 デバイス バインディングの証明を提供するために、WAM プラグインはセッション キーを使用して要求に署名します。 Microsoft Entra ID はセッション キーを検証し、アプリのアクセス トークンと新しい更新トークンを、セッション キーによって暗号化して発行します。 WAM プラグインはトークンの復号化を CloudAP プラグインに要求し、次に CloudAP プラグインがセッション キーを使用した復号化を TPM に要求します。その結果、WAM プラグインは両方のトークンを取得します。 次に、WAM プラグインはアクセス トークンのみをアプリケーションに提供する一方で、更新トークンを DPAPI で再暗号化してそれ自身のキャッシュに保存します
C アプリケーションの更新トークンを使用できない場合、Microsoft Entra WAM プラグインは PRT を使用してアクセス トークンを要求します。 所有の証明を提供するために、WAM プラグインはセッション キーを使用して、PRT が含まれている要求に署名します。 Microsoft Entra ID は、PRT に埋め込まれたセッション キーと比較することによってセッション キーの署名を検証し、デバイスが有効であることを確認し、アプリケーションのアクセス トークンと更新トークンを発行します。 さらに、Microsoft Entra ID は、セッション キーによって暗号化された新しい PRT (更新サイクルに基づく) を発行できます。
D WAM プラグインはトークンの復号化を CloudAP プラグインに要求し、次に CloudAP プラグインがセッション キーを使用した復号化を TPM に要求します。その結果、WAM プラグインは両方のトークンを取得します。 次に、WAM プラグインはアクセス トークンのみをアプリケーションに提供する一方で、更新トークンを DPAPI で再暗号化してそれ自身のキャッシュに保存します。 WAM プラグインはこのアプリケーションに対して、今後は更新トークンを使用します。 WAM プラグインはさらに、新しい PRT を CloudAP プラグインに返します。CloudAP プラグインは、自身のキャッシュ内でそれを更新する前に、Microsoft Entra ID で PRT を検証します。 これ以降、CloudAP プラグインは新しい PRT を使用します。
E WAM は、呼び出し元アプリケーションに新しく発行されたアクセス トークンを提供します。

PRT を使用したブラウザー SSO

PRT を使用したブラウザー SSO

ステップ 説明
A ユーザーは自分の資格情報を使用して Windows にログインし、PRT を取得します。 ユーザーがブラウザーを開くと、ブラウザー (または拡張機能) がレジストリから URL を読み込みます。
B ユーザーが Microsoft Entra サインイン URL を開くと、ブラウザーまたは拡張機能によって、レジストリから取得した URL が検証されます。 一致する場合、ブラウザーはトークンを取得するためにネイティブ クライアント ホストを呼び出します。
C ネイティブ クライアント ホストは、URL が Microsoft ID プロバイダー (Microsoft アカウントまたは Microsoft Entra ID) に属していることを検証し、URL から送信された nonce を抽出し、CloudAP プラグインの呼び出しを実行して PRT Cookie を取得します。
D CloudAP プラグインは、PRT Cookie を作成し、TPM バインド セッション キーを使用して署名し、ネイティブ クライアント ホストに送信します。
E ネイティブ クライアント ホストは、この PRT Cookie をブラウザーに返します。この Cookie は、x-ms-RefreshTokenCredential と呼ばれる要求ヘッダーの一部として含まれ、Microsoft Entra ID からトークンを要求します。
F Microsoft Entra ID は PRT Cookie のセッション キー署名を検証し、nonce を検証し、デバイスがテナント内で有効であることを確認し、Web ページの ID トークンと、ブラウザーの暗号化されたセッション Cookie を発行します。

前の手順で説明されているブラウザー SSO フローは、Microsoft Edge の InPrivate、Google Chrome のシークレット モード (Microsoft Accounts 拡張機能の使用時)、Mozilla Firefox v 91 以上のプライベート モードなどのプライベート モードのセッションには該当しません

次のステップ

PRT 関連の問題のトラブルシューティングについては、Windows 10 以降または Windows Server 2016 以降が稼働する Microsoft Entra ハイブリッド参加済みデバイスのトラブルシューティングに関する記事を参照してください。