ServicenowでSSO連携したので、条件付きアクセスを設定してみました。
SSOの設定は以下を参考にさせていただきました
Azure AD と ServiceNow を SAML 連携し、シングル サインオンとユーザー プロビジョニングができるまでの環境を一から構成する
条件付きアクセスの設定
まずユーザーを割り当てます。

クラウドアプリにServicenowを追加します。

対象デバイスプラットフォームは以下に設定しました。

場所はすべてに設定し、自宅のグローバルIPアドレスのみ対象外とします

クライアントアプリ

アクセス許可はintuneに準拠にしています

これで自社のIPアドレス(社内のIP)以外はintuneに準拠(登録)していないと
アクセスできなくなったはずですので早速iphoneで検証してみます。
検証
検証1 iphone:Microsoftedgeからのアクセス
URLにservicenowのURLを記入します
(edgeにはtestuserでサインインしています)

無事SSO出来ました(O365の認証も通らなかった。)

検証にservicenowアプリからのアクセス
ユーザ名にユーザIDをいれ、[外部ログインを使用]をクリック

Office365にリダイレクトされるので、ユーザIDを入力

パスワードを入力しサインインを押下

条件付きアクセスでデバイスが準拠していないと判断され、拒否されてしまいました。

Azureでサインインログを見て状況を確認します。
以下はServicenowのサインログですがEdge でアクセスしたときはデバイス情報がAzureADにわたっています。

Servicenowアプリでアクセスしたときは、デバイス情報が渡っていません

んー試しにMFAでやってみます。
servicenowアプリからユーザー名を入力し、O365の認証後、
以下メッセージが表示されました

MFAだとログインできました。
サードアプリはMSアプリのようにintuneに準拠させるのは簡単にいかないっぽいです。
確認したところ、intuneに準拠しているかを判断させるには AzureADにデバイス証明書を提示する必要があり、デバイス証明書はiphoneの場合キーチェーンに格納されているので、そこへアクセスする権限がないといけないようです。
サードアプリはそこへアクセスする権限がなくて、Azureアクセス時にデバイス情報がNULLとなり、条件付きアクセスでintuneに準拠していると判断されていないようです。
MFA以外の対応方法もあると思うので、今度他の手段がないか調べてみようと思います。


