IBM Security VerifyでServiceNowにSSOしてみた
投稿者:セキュリティ編集者
目次
◆はじめに
◆構成ステップ
◆動作確認
◆さいごに
◆はじめに
こんにちは。セキュリティ担当です。
アクセス管理製品 IBM Security Verifyは、様々なクラウドサービスに対してシングル・サイン・オン(以下SSO)認証をすることができます。
今回は、ServiceNowにSSO認証ができるよう構成してみました。
IBM Security Verify(以下Verify)とServiceNowは、以下の関係となります。
●Verify = アイデンティティー・プロバイダー(以下、IDプロバイダー)
●ServiceNow = サービス・プロバイダー
◆構成ステップ
以下のステップ構成します。
※【Verify】=Verify画面で実施する手順
※【ServiceNow】=ServiceNow画面で実施する手順
1.【Verify】無料評価環境の登録
2.【Verify】ServiceNowアプリケーションの追加
3.【Verify】ServiceNowのログインIDに一致するVerifyユーザーの作成
4.【ServiceNow】SSO設定用プラグインのインストール
5.【ServiceNow】SSOアカウント復旧(ACR)を構成※Romeリリースバージョンのみ
6.【ServiceNow】SSOプロパティーの構成
7.【ServiceNow】(【Verify】)IDプロバイダーの追加
8.【ServiceNow】ユーザーのSSO有効化
1.【Verify】IBM Security Verify無料評価環境の登録
IBM Security Verify無料評価版
上記IBMサイトから登録し、無料評価版の環境を入手します。
2.【Verify】ServiceNowアプリケーションの追加
Verifyに管理ユーザーでログインします。
「アプリケーション」 > 「アプリケーション」に移動します。
「アプリケーションの追加」をクリックします。
「アプリケーション・タイプの選択」画面に、使用可能なアプリケーション・テンプレートがリストされます。
※Verifyには、一般的によく利用されている多くのサービスに対応したアプリケーション・テンプレートが用意されいます。
ServiceNowを一覧から検索・選択し、「アプリケーションの追加」をクリックします。
「アプリケーションの追加」ページが表示されます。
「一般」タブの「インスタンス名」に、ServiceNowのインスタンス名を入力します。
※1つのアプリケーション定義につき、1つのインスタンス名を指定します。
「サインオン」タブでは、VerifyとServiceNow間の接続情報を構成します。
「プロバイダーID」「アサーション・コンシューマー・サービスの URL (HTTP-POST)」に、先ほど「インスタンス名」に入力した値に基づいた値が自動入力されています。
今回はこれらの値の確認のみ行い、「保存」します。
保存すると、「資格」タブの画面が表示されます。
ここではアプリケーション・インスタンスにアクセスおよび使用する資格があるユーザーを割り当てることができます。
今回は、「すべてのユーザーおよびグループに対する自動アクセス」を選択します。
保存ができたら、「キャンセル」をクリックしてアプリケーション一覧画面に戻ります。
ServiceNowのアプリケーション定義が作成されました。
アプリケーションの詳細を確認するため、名前の右にある歯車アイコンをクリックします。
ServiceNowのアプリケーション/詳細画面の「サインオン」タブを表示します。
サインオンタブの画面右側には、SSO構成のためのガイドが表示されています。
ここから先は、このガイドの内容を参考に構成を進めていきます。
3.【Verify】ServiceNowのログインIDに一致するVerifyユーザーの作成
ServiceNow ログイン ID に一致するIDプロバイダー(=Verify)側のユーザーを作成します。
今回は、ServiceNowの既存ユーザーであるJohn SmithさんがVerifyでSSOできるようにしたいと思います。
対応させるユーザー情報は以下の通りです。
Verifyの管理ユーザーでログインし、「ディレクトリー」>「ユーザーおよびグループ」に移動します。
「ユーザーの追加」をクリックし、上記の各種項目を入力します。
「Identity provider」には「Cloud Directory」を選択し、保存します。
ユーザーを作成すると、「優先するEメールアドレス」に指定したメールアドレスに、初期パスワードとログインページのリンクが送られますので、アクセスしてパスワードを変更します。
4.【ServiceNow】SSO設定用プラグインのインストール
ServiceNowでSSOを使用するには、SSO用のプラグインをインストールする必要があります。
※既に実施済みの環境の場合は実施不要です。
管理ユーザーで ServiceNow インスタンスにログインします。
画面左のメニューフィルターに「プラグイン」と入力し、「プラグイン」に移動します。
「Integration – Multiple Provider Single Sign-On Installer」プラグインを検索し、「インストール」をクリックします。
「プラグインを有効にする」ポップアップが表示されたら「有効化」をクリックします。
プラグインがインストールされたら、「フォームを閉じて再ロード」をクリックします。
5.【ServiceNow】SSOアカウント復旧(ACR)を構成※Romeリリースバージョンのみ
ServiceNowがRomeリリースバージョンの場合は、SSOアカウント復旧(ACR)を構成します。
メニューのフィルターに「SSO」と入力し、「マルチプロバイダーSSO」>「アドミニストレーション」>「プロパティ」に移動します。
「マルチSSO機能を有効にする前に、SSOアカウント復旧(ACR)を構成してください。クリックここ構成」というメッセージの「ここ」をクリックします。
「マルチファクタ認証を構成します。」というポップアップが表示されるため、ガイドに従い構成します。
※スマートフォン等のモバイルデバイスに、ワンタイムパスワード(TOTP)をサポートする何かしらの認証アプリをダウンロードする必要があります。今回は、Google Authenticatorというアプリを使用しました。
アプリでQRコードを読み取り、発行されたワンタイムパスワードを入力し「デバイスのペアリング」をクリックします。
6.【ServiceNow】SSOプロパティーの構成
メニューの「マルチプロバイダーSSO」>「アドミニストレーション」>「プロパティ」に移動します。
「複数のプロバイダSSOを有効にします」「マルチプロバイダのSSO統合に対してデバッグログを有効にします」のチェックボックスにチェックを入れます。
「保存」をクリックして変更を保存します。
7.【ServiceNow】(【Verify】)IDプロバイダーの追加
VerifyのメタデータをServiceNowにインポートして、ServiceNowにIDプロバイダー定義を追加します。
メニューの「マルチプロバイダーSSO」>「IDプロバイダー」に移動します。
「新規」をクリックします。
「作成しようとしているSSOの種類は?」で「SMAL」を選択します。
「IDプロバイダのメタデータをインポート」ポップアップで、「XML」を選択します。
IDプロバイダーの連携メタデータは、Verifyからダウンロードすることができます。
ServiceNowのアプリケーション/詳細で「サインオン」タブを表示し、画面右側のガイド中のURLにアクセスすると「metadata.xml」がダウンロードされます。
「metadata.xml」をメモ帳等で開いて全テキストをコピーし、「Enter the SML」欄に貼り付けて「インポート」をクリックします。
Verifyのメタデータがインポートされると、IDプロバイダ定義の各種項目に情報が反映されます。
このまま「詳細」タブを表示し、「ユーザーフィールド」の値をemail(デフォルト)からuser_nameに変更します。
この値は SAML サブジェクトにマップされます。
user_name、email、first_name、last_name、name などの値を使用でき、これらの値はServiceNow ユーザーの UserID、Email、First name、Last name、および Name に対応します。
「更新」をクリックして変更内容を保存します。
メニューの「マルチプロバイダーSSO」>「IDプロバイダー」に移動し、新しく作成したIDプロバイダーを選択します。
「テスト接続」をクリックして、SAML SSO 構成を検証します。
この「テスト接続」はテスト画面が期待通りに表示されないことがあったため、何度か試行しました。
(別ウィンドウが開き、Verifyの認証画面が表示されれば、もう1歩のようです)
もしVerifyのエラーメッセージが表示される場合、IBM Security VerifyのIBMドキュメントで、エラーの詳細を確認してみましょう。
(参考)AC メッセージ
「SSOログインのテスト結果」という画面が表示されたら、「SSOテスト接続サマリー」がチェック(合格)になっていることを確認します。
※「SSOログアウトのテスト結果」は×になっています。
「有効化」をクリックしてIDプロバイダーを有効にします。
8.【ServiceNow】ユーザーのSSO有効化
ユーザーのSSOを有効にするにはsys_idが必要です。 以下の手順でsys_idを取得します。
メニューの「マルチプロバイダーSSO」>「IDプロバイダー」に移動します。
作成したIDプロバイダーを右クリックし、「sys_idのコピー」をクリックすることでsys_idがクリップボードにコピーされます。
メニューの「System Security」>「ユーザーとグループ」>「ユーザー」に移動します。
任意のユーザーを選択します。
画面左上「三」アイコンの右にあるユーザー名を右クリックし、「構成」>「フォームデザイン」をクリックします。
「フォームデザイン」画面が新規タブで開きます。
「フィールド」セクションから「ユーザー」セクションに、「SSOソース」フィールドをドラッグ&ドロップします。
「SSOソース」フィールドの設定アイコンをクリックします。
「デフォルト」フィールドに、先頭に “sso:” をつけて先ほどコピーしたsys_idを入力します。
入力したら、×アイコンで閉じます。
「保存」をクリックして変更内容を保存します。
SSOを有効にしたいユーザーJohn Smithを表示します。
「SSOソース」フィールドが表示されるようになっているため、先頭に “sso:” をつけて先ほどコピーしたsys_idを入力します。
「更新」をクリックします。
◆動作確認
VerifyからServiceNowにSSOできるか、動作を確認してみましょう。
John SmithのユーザーIDでVerifyにログインします。
ランチパッド画面には、そのユーザーが使用可能なアプリケーションが表示されます。
ServiceNowアプリケーションの「資格設定」タブで「すべてのユーザーおよびグループに対する自動アクセス」を選択したため、ServiceNowが表示されています。
ユーザーJohn Smithでログインされた状態のServiceNowの画面が新しいタブで表示されます。
ServiceNowにSSOができました。
◆さいごに
VerifyでクラウドサービスにSSO認証するための流れをまとめると、大まかに以下になります。
Verifyに、SSOしたいクラウドサービスのテンプレートを選択してアプリケーションを追加
(本記事のステップ2)
↓
Verifyのアプリケーション画面に表示されているガイド(内容はクラウドサービス毎に異なります)に沿って構成する
(本記事のステップ3~8)
ServiceNow以外のクラウドサービスの場合も、基本的には同じ流れでSSO認証の構成が可能です。
※数百ものテンプレートが用意されていますが、テンプレートがない場合はカスタム・テンプレートでアプリケーションを追加することもできます。
テンプレートが用意されていることに加え、Verifyの管理画面から構成手順の確認やメタデータ情報の取得ができるようになっているため、管理者の負担が少ないのではないでしょうか。
製品についてはこちらをご参照ください。
IBM Security Verify
自社のセキュリティで何に手を付けてよいかわからないか課題をお持ちの方は以下をご覧ください。
ITセキュリティ簡易アセスメント
記事及び、この製品(IBM Security Verify関連製品)に関するお問い合わせは
NIC_Contact@niandc.co.jp
までお問合せください。
最後までお読み頂き、ありがとうございました。