条件付きアクセスについて、よく聞かれる質問と回答を記載します。
モバイルデバイス(iOS/Android)上のネイティブクライアント(アプリ等)を利用したデバイスベースの条件付きアクセスは、マイクロソフトのアプリのみ対応している、と考えておいたほうが良いかもしれません。
たとえば、Salesforce1等のネイティブアプリを利用する場合、「デバイスは準拠しているとしてマーク済みである必要があります」 という制限付きアクセス許可ルール対象である場合、アクセスはブロックされます。これは、Salesforce1(アプリ)が、デバイス証明書(iOSの場合キーチェーンに格納)にアクセスし、その証明書をAzure ADへ提示する(ことでアクセス元デバイス情報を伝える)必要があるのですが、モバイルOSのセキュリティ仕様上、デバイス証明書へアクセスできるアプリは限定されています。
- アプリがブローカー認証(代理認証のメカニズム)を実装することで、デバイスベースの条件付きアクセスが利用可能です。Microsoft Authenticator等が代理認証をすることで、デバイス証明書を取得し、それを通じてAzure ADへデバイス情報を伝える事が可能になります。
- System WebViewに対応することでも実現可能です。ブローカー認証のように、クロス アプリ SSOはできませんが、比較的簡単なアプリ変更でこちらは実装可能です。
デバイスベースの条件付きアクセスを利用したいアプリがそれに対応していない場合、利用企業よりアプリベンダーへ対応要望いただくことをお願いしています。
上記した制限事項は、ネイティブクライアントでデバイスベースの条件付きアクセスを利用するケースに限ります。
- サポートされているブラウザ(デバイス証明書にアクセス可能)はデバイスベースの条件付きアクセスを利用可能です
- 「多要素認証を要求する」場合には、ブローカー認証に対応していないネイティブクライアントからも利用可能です
デバイスベースの条件付きアクセス とは、以下のアクセス制御が設定された条件付きアクセスのことを指します。
- デバイスは準拠しているとしてマーク済みである必要があります
- ドメイン参加済みであることが必要 (ハイブリッド Azure AD)
条件付きアクセスで、全てのクラウドアプリへのアクセスをブロック、というポリシーが適用されている場合、Intuneへの登録が失敗します。
"Microsoft Intune Enrollment"クラウドアプリを対象外にしていても登録が失敗します。
これは、Intuneへの登録プロセスにおいて、Intune Company Portalアプリが"Microsoft Intune Enrollment"以外のクラウドアプリへアクセスする必要があるからです。そのクラウドアプリは、条件付きアクセスの対象外アプリとして選択することができません。
対処方法:全てのクラウドアプリへのアクセスをブロックする代わりに、デバイスは準拠しているとしてマーク済みである必要がありますを利用します。この場合、"Microsoft Intune Enrollment"クラウドアプリを対象外に設定せずともIntuneの登録は可能です。
レガシー認証を利用するプロトコル(POP3/IMAP等)でOutlookからExchange Onlineへアクセスする際、そのプロトコルではOS情報が必ずしも付帯されて送信されません。こういったことから、Azure ADはOS情報を知る術がないということになり、「デバイスプラットフォーム」条件に合致せず、意図するポリシーが適用されないことがあります。
対象方法としては、デバイスプラットフォーム条件にて「すべてのプラットフォーム (サポート対象外を含む)」を利用し、OS情報が認識されない場合にもポリシーが適用される(条件が合致する)ようにします。レガシー認証関連のポリシーのみではなく、一般的な条件付きアクセスポリシーを利用する際の一般的なベストプラクティスです。
「デバイスプラットフォーム」条件を100%信頼したポリシーデザインは、セキュリティ観点で好ましくありません。たとえば、利用者がアクセス元User-Agentを偽り、OS情報をご認識させてIT管理者が意図するポリシーをバイパスされてしまう可能性はゼロではありません。条件付きアクセスのOS情報の認識方法は、Azure ADが認識できるあらゆる情報(非公開)を使うことで精度を高めていますが、前述したようなリスクがゼロではないということをご認識ください。
Japan Azure Identity Support Blog より Azure AD の条件付きアクセスに関する Q&Aもご参考ください。