はじめに
こんにちは。株式会社ウイズ・ワン、ServiceNow担当のR-Hです。
最近、ServiceNowでのSSO設定方法について学習しており、その過程で得た知識や気づきを備忘録としてまとめました。
この記事では実際に行った設定手順と注意点について紹介します。
なお、今回使用するServiceNowのPDIバージョンはXanaduです。
アカウント管理ツールはMicrosoft Entra IDの無料版を使用し、SAMLを使用したSSOを設定します。
◇参考にしたサイト◇
ServiceNow で AzureAD と連携する Multi-Provider SSO を構成する~Ver. San Diego~
SSOを設定する方法(Microsoft Entra ID ※旧:Azure Active Directory編)
本記事は2025/04/25時点での情報となります。
1-1.Microsoft Entra ID~アカウント作成~
まずはEntra IDのアカウントを作成します。
Microsoft Entra IDのページから「無料で試す」を押下します。
本人情報を入力してアカウントを作成します。
アカウント作成には電話番号とクレジットカード番号が必要になります。
クレジットカード番号は本人確認のみで利用します。
ここのタイミングでドメイン名を作成します。あまり長いとServiceNowへ受け渡したときに途切れてしまいます。
アカウント作成が完了すると以下のような管理センター画面に遷移します。
以上でEntra IDのアカウント作成は完了です。
1-2.ServiceNow ~Pluginインストール~
ServiceNowインスタンスにて、SSOを利用するためのPluginをインストールします。
以下のモジュールから「Integration - Multiple Provider Single Sign-On Installer」を検索します。
アプリケーションナビゲーターに「Multi-Provider SSO」が表示されればインストール完了です。
2-1.Microsoft Entra ID~ServiceNowアプリケーションを作成する~
Microsoft 365 管理センターに戻ります。
左のメニューから「すべての管理センター」を押下すると以下のような画面に遷移します。
画面中央の「Microsoft Entra」を押下します。
Microsoft Authenticaorによる認証の後、Microsoft Entra管理センターに遷移します。
左のメニューの「アプリケーション > エンタープライズ アプリケーション」を押下してすべてのアプリケーションを表示します。
「新しいアプリケーション」を押下します。
「Microsoft Entra ギャラリーを参照する」が表示されたら、検索ボックスに「ServiceNow」を入力します。
ServiceNowのテンプレートが表示されるので選択します。
2-2.Microsoft Entra ID~SSOの設定~
続けてSSO(シングルサインオン)の設定です。
左のメニューから「管理 > シングルサインオン」を選択します。
画面が切り替わったら、SAMLを選択します。
セットアップ画面に遷移するので1「基本的なSAML構成」の編集ボタンを押下します。
パターンを参考にして以下の項目にServiceNowインスタンスのインスタンス名を入力して保存します。
・識別子(エンティティ ID)
・応答URL(Assertion Consumer Service URL)
・サインオンURL(※)
※サインオンURLにはServiceNowで作成される認証レコードのIDが必要ですが、この段階ではまだ作成されていないのでいったん識別子項目と同じ値を入力します。
入力が完了したら「保存」を押下します。
1「基本的なSAML構成」を保存すると3「SAML証明書」から証明書をダウンロードできるようになります。
フェデレーションメタデータXMLをダウンロードします。
2-3.ServiceNow~各種プロパティの設定~
Multi-Providerを設定する前にリカバリーアカウントなど各種プロパティを設定します。
「Multi-Provider SSO > Account Recovery > Properties」へ遷移します。
「Enable account recovery」と「Enable debug logging for account recovery」を有効にします。
Step2の「here」を押下してリカバリー用アカウントの多要素認証を設定します。
ここまでできたら「Save」を押下します。
続いて「Multi-Provider SSO > administration > Properties」へ遷移します。
3つすべてのチェックボックスを有効にします。
「Save」を押下します。
3-1.ServiceNow~Multiple Providerの設定~
いよいよMulti-Providerを設定します。
「Multi-Provider SSO > Identity Providers」へ遷移します。
右上の「New」を押下します。
以下のような画面が表示されるので「SAML」を選択します。
Import Identity Provider Metadataというウィンドウが表示されます。
ラジオボタン「XML」を選択します。
Entra IDからダウンロードした「フェデレーションメタデータXML」の中身を「Enter the XML」にコピー&ペーストします。
最後に「Import」ボタンを押下します。
必要な情報が自動的に入力されます。
また、関連リンクを見ると証明書が作成されていることがわかります。
この証明書を右クリックし、Sys IDを取得して控えます。
各フィールドを以下のように修正します。
・Nameを分かりやすいものに変更します。
・Defaultを有効にします。
・Identity Provider's SingleLogoutRequest項目の文字列を削除します。
・NameID Policyを以下の文字列に変更します。
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
変更が終わったら「Update」を押下して保存します。
※今回は触りませんが、AdvancedタブのUser Fieldと一致する項目で同じユーザーであるかを判断しているようです。(デフォルトはemail)
3-2.Microsoft Entra ID~SSOの設定(続き)~
Entra IDに戻ります。
ServiceNowの証明書のSys IDを取得したので、サインオンURLを完成させます。
入力が完了したら「保存」を押下します。
https://(インスタンス名).service-now.com/login_with_sso.do?glide_sso_id=(ServiceNowで取得した証明書のSys ID)
4-1.Microsoft Entra ID~テストユーザー準備~
今回はEntra IDとServiceNow双方に同じユーザーがいる必要があります。
Entra IDの左メニューから「ユーザー > すべてのユーザー」と選択します。
ユーザーの管理画面が表示されたら「新しいユーザー > 新しいユーザーの作成」を選択します。
ユーザープリンシバル名、表示名を入力します。
パスワードは自動生成されるので控えておきます。
次へを押下します。
プロパティタブでは必要に応じて名、性、メールアドレスなどを入力します。
次へを押下します。
割り当てタブではいったん「グローバル管理者」ロールを追加します。
次へを押下します。
4-2.ServiceNow~テストユーザー準備~
続いてServiceNow側でテストユーザーを作成します。
今回はEmailフィールドでEntra ID側のテストユーザーを紐づけるので、EmailフィールドにはEntra IDのユーザープリンシバル名を入力します。
Roleにadminを付与して保存します。
4-3.ServiceNow~接続テスト~
Identity Providerに戻り、「Test Connection」を押下します。
認証画面が表示されるので、テストユーザーのメールアドレスを入力します。
初回はMicrosoft Authenticator認証の設定を行います。
テスト結果が表示されます。
SSO Logout Test ResultsはNGでも問題ありません。
Activeを押下します。
ActiveになりSSO認証を利用できるようになります。
別ブラウザを使用してログイン画面からのSSO認証も問題なくできました。
おわりに
実際に学習したSSO設定の手順は以上です。
次回はUser Provisioningを使用して、Entra IDのみで作成/管理しているユーザーをServiceNowで利用可能にする方法を紹介したいと思います。
ServiceNowとEntra ID連携をしてみたい方のお役に立てれば幸いです。