Sansan
【参考】
2018年06月04日時点での情報で掲載しています。
「Sansan」との認証連携を設定します。
【注意】
- SansanのSAML認証連携機能は有償オプションです。Sansanの営業担当者に問い合わせて有効化する必要があります。
- SAML連携にあたっての作業手順は、以下のサイトをご確認ください。
- SansanがSAMLで認証するキーは「SAML Name ID」となります。
- IIJ IDサービス内の各ユーザ共通のユーザ属性にSansanの「SAML Name ID」と同一の値を保持しておく必要があります。
- Sansanの管理者に対してもSAML認証が要求されますので、あらかじめIIJ IDサービス内にSansanの管理者に該当するアカウントを用意し、Sansan上の管理者アカウントの「SAML Name ID」にIIJ IDサービスのアカウント名を登録しておく必要があります。
1. IIJ IDサービスにSAMLアプリケーションを登録する
1. 「アプリケーション」の「アプリケーションの管理」 をクリックします。
2. 「アプリケーションを追加する」をクリックし、「カスタムアプリケーションを追加する」をクリックします。
3. 「SAMLアプリケーション」を選択し、「次に進む」をクリックします。
4. アプリケーション情報を入力し、「アプリケーションを追加する」をクリックします。
項目 | 内容 | 備考 |
---|---|---|
アプリケーション名 | 例)Sansan | 必須 |
アプリケーションの説明 | 例)法人向けクラウド名刺管理サービス | 任意 |
アプリケーションロゴ | (ファイルアップロード) | 任意 |
IDプロバイダの選択 | 「アプリケーション専用のエンティティIDを利用」を選択 | 必須 Sansanの複数のインターフェイスで共通のIDプロバイダのエンティティIDを使用する必要があるため、「システムで共通のエンティティIDを利用」を選択してください |
2. IIJ IDサービスのIDプロバイダ情報を確認する
1. 作成されたアプリケーションの「編集する」をクリックします。
2. 「IDプロバイダ情報」をクリックします。
3. 表示された「SSOエンドポイントURL (Redirectバインディング)」、「エンティティID」、及び「PEM」の値を控えます。
【参考】
- 「PEM」は、必ず「-----BEGIN CERTIFICATE-----」からはじまり、「-----END CERTIFICATE-----」で終わる形式です。
- 「PEM」に書かれている値を改行などせずにそのままテキストファイルに張り付けてください。
- 「PEM」情報をファイルでアップロードする必要があります。
3. Sansan上の各アカウントに「AD連携用ID」をセットする
【注意】
この作業はSansanのSAML連携機能を有効化する前に実施しておく必要があります。
管理者アカウントを含め、「SAML Name ID」の登録が済んでいない場合、ログインできなくなりますのでご注意ください。
1. Sansanに管理者アカウントでログインします。
2. 各ユーザの「SAML Name ID」に、それぞれのIIJ IDサービスのIDを設定します。設定方法については、「ユーザ情報を変更する (権限を付与する)(https://jp-help.sansan.com/hc/ja/articles/206509027)」をご覧ください。
4. SansanにIDプロバイダ情報を登録する
1. 以下の情報を元にSansanにIDプロバイダ情報を登録し、「IdPに設定する情報」を控えます。設定方法については、「SAML認証を設定する(https://jp-help.sansan.com/hc/ja/articles/900001551383)」をご覧ください。
新規IdP設定を追加する | 項目 | 内容 |
---|---|---|
IdP側 | 利用IdP | 「その他」を選択し、「Entity Id」としては「単一」を選択 |
Sansan側 | IdPの識別名 | 手順2-3で確認した「エンティティID」の値 |
ログインページのURL | 手順2-3で確認した「SSOエンドポイントURL(Redirectバインディング)」の値 | |
ログアウトページのURL | (任意) | |
SAML署名証明書 | 手順2-3で取得した「PEM」の値を保存したファイルをアップロード |
2. 手順4-1で控えた「IdPに設定する情報」を元に、IIJ IDサービス向けのSPメタデータのファイルを作成し、保存します。
<?xml version='1.0' encoding='UTF-8'?> <md:EntityDescriptor xmlns:md='urn:oasis:names:tc:SAML:2.0:metadata' ID='_8f4333cc-a339-467e-83a4-58b19a0cbb98' entityID='(「IdPに設定する情報」内の「識別子(Entity ID)」)'> <md:SPSSODescriptor protocolSupportEnumeration='urn:oasis:names:tc:SAML:2.0:protocol' AuthnRequestsSigned='false' WantAssertionsSigned='false'> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat> <md:AssertionConsumerService Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' Location='(「IdPに設定する情報」内のPCの「応答URL」)' index='0'/> <md:AssertionConsumerService Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' Location='(「IdPに設定する情報」内のスマートフォンアプリの「応答URL」)' isDefault='false' index='1'/> </md:SPSSODescriptor> </md:EntityDescriptor>
【参考】
- 「IdPに設定する情報」内の「識別子(Entity ID)」の値は、「https://ap.sansan.com/s/saml2/xxxxx」です。「xxxxx」は環境毎に異なります。
- 「IdPに設定する情報」内のPCの「応答URL」の値は、「https://ap.sansan.com/v/saml2/xxxxx/acs」です。「xxxxx」は環境毎に異なります。
- 「IdPに設定する情報」内のスマートフォンアプリの「応答URL」の値は、「https://internal.api.sansan.com/saml2/xxxxx/acs」です。「xxxxx」は環境毎に異なります。
- 作成したファイルは拡張子を「xml」にして保存してください。
5. IIJ IDサービスにSAMLアプリケーションを登録する
1. 「アプリケーション」の「アプリケーションの管理」 をクリックします。
2. アプリケーションの「編集する」をクリックします。
3. 「フェデレーション設定」をクリックします。
4. 以下のとおり設定し、「変更を適用する」をクリックします。
項目 | 内容 | 備考 | ||
---|---|---|---|---|
SAML基本情報 | SPのメタデータをアップロードする | 「SPのメタデータをアップロードする」をチェック | ||
SPメタデータ | 手順4-2で作成したSPのメタデータをアップロード | |||
検証後の遷移先(RelayState) | (空欄) | |||
アプリケーションのトップページURL | (空欄) | |||
アサーションの署名アルゴリズム | 例) RSA-SHA256 | |||
ユーザ識別子(NameID)の指定 | 関連付けるユーザ属性 | 例) | Sansanの「SAML Name 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)」として渡す値が「iij-jiro@iij.ad.jp」の場合は、「プライマリの値を使用する」をチェックします。
【注意】
- 「ユーザ識別子(NameID)」としてID以外の属性を指定していると、IIJ IDサービスに対する更新処理でその属性の値が更新される場合があります。ただし、その更新は連携先サービスまで伝搬されないため、IIJ IDサービス側の属性の値が更新されると、連携していたアカウントに接続できなくなります。「ユーザ識別子(NameID)」としている属性の値が更新される場合は、連携先サービス側で紐づく属性(多くの場合、ユーザID)を忘れずに更新してください。
- 以下の画像のように複数のタイプに「SaaS_ID」が設定されている場合、「ユーザ識別子(NameID)」に「SaaS_ID」を指定すると、サービスマニュアルに記載されているルールに基づいていずれかの単数値だけが採用されます。連携対象のサービスに管理者の意図しないアカウントがSAML連携される危険性があります。対象となる各ユーザにおいて、「ユーザ識別子(NameID)」として指定するタイプが複数個存在しないように注意してください。
【参考】
SansanはPCのWebブラウザー、ネイティブ モバイル アプリ、及びモバイル ブラウザーでSAMLの認証設定が異なります。これらの複数を利用する場合には、IIJ IDサービス上で個別にSAMLアプリケーションを作成する必要があります。
5. 「利用者設定」をクリックします。
6. 「利用者を追加する」をクリックし、アプリケーションにシングルサインオンさせたいグループ及びユーザを指定します。
【参考】
利用者に登録していないユーザにもこのアプリケーションを利用させたい場合は、「アプリケーションへのログイン」の「編集」をクリックしします。
「利用者でないユーザも、アプリケーションへのログインを許可する」を選択し、「変更を適用する」をクリックします。