Okta/ServiceNowのSAML統合では現在、次の機能をサポートしています。
記載されている機能の詳細についてはOkta Glossary(Okta用語集)をご覧ください。
ServiceNowでのマルチプロバイダーSSOプラグインのインストール
ServiceNowでのEnhanced UIのインストール
ServiceNowでのマルチプロバイダーの有効化
以下の手順に従って、前提条件のインストールを完了します。
システム管理者として、ServiceNowにログインします。
[Filter navigator(フィルターナビゲーター)]でプラグインを検索します(左上の入力欄)。
プラグインページでcom.snc.integration.sso.multiを検索します。
次のプラグインの[Install(インストール)]をクリックします。
Multiple Provider Single Sign-On Enhanced UI
Multiple Provider Single Sign-On
[Filter navigator(フィルターナビゲーター)]で[Multi-Provider SSO(マルチプロバイダーSSO)]を検索します(左上の入力欄)。[Properties(プロパティ)]をクリックし、次のように[Enable Multiple provider SSO(マルチプロバイダーSSOを有効化)]で[Yes(はい)]を選択します。
[Save(保存)]をクリックします。
前提条件をすべて完了させたため、次のセクションの手順に従ってSAMLの構成に進むことができるようになりました。
システム管理者として、ServiceNowにログインします。
[Filter navigator(フィルターナビゲーター)]で[Multi-Provider SSO(マルチプロバイダーSSO)]を検索します(左上の入力欄)。[Identity Providers(IDプロバイダー)]を選択します。
[New(新規)]をクリックします。
作成するSSOの種類を尋ねられます。[SAML]を選択します。
[Import Identity Provider Metadata(IDプロバイダーのメタデータをインポート)]のポップアップダイアログが表示されます。
次のMetadata URL(メタデータURL)をコピーして、貼り付けます。
Okta管理ダッシュボードにサインインして、この値を生成します。
[Import(インポート)]をクリックします。
自動入力されたSAML設定を含むページが開きます。
[Default(デフォルト)]にチェックを入れます(このSAML構成をデフォルトにする場合)。
複数のIdPを有効にしている場合、[Multiple IdP(複数のIdP)]セクションを参照します(これはSPが開始するフローに影響します)。
スクロールダウンして、[Encryption and Signing(暗号化と署名)]タブを選択します。
Signing/Encryption Key Alias(署名/暗号化キーのエイリアス):saml2spに設定します(デフォルトで、統合はエイリアスのsaml2spを探します)。
注:SAML 2.0キーストアに別のエイリアス名を作成した場合はそれを入力し、それ以外の場合はsaml2spを使用します。
Signing/Encryption Key Password(署名/暗号化キーのパスワード):SAML 2.0キーストアのパスワードを入力します。デフォルトでは、このパスワードはデフォルトのエイリアス名と同じです。
次に、[User Provisioning(ユーザープロビジョニング)]タブを選択し、[Auto Provisioning User(自動ユーザープロビジョニング)]と[Update User Record Upon Each Login(ログインごとにユーザーレコードを更新)]のチェックを外します。
次に、[Advanced(高度)]タブを選択します。
ユーザーフィールドで、SAMLを使用してOktaに対して照合するServiceNowのユーザー属性を指定します。これはデフォルトでuser_nameですが、ユースケースに応じてemailなどの他の属性を照合するように設定することができます。
注:SAMLのNAME IDとして、SNOW側のユーザープロフィールからどのフィールドにマッチさせるかを選択することができます。email、username、またはユーザーレコードの他のフィールドにすることができます。
</li[Create AuthnContextClass(AuthnContextClassを作成)]にチェックを入れます。
シングルログアウトや認証を強制などの高度な機能をオンにしたい場合、[Advanced Settings(高度な設定)]セクションで説明されている手順に従います。
ここでSAML接続をテストする必要があります。スクロールアップして右上の[Test Connection(接続をテスト)]をクリックします。誤って構成されている値を修正し、すべてのテストが合格するようにします。
SAMLテストに合格したら、[Activate(有効)]をクリックして、先ほどセットアップしたIDプロバイダーを有効にします。
完了!
認証を強制
シングルログアウト
SPが起点となるSAML
[Advanced(高度)]タブにアクセスします。
強制認証を有効にしたい場合、[Force AuthnRequest(AuthnRequestを強制)]にチェックを入れます。
Oktaで、[Sign On(サインオン)]タブの[Disable Force Authentication(認証の強制を無効化)]オプションのチェックが外れていることを確認します。
[Update(更新)]をクリックします。
完了!
次の[Identity Provider's SingleLogoutRequest(IDプロバイダーのSingleLogoutRequest)]のURLを入力します。
Okta管理者ダッシュボードにサインインして、この値を生成します。
スクロールダウンして、[Encryption and Signing(暗号化と署名)]タブを選択します。
[Sign Logout Request(サインログアウトリクエスト)]にチェックを入れます。
[Advanced(高度)]タブを選択します。[Protocol Binding for the IDP's SingleLogoutRequest(IDPのSingleLogoutRequestのプロトコル バインディング)]を次に変更します。
urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
[Generate Metadata(メタデータを生成)]をクリックします。
新しいメタデータのタブが表示されます。
X509Certificate値を保存します。
テキストエディターで次の形式のファイルを作成します。
-----BEGIN CERTIFICATE----- [あなたのx509 certificate値] -----END CERTIFICATE-----
テキストファイルをservicenow_slo.certというファイル名に変更して保存します。
メタデータタブを閉じます。
OktaでServiceNowアプリの[Sign On(サインオン)]タブを選択し、[Edit(編集)]をクリックします。
[Enable Single Logout(シングルログアウトを有効にする)]にチェックを入れます。
先ほど保存したservicenow_slo.certファイルをアップロードします(上記のステップ11)。
[Save(保存)]をクリックします。
どのユースケースかを決定します。
この時点で、SAMLシングルサインオンはOktaからServiceNowへのIdPが起点となるフローに構成された状態になっています。ユーザーがSPが起点となるフロー(ユーザーがServiceNowに直接行ってログインする場合)からシングルサインオンを活用できるようにするには、次の手順を使用します。
注:SPが起点となるSAMLはServiceNowの個々のユーザーまたは会社全体ユーザーに対して有効にすることができます。ただし、特定のユーザーグループに対して有効にすることはできません。
[Multi-Provider SSO(マルチプロバイダーSSO)] > [Identity Providers(IDプロバイダー)]に移動します。
IDプロバイダーのレコードを右クリックし、[Copy sys_id]を選択します。
sys_id値を保存します。この値をSPが起点となるフローに使用する必要があります。
特定の会社内のすべてのユーザーではなく、ユーザーごとにSPが起点となるSAMLを有効にする場合、次を行います。
ページ左上の[Filter navigator(ファイルナビゲーター)]から[Users(ユーザー)]ページに移動します。
任意のユーザーを選択して、ユーザーの詳細ページに移動します。どのユーザーを選択するかは重要ではありません。
メニューアイコンで、[Configure(構成)]、[Form Design(フォームデザイン)]の順に選択します。
左の[Fields(フィールド)]サイドバーから[SSO Source(SSOソース)]フィールドを選択して、リストの最後の属性として、ページ中央の[User [sys_user](ユーザー [sys_user])]表にドラッグします。
[Save(保存)]をクリックします。
特定のユーザーに対してSPが起点となるSAMLを有効にするには、[Filter Navigator(ファイルナビゲーター)]から[Users(ユーザー)]ページに戻ります。
特定のユーザーを選択して、ユーザー詳細ページに移動します。
[SSO Source(SSOソース)]フィールドで、sso:と入力します。その後、マルチプロバイダーSSOプラグインで作成したIDプロバイダーからのsys_idを貼り付けます。[Update(更新)]を選択して、終了します。フィールドはこのようになっているはずです。
SPが起点となるSAMLをユーザーごとではなく、特定の会社内のすべてのユーザーに対して有効にしたい場合、次を行います。
ページ左上の[Filter Navigator(フィルターナビゲーター)]から[My Company(自分の会社)]ページに移動します。
メニューアイコン(下記参照)で、[Configure(構成)]、会社の[Form Design(フォームデザイン)]の順に選択します。
左の[Fields(フィールド)]サイドバーから[SSO Source(SSOソース)]フィールドを選択して、リストの最後の属性として、ページ中央の[Company [core_company](会社 [core_company])]表にドラッグします。
[Save(保存)]をクリックします。
特定の会社のすべてのユーザーに対してSPが起点となるSAMLを適用するには、[Filter Navigator(フィルターナビゲーター)]から[My Company(私の会社)]ページに戻ります。
[SSO Source(SSOソース)]フィールドで、sso:と入力します。マルチプロバイダーSSOプラグインで作成したIDプロバイダーからのsys_idを貼り付けます。[Update(更新)]を選択して、終了します。フィールドはこのようになっているはずです。
この時点で、ユーザーがServiceNowでSP起点のSAMLを2種類の方法で使用を開始できる状態になっています。
1つは、デフォルトのServiceNowログインページに移動したときに、ユーザーは[Use external login(外部ログインを使用)]を選択してServiceNowのユーザー名を入力し、SSOのためにOktaにリダイレクトされるようにすることが可能です。
もしくは、ユーザーは次のURLに直接移動することができます。https://[yourServiceNowDomain]/login_with_sso.do?glide_sso_id=[sys_id value]