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以外の対応方法もあると思うので、今度他の手段がないか調べてみようと思います。