SAML 2.0 を使用した接続アプリケーションとしてサービスプロバイダーを統合
サービスプロバイダーと Salesforce 組織を統合するために、ユーザー認証に SAML 2.0 を実装する接続アプリケーションを使用できます。サービスプロバイダーまたは ID プロバイダーがフローを開始する場合は、Salesforce が SAML シングルサインオン (SSO) をサポートします。このオプションを使用するには、サービスプロバイダーの SAML 2.0 を有効にして接続アプリケーションを設定します。Salesforce 組織を、SAML ID プロバイダーとして定義します。
必要なエディション
| 使用可能なインターフェース: Salesforce Classic および Lightning Experience の両方 |
接続アプリケーションを作成可能なエディション: Group Edition、Essentials Edition、Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition 接続アプリケーションをインストール可能なエディション: すべてのエディション |
| 必要なユーザー権限 | |
|---|---|
| 接続アプリケーションを参照、作成、更新または削除する | 「アプリケーションのカスタマイズ」および 「すべてのデータの編集」または「接続アプリケーションの管理」のいずれか |
| プロファイル、権限セット、およびサービスプロバイダーの SAML 属性以外のすべての項目を更新する | 「アプリケーションのカスタマイズ」および 「すべてのデータの編集」または「接続アプリケーションの管理」のいずれか |
| プロファイル、権限セット、およびサービスプロバイダーの SAML 属性を更新する | 「アプリケーションのカスタマイズ」および「すべてのデータの編集」および「プロファイルと権限セットの管理」 |
| コンシューマー鍵とコンシューマーの秘密を循環する | 「コンシューマーキーと秘密の循環の許可」 |
| 接続アプリケーションをインストールおよびアンインストールする | 「アプリケーションのカスタマイズ」および 「すべてのデータの編集」または「接続アプリケーションの管理」のいずれか |
| パッケージ化された接続アプリケーションをインストールおよびアンインストールする | 「AppExchange パッケージのダウンロード」および「アプリケーションのカスタマイズ」および 「すべてのデータの編集」または「接続アプリケーションの管理」のいずれか |
詳細については、「Spring '26 で新しい接続アプリケーションを作成できなくなりました」を参照してください。
たとえば、ユーザー認証に SAML 2.0 を実装したカスタムの Your Benefits (従業員福利厚生) という Web アプリケーションを構築したとします。ユーザーが各自の Salesforce ログイン情報を使用して、このアプリケーションにログインできるようにしたいと考えています。この SSO フローを設定するには、Your Benefits (従業員福利厚生) Web アプリケーションを接続アプリケーションとして設定します。Salesforce 組織を、この接続アプリケーションの SAML ID プロバイダーとして定義します。これでユーザーが各自の Salesforce ログイン情報を使用して、Your Benefits (従業員福利厚生) アプリケーションにログインできるようになります。
- サービスプロバイダー定義の前提条件を完了します。
-
認証後にユーザーを特定の場所に転送するには、アプリケーションの開始 URL を入力します。
開始 URL には https://MyDomainName.my.salesforce.com/001/o などの絶対 URL を使用できます。または、GoodApp の場合は、https://customer.goodApp.com などのアプリケーション名のリンクを使用できます。開始 URL を指定すると、アプリケーションメニューおよびアプリケーションランチャーでアプリケーションを使用できるようになります。作成している接続アプリケーションがキャンバスアプリケーションの場合は、この項目をスキップします。[キャンバスアプリケーションの URL] 項目には、接続アプリケーションからコールされる URL が含まれます。
- 接続アプリケーションを作成し、その基本情報を完了します。
-
[Web アプリケーション設定] セクションで [SAML の有効化] を選択し、次の情報を入力します。この情報はサービスプロバイダーから入手できます。
-
エンティティ ID — サービスプロバイダーのグローバル一意識別子。サービスプロバイダーから複数のアプリケーションにアクセスする場合、そのサービスプロバイダーを定義します。次に、
RelayStateパラメーターを使用して、サインイン後にユーザーを適切なアプリケーションに移動させるための URL 値を追加します。 - ACS URL — (アサーションコンシューマーサービス) SAML アサーションを受け取るサービスプロバイダーのエンドポイント。
- 件名種別 — アプリケーションのユーザー ID を定義するフィールドを指定します。ユーザーのユーザー名、統合 ID、15 文字のユーザー ID、カスタム属性、またはアルゴリズムを使用して計算された永続 ID などのオプションがあります。 カスタム属性は、そのデータ型がメール、テキスト、URL、数式 (戻り値のデータ型がテキスト) のいずれかに該当する場合、組織のユーザーオブジェクトに追加される任意のカスタム項目にすることができます。件名種別に [カスタム属性] を選択すると、[カスタム属性] 項目に、組織で使用できるユーザーオブジェクトのカスタム項目のリストが表示されます。
-
名前 ID 形式 — SAML メッセージで送信される形式属性を指定します。デフォルトの選択は [未定義] です。SAML サービスプロバイダーによっては、この形式をメールアドレス、persistent (永続)、または transient (一時) に設定できます。この形式をメールアドレスに設定すると、ID プロバイダーは SAML メッセージ内で組織のユーザーと Experience Cloud ユーザーを異なる方法で記述します。組織のユーザーの場合、SAML メッセージにはユーザーのメールアドレスのみが含まれます。次の例は、組織のユーザーがログインしたときに送信される SAML メッセージを示しており、[名前 ID 形式] がメールアドレスに設定されています。
Experience Cloud ユーザーの場合、SAML メッセージのユーザーのメールアドレスに組織 ID が追加されます。次の例は、Experience Cloud ユーザーがログインしたときに送信される SAML メッセージを示しており、[名前 ID 形式] がメールアドレスに設定されています。<saml:Subject> <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">sandy@salesforce.com</saml:NameID> <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml:SubjectConfirmationData NotOnOrAfter="2021-02-04T20:24:41.098Z" Recipient="https://playground-test.salesforce.com?so=00DR00000000R6N"/> </saml:SubjectConfirmation> </saml:Subject>
サービスプロバイダーがメールアドレスのみを受け入れて組織 ID は受け入れない場合、メールアドレスのカスタム属性を作成します。詳細は、「接続アプリケーションへのカスタム属性の追加」を参照してください。<saml:Subject> <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">00DR00000008fLq@sandy@play-test.com</saml:NameID> <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml:SubjectConfirmationData NotOnOrAfter="2021-02-04T20:17:12.647Z" Recipient="https://playground-test.salesforce.com?so=00DR00000000R6N"/> </saml:SubjectConfirmation> </saml:Subject> - 発行者 — デフォルトでは、組織の [私のドメイン] ログイン URL が ID プロバイダーの標準発行者です。SAML サービスプロバイダーによって別の値が要求される場合、それをここに指定します。
-
エンティティ ID — サービスプロバイダーのグローバル一意識別子。サービスプロバイダーから複数のアプリケーションにアクセスする場合、そのサービスプロバイダーを定義します。次に、
-
ユーザーが Salesforce からログアウトしたときにユーザーを接続アプリケーションサービスプロバイダーから自動的にログアウトするには、[シングルログアウトを有効化] を選択します。次に、以下の手順を実行します。
- サービスプロバイダーのシングルログアウトエンドポイントを入力します。ユーザーが Salesforce からログアウトすると、Salesforce はログアウト要求をこの URL に送信します。シングルログアウト URL は、https:// で始まる絶対 URL にする必要があります。
-
サービスプロバイダーに Salesforce IdP SLO エンドポイントを提供します。エンドポイントは、シングルログアウトエンドポイントとして SAML ログイン情報にリストされます。また、検出エンドポイントとして SAML メタデータファイルにもリストされます。エンドポイントの形式は https://MyDomainName.my.salesforce.com/services/auth/idp/saml2/logout です。ここで、MyDomainName は組織の [私のドメイン] の名前です。

- サービスプロバイダーから提供されるシングルログアウトの HTTP バインド種別を選択します。
-
サービスプロバイダーが Salesforce からの SAML 要求を検証するための一意の証明書を要求する場合、システムから証明書をアップロードします。それ以外の場合、この設定を [デフォルトの IdP 証明書] のままにします。
証明書のサイズは、4 KB 未満に制限されています。
-
サービスプロバイダーからセキュリティ証明書が提供されている場合、[要求署名を確認] を選択します。システムで証明書を参照してアップロードします。この証明書が必要になるのは、Salesforce へのログインをサービスプロバイダーから開始するように計画しており、そのサービスプロバイダーが SAML 要求に署名する場合のみです。
重要 証明書をアップロードする場合は、すべての SAML 要求に署名する必要があります。証明書がアップロードされない場合、すべての SAML 要求が受け入れられます。 - 必要に応じて、[SAML レスポンスを暗号化] を選択し、システムで証明書を参照してアップロードします。アサーションを暗号化するための暗号化メソッドを選択します。有効な暗号化アルゴリズム値は、AES–128 (128 ビット鍵) および AES–256 (256 ビット鍵) です。
- [SAML メッセージの署名アルゴリズム] で、Salesforce 組織から送信される SAML メッセージを保護するために [SHA1] または [SHA256] を選択します。ID プロバイダーとして、Salesforce によって選択したアルゴリズムがその SAML 要求および応答に適用されます。選択した署名アルゴリズムは、組織からサービスプロバイダーへのシングルサインオンおよびシングルログアウトメッセージに適用されます。
- 接続アプリケーションのすべての設定が完了したら、作業内容を保存します。

