2024年3月19日火曜日

Entra IDの新しい条件付きアクセスを試す(デバイスコードフロー編)

こんにちは、富士榮です。

そういえばEntra IDの条件付きアクセスに新しい条件が追加されましたね。
今回追加されたのは認証フローという条件で、
  • デバイスコードフロー
  • 認証の転送
の2つの条件をサポートしています。


関連するドキュメントはこちらにあります。

デバイスコードフローはともかく「認証の転送」とは??という疑問はもっともですが、簡単にいうとPCブラウザ等でログインを求められる際にQRコードなどでモバイルデバイスを呼び出してモバイルデバイス側で認証する、という構成を想定した条件です。(Outlookとかであるはず)

当該する条件に合致するときにブロックしたり多要素認証を要求したりすることができるのがこの条件付きアクセスという機能なので、きっとそのようなシナリオがどこかであったんだと思います。(ちなみにこの機能を使うにはAzure Active Directory Premium P1が必要です)

ということでポリシーを作ってみます。
今回はデバイスコードフローをブロックするシナリオで試してみましょう。
条件としては、
  • 全てのユーザが
  • デバイスコードフロー用のテストアプリにアクセスしようとした場合
  • 認証フローが「デバイスコードフロー」だったら
  • アクセスをブロックする
というポリシーを作ってみました。
(上記のスクリーンショットのもの)

ということでアクセスしてみます。
デバイスコードフローなので
https://login.microsoftonline.com/{テナントID}/oauth2/v2.0/devicecode
に対してclient_idとscopeをx-www-form-urlencodedでPOSTしてあげるだけですね。

こんな感じでPostmanでリクエストをしてみます。

あとはレスポンスの中にあるverification_uriにアクセスしてuser_codeを入れてあげれば認証完了です。(通常はこのレスポンスをQRコードにして表示してスマホで読み込んだりさせます)
今回はそのままverification_uriを開いてみます。

そしてuser_codeを入れるとログインが求められます。

今回はデバイスコードフローをブロックするのでポリシーが正常に動いていればアクセスがブロックされます。



条件付きアクセスは色々と新しい条件がついていてかなりきめ細かいアクセス制御ができるようになってきています。
アプリケーションの利用シーン(環境など)をベースにいろいろなポリシーを構成してみてください。





0 件のコメント: