Azure AD SSO で ServiceNow に接続（2022.2.11追記）

いきなり上級編に行くようですが・・・

https://docs.microsoft.com/ja-jp/azure/active-directory/saas-apps/servicenow-tutorial

こちらのチュートリアルをやってみる中で、調べた内容のメモです。
すんなり行くところは割愛します。

AADのエンタープライズ アプリケーションとして、ServiceNowを追加する。
AADにユーザを追加する。
ここまではOKです。

次に、ServiceNowエンタープライズ アプリケーションの設定として、シングルサインオンの構成をします。
チュートリアルの、「基本的な SAML 構成」のところですが、サインオンURLを入力する、となっています。
日本語表示だと崩れているので、英語表示にすると、こういうURLを入力する、と書かれています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77307/9f785a0d-02ac-bb69-b2cd-5be51732d9da.png)

```
https://<instance-name>.service-now.com/login_with_sso.do?glide_sso_id=<sys_id of the sso configuration>
```

instance-nameの方は自分が使っているServiceNowのURLを見れば分かりますが、sys_idは、後ろに出てくる「ServiceNow の構成」セクションのstep 5.d.iiiを見てくれ、とのことなので、先に、ServiceNow側で、「Integration - Multiple Provider Single Sign-On Installer」プラグインの有効化と、その設定として、「Multiple Provider SSO」を有効化しないといけません。
プラグイン有効化は、10分くらいかかったと思いますが、無事完了しました。

そしてプロパティ画面を開くわけですが、その画面は、このように表示されました。有効化のチェックボックスが押せません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77307/88e31c29-a77a-f905-b7b4-082d59102ae2.png)

先に「SSO Account Recovery (ACR) 」を有効にしないといけないそうです。
で、そちらのページに行きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77307/8199d4f3-a7e3-87af-3eb6-6e8f01dbe124.png)

このまま保存してみるとこんな感じ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77307/5488e732-5f45-5e2e-babb-75a4f02891e8.png)

素直にStep2に行ってみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77307/6f3c350d-9538-1ce5-5dda-80f2e2beca7d.png)

TOTPアプリが必要なのか・・・Microsoft Authenticatorは仕事で使っていて、何か影響すると嫌なので、新たにGoogleのを入れてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77307/3bdd7615-c9ce-b6f1-f510-2ef2e8068e5b.png)

保存したらエラーメッセージは表示されますが、有効にはなったようで、改めて、「Multiple Provider SSO Properties」画面に行くと、今度はチェックボックスが有効になっていますので、チェックして保存。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77307/e7efd06e-d624-ee35-eca5-7afab3f138ff.png)

正常に更新されました、と出ますが、更新されていません。
４つのエラーは、画面の４つの項目に対応しているので、このページの設定は許可されていない、ということのようです。お試しインスタンスでは使えない？？皆さんできているようなので、そういうことでもなさそう。

そして、仮にこれ（「ServiceNow の構成」セクションのstep4）がうまく行ったとして、目的であるstep5では、まずAzure側で自動構成をしようとします。
しかし、自動構成をするには、「基本的な SAML 構成」をしておかないといけないのです。
・・・むぅ

ここで、こちらのお助けを借りる

https://qiita.com/keiichi-hikita/items/01b3ff874da891e5874e#%E3%82%B7%E3%83%B3%E3%82%B0%E3%83%AB%E3%82%B5%E3%82%A4%E3%83%B3%E3%82%AA%E3%83%B3%E3%81%AE%E8%A8%AD%E5%AE%9A

https://<instancename>.service-now.com/navpage.do
を指定しておけば良いのか。

これを入れておくと、自動構成もできる。その結果、ServiceNow側でもID プロバイダーが自動で作成されており、そのsys_idもコピーできる。

そこで改めて、Azure側の「基本的な SAML 構成」で、

```
https://<instance-name>.service-now.com/login_with_sso.do?glide_sso_id=<sys_id of the sso configuration>
```

を登録し直す。

チュートリアルの、「ServiceNow の構成」セクションのstep 5.d.iiiは、aとcで同じ欄に別の内容を入力させようとしているし、ちょっといまいち（英語表示でも確認してみましたが、そんな気がします）。

シングル サインオン スクリプトは最初から「MultiSSOv2_SAML2_custom」になっていたし、証明書も登録されていたので、いざテスト接続。
Azureのログイン画面が表示されたので、B.Simon@・・・.onmicrosoft.comでログインしようとすると、パスワード変更を求められたので、変更。しかし、いつもの、ServiceNowのログイン画面に飛んでしまったので、うまくいってないですね。

結局上記の四つのエラーのせいでしょう。
そもそも、glide.authenticateというプロパティが作成されていない気がしてきました。

すみません、２日間問題解消しないので一旦終了・・・

（2022.2.11追記）
エラーになる原因が分かりました！
右上の歯車から開く設定画面で、アプリケーションの指定があります。
これが、ChangeManagement・・・になっていたのですが、これをGlobalに変更することにより設定が保存されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77307/ad1af51b-465a-f19f-69e6-f686d4167345.png)

では、改めて、テスト接続。
Identity Providers から、Microsoft Azure Federated Single Sign-on for ・・・　を指定。
右上の、テスト接続。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77307/f52b3ebf-e3e7-fb4a-4369-c37298256ebe.png)

Azureのログイン画面で、B.Simon@・・・.onmicrosoft.comでログインすると、ServiceNowにもログインできました！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/77307/e23b6006-7a51-7a84-9136-60fa2cbfbaac.png)

System Administrator でログインされたのは良いのかな？？