Salesforce/Salesforce AppExchange(Team Spiritなど)
【参考】
2021年11月29日時点での情報で掲載しています。
「Salesforce/Salesforce AppExchange」との認証連携を設定します。
【注意】
- Salesforce/Salesforce AppExchange(以下、Salesforce)がSAMLで認証するキーは、Salesforce上のユーザ名、統合ID、またはユーザIDの中から選択できます。
- IIJ IDサービスからSAML連携する際には、その値をユーザ識別子(NameID)で渡す、またはSAMLアトリビュートとして渡すことができます。
- 本手順で、SalesforceがSAMLで認証するキーは「統合ID」とし、その値をSAML連携時にユーザ識別子(NameID)で渡します。
1. IIJ IDサービスにSAMLアプリケーションを登録する
1. 「アプリケーション」の「アプリケーションの管理」 をクリックします。
2. 「アプリケーションを追加する」をクリックし、「カスタムアプリケーションを追加する」をクリックします。
3. 「SAMLアプリケーション」を選択し、「次に進む」をクリックします。
4. アプリケーション情報を入力し、「アプリケーションを追加する」をクリックします。
項目 | 内容 | 備考 |
---|---|---|
アプリケーション名 | 例)Salesforce | 必須 |
アプリケーションの説明 | 例)クラウドベースのCRM/顧客管理やSFA/営業支援 | 任意 |
アプリケーションロゴ | (ファイルアップロード) | 任意 |
IDプロバイダの選択 | 「アプリケーション専用のエンティティIDを利用」を選択 | 必須 |
2. IIJ IDサービスのIDプロバイダ情報を確認する
1. 作成されたアプリケーションの「編集する」をクリックします。
2. 「IDプロバイダ情報」をクリックします。
3. 「ダウンロードする」をクリックし、IDプロバイダのメタデータをダウンロードします。
3. Salesforceで「私のドメイン」を登録する(SalesforceでSP Initiated SSOを有効にしない場合は、本手順は行わず手順4へ進みます)
【参考】
- 既に「私のドメイン」を設定済みの場合は、本手順は行わず手順4へ進みます。
「Salesforce Winter ’21」以降で作成された本番組織には、デフォルトで [私のドメイン] があり、「Salesforce Winter ’22」のすべての組織に [私のドメイン] がリリースされています。
既存の「私のドメイン」の名前を変更することもできます。 - 「私のドメイン」を新規設定、または、変更する際には以下のSalesforceのマニュアルなどを参考に実施してください。
- SP Initiated SSOを利用したい場合には、必ず手順4-4を実施するまでに本作業をすべて完了させてください。設定した内容により手順4-4でSalesforce側で設定される「エンティティID」の情報が異なります。
- SAML連携設定後に「私のドメイン」のURLを変更したい場合は、手順4の「SalesforceにIDプロバイダ情報を登録する」以降の手順を改めて実施してください。
4. SalesforceにIDプロバイダ情報を登録する
1. Salesforceに「システム管理者権限」のユーザでログインします。
2. 「設定」から「ID」の「シングルサイン設定」をクリックします。
3. SAML シングルサインオン構成 の「メタデータファイルから新規作成」をクリックします。
4. メタデータファイルの「ファイルを選択」をクリックし、IDプロバイダのメタデータを選択します。「作成」をクリックします。
5. 以下のとおり設定し、「保存」をクリックします。
項目 | 内容 | 備考 |
---|---|---|
名前 | 例)IIJ ID | 任意の名前 |
API 参照名 | 例)IIJ ID | 任意の名前 |
SAML ID 種別 | 「アサーションには、ユーザオブジェクトの統合 ID が含まれます」を選択 | |
サービスプロバイダの起動要求バインド | 「HTTP リダイレクト」を選択 | |
ID プロバイダのログイン URL | 手順2-3で確認した「SSOエンドポイントURL(Redirectバインディング)」の値 | 例) 「https://www.auth.iij.jp/idp/SSORedirect/metaAlias/.....」と続くURL |
【参考】
Salesforce側の「エンティティID」には「私のドメイン」の設定に基づいた値が設定されます。
6. 内容を確認し、「メタデータのダウンロード」をクリックし、SPメタデータをダウンロードします。
7. 「シングルサインオン設定に戻る」をクリックします。
8. 「シングルサインオン設定」の「編集」をクリックします。
9. 「SAML を有効化」をチェックし、「保存」をクリックします。
5. Salesforceの認証方法を変更する(SalesforceでSP Initiated SSOを有効にしない場合は、本手順は行わず手順6へ進みます)
1. Salesforceに「システム管理者権限」のユーザでログインします。
2. 「設定」から「会社の設定」の「私のドメイン」をクリックします。
3. 「認証設定」の「編集」をクリックします。
4. 「認証サービス」欄に追加したSAMLシングルサインオン設定が表示されるので、チェックを入れて「保存」をクリックします。
【参考】
カスタムドメインからのログイン試行でSalesforce独自のID、及びパスワードでの認証を許可しない場合は、「ログインページ」のチェックを外してください。
【参考】
「https://login.salesforce.com」からSalesforce独自のID、及びパスワードでの認証を許可しない場合は、「私のドメインの設定」から「https://login.salesforce.com からのログインを防止」のチェックにチェックを付けてください。
【参考】
以下の内容については、Salesforceのマニュアルでご確認いただくか、Salesforceのベンダー、または販売代理店にご確認ください。また、この内容はすべてのサービスが対象になるもので、IIJ IDサービスであるかには依存しません。
- SalesforceのiOS/Android向けネイティブアプリにてIIJ IDサービスの証明書認証やFIDO2を実施させたい場合は、本画面で「iOS でのユーザ認証にネイティブブラウザを使用」と「Android でのユーザ認証にネイティブブラウザを使用」にチェックを入れてください。
- SAML連携設定後、各ユーザごとにSalesforceネイティブアプリで以下の手順を実施してください。
本手順を実施しない場合、ネイティブブラウザで認証が行われず、Salesforce内部の組み込みブラウザで認証が行われるため、証明書認証やFIDO2認証を実施できません。
1. Salesforceのネイティブアプリを起動します。
2. 「(歯車)」のアイコンをクリックします。
3. 「+」をクリックします。
4. 手順4-6の「エンドポイント」の「組織」に表示された「ログインURL」を入力し、「完了」をクリックします。
5. 入力した「ログインURL」がデフォルト設定になっていることを確認します。
6. Salesforceユーザに統合IDをセットする
1. Salesforceに「システム管理者権限」のユーザでログインします。
2. 「管理」から「ユーザ」の「ユーザ」をクリックします。
2. 対象ユーザの「編集」をクリックします。
3. 「シングルサインオン情報」の「統合 ID」に連携対象となるIIJ IDサービスの各ユーザの属性でユーザを一意に特定できる値を入力します。
7. IIJ IDサービスのSAMLアプリケーションを設定する
1. 「アプリケーション」の「アプリケーションの管理」 をクリックします。
2. アプリケーションの「編集する」をクリックします。
3. 「フェデレーション設定」をクリックします。
4. 以下のとおり設定し、「変更を適用する」をクリックします。
項目 | 内容 | 備考 | ||
---|---|---|---|---|
SAML基本情報 | SPのメタデータをアップロードする | 「SPのメタデータをアップロードする」をチェック | ||
SPメタデータ | 手順4-6で入手したSPメタデータをアップロード | |||
検証後の遷移先(RelayState) | (空欄) | |||
アプリケーションのトップページURL | (空欄) | |||
アサーションの署名アルゴリズム | 例) | |||
ユーザ識別子(NameID)の指定 | 関連付けるユーザ属性 | 例) ID | Salesforceの「統合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)」として指定するタイプが複数個存在しないように注意してください。
5. 「利用者設定」をクリックします。
6. 「利用者を追加する」をクリックし、アプリケーションにシングルサインオンさせたいグループ及びユーザを指定します。
【参考】
利用者に登録していないユーザにもこのアプリケーションを利用させたい場合は、「アプリケーションへのログイン」の「編集」をクリックしします。
「利用者でないユーザも、アプリケーションへのログインを許可する」を選択し、「変更を適用する」をクリックします。