【AzureAD】servicenowの条件付きアクセスを設定してみた

ServicenowでSSO連携したので、条件付きアクセスを設定してみました。

SSOの設定は以下を参考にさせていただきました

>[Azure AD と ServiceNow を SAML 連携し、シングル サインオンとユーザー プロビジョニングができるまでの環境を一から構成する](https://qiita.com/Shinya-Yamaguchi/items/5dcdaae3b3abd2fc6a3b)

#条件付きアクセスの設定
まずユーザーを割り当てます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/961a152a-4905-a12a-0498-a6f614411a43.png)
クラウドアプリにServicenowを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/77e75737-57bd-6f0e-60f0-467d2f41182a.png)
対象デバイスプラットフォームは以下に設定しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/dee35206-aca5-ff0c-ae3c-32649ef372db.png)
場所はすべてに設定し、自宅のグローバルIPアドレスのみ対象外とします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/ea2b759c-46b4-a60d-f889-26720409e7eb.png)
クライアントアプリ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/62e359d9-fd2e-777f-9c32-b5da2c2e2481.png)
アクセス許可はintuneに準拠にしています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/57020ca5-00a9-5b75-0c88-65979cffe61b.png)

これで自社のIPアドレス（社内のIP）以外はintuneに準拠（登録）していないと
アクセスできなくなったはずですので早速iphoneで検証してみます。
#検証
###検証1　iphone：Microsoftedgeからのアクセス
URLにservicenowのURLを記入します
（edgeにはtestuserでサインインしています）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/e5411e6b-da04-7b68-3825-af2603cba8d0.png)
無事SSO出来ました（O365の認証も通らなかった。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/92591bf8-3874-cc07-3799-2e042a2ba99f.png)

###検証にservicenowアプリからのアクセス
ユーザ名にユーザIDをいれ、［外部ログインを使用］をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/3ffb848b-78f2-9ed2-6c30-87f40a74ab3a.png)
Office365にリダイレクトされるので、ユーザIDを入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/af0c6943-2e2c-d681-6895-0ef0b7561ff4.png)
パスワードを入力しサインインを押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/7bab2f70-a1c1-acae-5272-5f3423f2ba04.png)
条件付きアクセスでデバイスが準拠していないと判断され、拒否されてしまいました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/ab492618-b57a-9e29-6959-b9a92de84b1f.png)

Azureでサインインログを見て状況を確認します。

以下はServicenowのサインログですがEdge でアクセスしたときはデバイス情報がAzureADにわたっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/757e7e81-2c66-334d-d2f2-ee7a0f36ddab.png)
Servicenowアプリでアクセスしたときは、デバイス情報が渡っていません
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/bcafab84-9857-0082-91bd-796685193e28.png)

んー試しにMFAでやってみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/63306180-4370-9ca2-e133-c302e3caba5c.png)

servicenowアプリからユーザー名を入力し、O365の認証後、
以下メッセージが表示されました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/6b6c0935-b1f9-35a8-9ce0-03adda0daf25.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/21853b9a-845f-b8dc-e650-0d2c178d1360.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480057/a77a86ac-98aa-148b-fc00-34078291a8b2.png)

MFAだとログインできました。


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