条件付きアクセス: 認証フロー (プレビュー)
Microsoft Entra ID は、さまざまな認証と認可フローをサポートし、すべてのアプリケーションとデバイスの種類にわたってシームレスなエクスペリエンスを提供します。 これらの認証フローの中には、他の認証フローよりもリスクが高いものもあります。 セキュリティ体制をより詳細に制御できるように、Microsoft は条件付きアクセスに特定の認証フローを制御する機能を追加しています。 この制御は、デバイス コード フローを明示的にターゲットにする機能から始まります。
デバイス コード フロー
デバイス コード フローは、共有デバイスやデジタル サイネージなどのローカル入力デバイスがない可能性があるデバイスにサインインする際に使用されます。 デバイス コード フローは、フィッシング攻撃の一部として、またはアンマネージド デバイス上の企業リソースにアクセスするために使用される可能性がある、リスクの高い認証フローです。 デバイス コード フロー制御は、条件付きアクセス ポリシーの他の制御と共に構成することができます。 たとえば、デバイス コード フローを Android ベースの会議室デバイスに使用する場合は、特定のネットワークの場所内の Android デバイスを除くすべての場所でデバイス コード フローをブロックすることを選択できます。
デバイス コード フローを許可するのは必要な場所においてだけにする必要があります。 Microsoft は、可能な限りデバイス コード フローをブロックすることを推奨しています。
認証転送
認証転送は、認証された状態をあるデバイスから別のデバイスにシームレスに転送する方法を提供する新しいフローです。 たとえば、ユーザーに Outlook のデスクトップ バージョン内で QR コードを表示して、ユーザーのモバイル デバイスでそれがスキャンされたときに、ユーザーの認証された状態をモバイル デバイスに転送することができます。 この機能により、ユーザーにとっての全体的な摩擦レベルを低減するシンプルで直観的なユーザー エクスペリエンスが提供されます。
認証転送を制御する機能は、プレビュー段階で、条件付きアクセスの認証フロー条件を使用してこの機能を管理します。
プロトコル追跡
条件付きアクセス ポリシーが指定された認証フローで正確に適用されていることを確認するには、プロトコル追跡と呼ばれる機能を使用します。 この追跡は、デバイス コード フローまたは認証転送を使用するセッションに適用されます。 このようなケースでは、セッションはプロトコル追跡されていると見なされます。 プロトコル追跡されているセッションは、ポリシーが存在する場合、ポリシーの適用の対象となります。 プロトコル追跡状態は、後に更新を行っても維持されます。 非デバイス コード フローまたは認証転送フローは、セッションがプロトコル追跡されている場合、認証フロー ポリシーの適用の対象となる可能性があります。
次に例を示します。
- SharePoint を除くすべての場所でデバイス コード フローをブロックするようにポリシーを構成します。
- デバイス コード フローを使用して、構成されたポリシーで許可されているとおりに SharePoint にサインインします。 この時点で、セッションはプロトコル追跡されていると見なされます
- デバイス コード フローだけでなく、何らかの認証フローを使用して、同じセッションのコンテキスト内で Exchange にサインインしようとします。
- セッションのプロトコル追跡状態が原因で、構成されたポリシーによってブロックされます
サインイン ログ
デバイス コード フローを制限またはブロックするようにポリシーを構成する場合は、組織でデバイス コード フローが使用されているかどうか、およびどのように使用されているかを把握することが重要です。 レポート専用モードで条件付きアクセス ポリシーを作成したり、認証プロトコル フィルターを使用してデバイス コード フロー イベントがないかサインイン ログをフィルター処理することが役に立ちます。
プロトコル追跡関連のエラーのトラブルシューティングを支援するために、Microsoft は、条件付きアクセス サインイン ログのアクティビティの詳細セクションに、元の転送方法と呼ばれる新しいプロパティを追加しました。 このプロパティは、問題の要求のプロトコル追跡状態を表します。 たとえば、デバイス コード フローが以前に実行されたセッションの場合、元の転送方法はデバイス コード フローに設定されます。
デバイス登録サービス リソースに対する認証フロー ポリシーの適用
2024 年 9 月上旬から、Microsoft はデバイス登録サービスに対する認証フロー ポリシーの適用を開始します。 これは、リソース ピッカー内のすべてのリソースを対象とするポリシーにのみ適用されます。 現在、組織がデバイス登録のためにデバイス コード フローを使用していて、すべてのリソースを対象とする認証フロー ポリシーがある場合は、影響を回避するために、条件付きアクセス ポリシーのスコープからデバイス登録リソースを除外する必要があります。 Device Registration Service リソースは、条件付きアクセス ポリシー構成エクスペリエンス内にある [ターゲット リソース ] オプションで確認できます。 条件付きアクセス UX を使用してデバイス登録サービスを除外するには、[ターゲット リソース] -[除外] ->>[除外されたクラウド アプリの選択] ->[デバイス登録サービス] に移動する必要があります。 API の場合は、デバイス登録サービスのクライアント ID (01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9) を除外してポリシーを更新する必要があります。
組織がデバイス登録サービスに対してデバイス コード フローを使用しているかどうかわからない場合は、Microsoft Entra サインイン ログ を使用してこれを確認できます。 そこでは、リソース ID フィルターで Device Registration Service クライアント ID をフィルター処理し、認証プロトコル フィルター内の [デバイス コード] オプションを使用してデバイス コード フローの使用状況に絞り込むことができます。
予期しないブロックのトラブルシューティング
条件付きアクセス ポリシーによってサインインが予期せずブロックされた場合は、そのポリシーが認証フロー ポリシーであるかどうかを確認する必要があります。 この確認を行うには、[サインイン ログ] に移動し、ブロックされたサインインをクリックして、[アクティビティの詳細: サインイン] ペインの [条件付きアクセス] タブに移動します。 適用されたポリシーが認証フロー ポリシーである場合は、ポリシーを選択して、どの認証フローが一致したのかを特定します。
デバイス コード フローが一致していたにも関わらず、デバイス コード フローがそのサインインに対して実行されたフローではなかった場合は、更新トークンがプロトコル追跡されたことを意味します。 このケースを確認するには、ブロックされたサインインをクリックし、[アクティビティの詳細: サインイン] ペインの [基本情報] 部分で [元の転送方法] プロパティを検索します。
Note
プロトコル追跡セッションによるブロックは、このポリシーで予期される動作です。 推奨される修復方法は存在しません。