ServiceNow
【参考】
2020年02月05日時点での情報で掲載しています。
「ServiceNow」との認証連携を設定します。
【注意】
- 本手順では、ServiceNowとSAMLで認証するキーを「メールアドレス」として設定します。
- IIJ IDサービス内の各ユーザ共通のユーザ属性にServiceNowの「メールアドレス」と同一の値を保持しておく必要があります。
- 作業前にServiceNowの管理者のメールアドレスの値を保持するアカウントをIIJ IDサービスに用意してください。用意したアカウントの組み合わせでServiceNowとIIJ IDサービスにおいてそれぞれ作業を実施するとスムーズです。
1. IIJ IDサービスにSAMLアプリケーションを登録する
1. 「アプリケーション」の「アプリケーションの管理」 をクリックします。
2. 「アプリケーションを追加する」をクリックし、「カスタムアプリケーションを追加する」をクリックします。
3. 「SAMLアプリケーション」を選択し、「次に進む」をクリックします。
4. アプリケーション情報を入力し、「アプリケーションを追加する」をクリックします。
項目 | 内容 | 備考 |
---|---|---|
アプリケーション名 | 例)ServiceNow | 必須 |
アプリケーションの説明 | 例)エンタープライズ向けデジタルワークフロー – より良い職場作りを促進 | 任意 |
アプリケーションロゴ | (ファイルアップロード) | 任意 |
IDプロバイダの選択 | 「アプリケーション専用のエンティティIDを利用」を選択 | 必須 |
2. IIJ IDサービスのIDプロバイダのメタデータを取得する
1. 作成されたアプリケーションの「編集する」をクリックします。
2. 「IDプロバイダ情報」をクリックします。
3. 「ダウンロードする」をクリックし、IDプロバイダのメタデータをダウンロードします。
3. ServiceNowでSAML機能を有効化する
1. ServiceNowの管理コンソールにログインします。
2. 左ペインのメニューから「System Definition」の「Plugins」をクリックします。
3. 検索にて「Multiple Provider Single Sign-On」と入力し、表示された「Integration – Multiple Provider Single Sign-on Enhanced UI」の「Install」をクリックします。
4. 「Activate」をクリックします。
5. 「Close & Reload Form」をクリックします。
6. 検索にて「com.glide.e_signature_approvals」と入力し、表示された「Approvals with e-Signature」の「Install」をクリックします。
7. 「Activate」をクリックします。
8. 「Close & Reload Form」をクリックします。
9. 左ペインのメニューから「Multi-Provider SSO」の「Federations」を開き、「Administration」の「Properties」をクリックします。
10. 「Customization Properties for Muliple Provider SSO」の画面にて「Enable multiple provider SSO」にチェックを入れて、「Save」をクリックします。
4. ServiceNowにIDプロバイダ情報を登録する
1. 左ペインのメニューから、「Multi-Provider SSO」の「Identity Providers」をクリックします。
2. 「New」をクリックします。
3. 「SAML」をクリックします。
4. 「XML」を選択し、表示されたテキストエリアに手順2-3で入手した 「IDプロバイダのメタデータ」のファイルの中身をコピーします。「Import」をクリックします。
5. 「Default」の項目についてチェックします。
6. 「Encryption And Signing」タブの「Signing/Encryption Key Alias」に「saml2sp」と入力します。
7. 「Advanced」のタブをクリックし、「Create AuthnContextClass」及び「Force AuthnRequest」をチェックします。
8. 「Generate Metadata」をクリックします。
【参考】
この画面は表示したままにしておきます。このあと、IIJ IDサービス側の設定を実施した後、この画面から後続処理を行います。
9. 別ウィンドウで「Service Provider Metagate」が表示されます。画面のテキストエリア内に表示された内容をテキストファイルとして保存します(拡張子としてxmlをつけてください)。
【参考】
ここで保存したファイルがSPのメタデータとなります。
5. IIJ IDサービスのSAMLアプリケーションを設定する
1. 「アプリケーション」の「アプリケーションの管理」 をクリックします。
2. 作成されたアプリケーションの「編集する」をクリックします。
3. 「フェデレーション設定」をクリックします。
4. 以下のとおり設定し、「変更を適用する」をクリックします。
項目 | 内容 | 備考 | ||
---|---|---|---|---|
SAML基本情報 | SPのメタデータをアップロードする | 「SPのメタデータをアップロードする」をチェック | ||
SPメタデータ | 手順4-9で入手したSPメタデータをアップロード | |||
検証後の遷移先(RelayState) | (空欄) | |||
アプリケーションのトップページURL | (空欄) | |||
アサーションの署名アルゴリズム | 例) | |||
ユーザ識別子(NameID)の指定 | 関連付けるユーザ属性 | 例) ID | ServiceNowの各ユーザの「メールアドレス」の値が格納されている属性を指定します |
【参考】
「アサーションの署名アルゴリズム」は連携先サービス側で指定などがない場合、デフォルト値の「RSA-SHA256」を選択してください。
「RSA-SHA256」を指定して動作しない場合及び連携先サービス側で明示的にそれ以外のものが指定されている場合は、「RSA-SHA512」、または「RSA-SHA1」に変更し、連携を確認してください。
【参考】
- 「ユーザ識別子(NameID)」の指定は、ユーザ単位ではなくSAMLアプリケーション単位でのみ設定できます。
- 「ユーザ識別子(NameID)」の指定した属性にユーザが値を保持していない場合は SAML連携は失敗します。
- 「ユーザ識別子(NameID)」にID以外の複数の値を持つ属性で指定する方法は以下のとおりです。
例として、IIJ IDサービスの各ユーザの属性「Entitlements」に以下のように値が設定されています。- 連携先サービス側に「ユーザ識別子(NameID)」として渡す値が「iij-jiro@iij.ad.jp」の場合は、「プライマリの値を使用する」をチェックします。
- 連携先サービス側に「ユーザ識別子(NameID)」として渡す値が「iij-jiro」の場合は、「タイプと一致する値を使用する」をチェックし、タイプに「SaaS_ID」を指定します。
- 連携先サービス側に「ユーザ識別子(NameID)」として渡す値が「iij-jiro@iij.ad.jp」の場合は、「プライマリの値を使用する」をチェックします。
【注意】
- 「ユーザ識別子(NameID)」としてID以外の属性を指定していると、IIJ IDサービスに対する更新処理でその属性の値が更新される場合があります。ただし、その更新は連携先サービスまで伝搬されないため、IIJ IDサービス側の属性の値が更新されると、連携していたアカウントに接続できなくなります。「ユーザ識別子(NameID)」としている属性の値が更新される場合は、連携先サービス側で紐づく属性(多くの場合、ユーザID)を忘れずに更新してください。
- 以下の画像のように複数のタイプに「SaaS_ID」が設定されている場合、「ユーザ識別子(NameID)」に「SaaS_ID」を指定すると、サービスマニュアルに記載されているルールに基づいていずれかの単数値だけが採用されます。連携対象のサービスに管理者の意図しないアカウントがSAML連携される危険性があります。対象となる各ユーザにおいて、「ユーザ識別子(NameID)」として指定するタイプが複数個存在しないように注意してください。
5. 「利用者設定」をクリックします。
6. 「利用者を追加する」をクリックし、アプリケーションにシングルサインオンさせたいグループ及びユーザを指定します。
【参考】
利用者に登録していないユーザにもこのアプリケーションを利用させたい場合は、「アプリケーションへのログイン」の「編集」をクリックしします。
「利用者でないユーザも、アプリケーションへのログインを許可する」を選択し、「変更を適用する」をクリックします。
【参考】
利用者としてこれまでServiceNowで設定を行っていたアカウントについても登録してください。
6. ServiceNowのSAML認証を有効化する
1. 手順4-8の画面で「Test Connection」をクリックします。
2. 「SSO Login Test Results」の内容がすべて問題ないことを確認した上で、「Activate」をクリックします。
【参考】
ServiceNowの環境を更にMultiple IdP環境として構築する際には、次の手順を実施してください。
1. 左ペインのメニューから、「Multi-Provider SSO」の「Identity Providers」をクリックします。
2. 本手順で作成したIIJ IDサービスのエントリーで右クリックし、「Copy sys_id」をクリックします。
「Copy sys_id」をクリックすると値がクリップボードに保存されます。