【Jamf Connect】 Microsoft Entra ID 条件付きアクセスの意図しないブロックを回避する 〜その1:概要編〜
Jamf Connect を導入する際、条件付きアクセスによる意図せぬブロックにあったり、多要素認証のエラーログが出て困っている方いませんか?
Microsoft Entra ID の条件付きアクセスは、クラウドアプリにゼロトラストのポリシーを適用することで組織のセキュリティを強化する役割を持っており、多くのお客様で導入されています。ただ、Jamf Connect と共に使用するには特別な設定が必要なケースがあります。
ざっくり言うと、「すべてのクラウドアプリ」を対象に条件付きアクセスポリシーを設定しているケースで、特に以下2つが挙げられます。
「すべてのクラウドアプリ」に対して多要素認証を要求するケース
→Jamf Connect MenuBarによるパスワード同期のバックグラウンド処理が多要素認証を行えず中断してしまい、サインインログに大量の中断のログが出力される。「すべてのクラウドアプリ」に対してデバイスの準拠を求めるケース
→Jamf Connect からはデバイス情報(準拠状況)の提示ができないため、条件付きアクセスのデバイスの準拠を求めるポリシーでブロックされる。
特別な設定って何ですか?という感じだと思いますが、その内容は・・・なんと、いつの間にやら Jamf Connect ドキュメントに書かれていました。(長らく対策が分からず色々と試行錯誤して導入していました。。)
https://learn.jamf.com/ja-JP/bundle/jamf-connect-documentation-current/page/Modifying_Jamf_Connect_for_Conditional_Access_Polices.html
ただ、リンク先にはスクリーンショットなどはなく、これだけ見ながら作業をするのは心もとないので、他にもわずかながらある資料(英語です・・・)の内容も確認しながら実際にやってみようと思います。
長くなりそうなので、その1: 概要編 (※本稿) と、 その2: 設定編 に分けて公開します。
<参考資料>
Jamf のGitHub
https://github.com/jamf/jamfconnect/tree/main/azure_conditional_access
ここにある 1〜4のPDFにある説明のとおりに実施すると今回ご案内する設定が完成します。YouTube : Jamf and Microsoft Entra ID Conditional Access | JNUC 2023
https://www.youtube.com/watch?v=D9-4miD-3pM
27〜38分くらいの約10分で、なぜこのような設定が必要なのか?について、(やや)わかりやすく説明されています。
1. はじめに: なぜこんな設定が必要なの?
Jamf Connectはクラウドアプリではないため、条件付きアクセスポリシーを直接適用することができません。
にもかかわらず、
「すべてのクラウドアプリ」の指定をするとクラウドアプリであるかのように条件付きアクセスポリシーによるアクセス判定が適用されます。
指定なしでポリシーが適用されてしまうにもかかわらず、例外にしたくてもクラウドアプリではないため、ポリシーの適用除外に指定することができません。
どうすればいいんだ・・・ということになります。
そのため、Jamf Connectによる利便性を保持しつつ、利用の障壁になるポリシーの適用を除外する対応が必要となります。
2. どうすればよいの?
Jamf Connectには、OIDC(OpenID Connect)とROPG(Resource Owner Password Grant)の2つの認証フローがあり、それぞれに対して対応が必要です。
問題のある状況
問題のある状況をイメージ図で表現すると以下のようになります。
パスワード同期チェックのためのバックグランドでの定期的なアプリへのアクセス(ROPGフロー)が多要素認証の失敗により中断されます。【上記図の①】
Macへのログイン時のアプリへのアクセス(OIDCフロー)は、デバイス情報(準拠状況)の提示ができないことでブロックされます。【上記図の②】
対応内容
この問題に対する、対応内容をイメージ図で表現すると以下のようになります。
【①MFA回避】
ROPGでの多要素認証の回避のため、カスタムセキュリティ属性を準備して回避します。
※超重要※
1点、上記のMFA回避をする上での前提があります。
この設定をする場合、ユーザごとの Entra ID 多要素認証は有効にしないでください。多要素認証はユーザごとの設定ではなく、条件付きアクセスポリシーのアクセス制御で要求してください。
【②準拠要求回避】
Jamf ConnectアプリへのOIDCフローを担当するカスタムAPIのプライベートアプリ(クラウドアプリとして指定可能)を用意し、この例の場合、必要な条件付きアクセスポリシー(MFA必須)は適用しつつ、不要な条件付きアクセスポリシー(準拠必須)からは対象外にします。
上記①・② の対応により、Jamf Connectのアプリを「すべてのクラウドアプリ」対象外にしています。
3. 対応に必要な設定の整理
上記の[イメージ:対応内容]の図の状態を実現するために必要な設定の手順は以下のとおりです。
設定手順
カスタム API を使用して「プライベートエンドポイント」アプリケーション登録を作成
カスタムスコープを呼び出す「パブリックエンドポイント」アプリケーション登録を作成
カスタムセキュリティ属性を作成し、アプリケーションに適用
「すべてのクラウドアプリ」に対して多要素認証を要求する Entra ID 条件付きアクセスポリシーを作成
「すべてのクラウドアプリ」に対してデバイスの準拠を要求する Entra ID 条件付きアクセスポリシーを作成
端末へ適用する構成プロファイルを作成し、展開
それぞれの手順が対応内容のどこの部分なのか、よくわかりませんね。。
対応内容のイメージ図にマッピングしてみます。
少し整理できたでしょうか。。
次回へ続く
この後設定が長くなるので、ここまでで一旦 概要編としてまとめます。
続きは 〜その2: 設定編〜 をご覧ください。
以上、 エンジニアの中峯が担当いたしました。
最後まで読んでいただき、ありがとうございました。
引き続き、〜その2: 設定編〜 もよろしくお願いいたします!