J'sNAVI NEO

【参考】

2019年04月05日時点での情報で掲載しています。

「J’sNAVI NEO」との認証連携を設定します。

【注意】

  • J’sNAVI NEOがSAMLで認証するキーは「ID」です。
  • IIJ IDサービスのユーザ属性内でJ’sNAVI NEOのIDを保持する必要があります。

1. IIJ IDサービスにSAMLアプリケーションを登録する

1. 「アプリケーション」の「アプリケーションの管理」 をクリックします。

2. 「アプリケーションを追加する」をクリックし、「カスタムアプリケーションを追加する」をクリックします。

3. 「SAMLアプリケーション」を選択し、「次に進む」をクリックします。

4. アプリケーション情報を入力し、「アプリケーションを追加する」をクリックします。

項目内容備考
アプリケーション名例)J’sNAVI NEO必須
アプリケーションの説明例)JTBの経費・旅費精算システム任意
アプリケーションロゴ(ファイルアップロード)任意
IDプロバイダの選択「アプリケーション専用のエンティティIDを利用」を選択必須
2. IIJ IDサービスのIDプロバイダのメタデータを取得する

1. 作成されたアプリケーションの「編集する」をクリックします。

2. 「IDプロバイダ情報」をクリックします。

3. 表示された「SSOエンドポイントURL (Redirectバインディング)」、「エンティティID」、及び「PEM」の値を控えます。

【参考】

  • 「PEM」は、必ず「-----BEGIN CERTIFICATE-----」からはじまり、「-----END CERTIFICATE-----」で終わる形式です。
  • 「PEM」に書かれている値を改行などせずにそのままテキストファイルに張り付けてください。
  • 「PEM」情報をファイルでアップロードする必要があります。

3.J'sNAVI NEOにIDプロバイダ情報を登録する

1.J'sNAVI NEOのコンソールに管理者としてログインします。

2.「管理者設定」をクリックします。

3.「システム設定」をクリックします。

4.「ユーザ認証連携の設定」を以下のとおり設定します。

項目内容備考
ユーザ認証連携の設定「使用する」をチェック
認証方式「SAML認証」を選択
SAMLリクエスト送信先URL

手順2-3で確認した「SSOエンドポイントURL(Redirectバインディング)」の値


ログアウト後の遷移先URL

例)https://www.auth.iij.jp/console/


公開鍵証明書の登録手順2-3で取得した「PEM」の値を保存したファイルをアップロード
指定パラメータ

「NameIDを個人IDとして使用する」または「以下の要素を個人IDとして使用する」

  • IIJ IDサービスとJ'sNAVI NEOのIDが同一である場合は、「NameIDを個人IDとして使用する」を選択してください
  • SAML属性ステートメントでJ'sNAVI NEOのIDを渡したい場合は、「以下の要素を個人IDとして使用する」を選択してください
【参考】

「指定パラメータ」にて「以下の要素を個人IDとして使用する」を選択した場合は、テキストフィールドに以下のとおり入力してください。

/*[namespace-uri()='urn:oasis:names:tc:SAML:2.0:protocol' and local-name()='Response']/
*[namespace-uri()='urn:oasis:names:tc:SAML:2.0:assertion' and local-name()='Assertion']/
*[namespace-uri()='urn:oasis:names:tc:SAML:2.0:assertion' and local-name()='AttributeStatement']
/*[namespace-uri()='urn:oasis:names:tc:SAML:2.0:assertion' and local-name()='Attribute' and @Name='JS_NAVI_ID']
/*[namespace-uri()='urn:oasis:names:tc:SAML:2.0:assertion' and local-name()='AttributeValue']/text()

【参考】

この画面の起動URLの値は、手順4-4で使用するため、値を控えてください。

4. IIJ IDサービスのSAMLアプリケーションを設定する

1. 「アプリケーション」の「アプリケーションの管理」 をクリックします。

2. アプリケーションの「編集する」をクリックします。

3. 「フェデレーション設定」をクリックします。

4. 以下のとおり設定し、「変更を適用する」をクリックします。

項目内容備考
SAML基本情報





SAML情報を入力する「SAML情報を入力する」をチェック
シングルサインオンURL

https://{サイトのFQDN}/JCS/xhtml/SAMLLogin.jsf


エンティティ ID

{サイトのFQDN}


NameIDフォーマット

urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified


検証後の遷移先(RelayState)(空欄)
アプリケーションのトップページURL

手順3-4で確認した「起動URL」の値


アサーションの署名アルゴリズム例)
RSA-SHA256

ユーザ識別子(NameID)の指定関連付けるユーザ属性例)
Entitlements

タイプと一致する値を使用する
タイプ: JS_NAVI_ID

J'sNAVI NEOの「ID」の値が格納されている属性を指定します

属性値関連付けJS_NAVI_ID

例)Entitlements

タイプと一致する値を使用する
タイプ: JS_NAVI_ID

手順3-4の「指定パラメータ」にて「以下の要素を個人IDとして使用する」を選択した場合、属性名を「JS_NAVI_ID」、関連付けるユーザ属性は、IIJ IDサービス上でJ'sNAVI NEOのIDが保持されている属性を選択してください

手順3-4の「指定パラメータ」にて「NameIDを個人IDとして使用する」を選択した場合、この入力は必要ありません

【参考】

「アサーションの署名アルゴリズム」は連携先サービス側で指定などがない場合、デフォルト値の「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)」としてID以外の属性を指定していると、IIJ IDサービスに対する更新処理でその属性の値が更新される場合があります。ただし、その更新は連携先サービスまで伝搬されないため、IIJ IDサービス側の属性の値が更新されると、連携していたアカウントに接続できなくなります。「ユーザ識別子(NameID)」としている属性の値が更新される場合は、連携先サービス側で紐づく属性(多くの場合、ユーザID)を忘れずに更新してください。
  • 以下の画像のように複数のタイプに「SaaS_ID」が設定されている場合、「ユーザ識別子(NameID)」に「SaaS_ID」を指定すると、サービスマニュアルに記載されているルールに基づいていずれかの単数値だけが採用されます。連携対象のサービスに管理者の意図しないアカウントがSAML連携される危険性があります。対象となる各ユーザにおいて、「ユーザ識別子(NameID)」として指定するタイプが複数個存在しないように注意してください。

【参考】

  • 「属性値関連付け(ユーザ属性)」は、ユーザ単位ではなくSAMLアプリケーション単位でのみ設定できます。
  • 「属性値関連付け(ユーザ属性)」で複数値を持つ属性での指定する方法は以下のとおりです。
    例として、IIJ IDサービスの各ユーザの属性「Entitlements」に以下のように値が設定されています。
    • 連携先サービス側に「属性値関連付け(ユーザ属性)」として属性名が「hogehoge1」、渡したい値が「abc」の場合は、「プライマリの値を使用する」をチェックします。
    • 連携先サービス側に「属性値関連付け(ユーザ属性)」として属性名が「hogehoge1」、渡したい値が「1234」の場合は、「タイプと一致する値を使用する」をチェックし、タイプに「SaaS_Attr1」を指定します。
    • 連携先サービス側に「属性値関連付け(ユーザ属性)」として属性名が「hogehoge1」、渡したい値が「multi1」、「multi2」のように複数の場合は、「タイプと一致する値を使用する」をチェックし、タイプに「SaaS_MultiAttr1」を指定します。

【参考】

手順4-4で「JS_NAVI_ID」の値にマッピングする場合、IIJ IDサービスの各ユーザに対する属性値の設定例は以下のとおりです。

5. 「利用者設定」をクリックします。

6. 「利用者を追加する」をクリックし、アプリケーションにシングルサインオンさせたいグループ及びユーザを指定します。

【参考】

利用者に登録していないユーザにもこのアプリケーションを利用させたい場合は、「アプリケーションへのログイン」の「編集」をクリックしします。

「利用者でないユーザも、アプリケーションへのログインを許可する」を選択し、「変更を適用する」をクリックします。