ポータルとサイトのシングルサインオン
ポータルとサイトのシングルサインオン (SSO) を設定できます。Summer '13 リリースの時点では、新しい組織にカスタマーポータルとパートナーポータルを使用できなくなります。代わりに、Experience Cloud サイトを使用します。
必要なエディション
| 使用可能なインターフェース: Salesforce Classic および Lightning Experience の両方 |
統合認証を使用可能なエディション: すべてのエディション 代理認証を使用可能なエディション: Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、Developer Edition、および Database.com Edition 認証プロバイダーを使用可能なエディション: Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition |
ポータルとサイトを引き続き使用する場合は、次の要件に注意してください。
- ポータルとサイトでは、SAML バージョン 2.0 のみを使用できます。
- カスタマーポータルとパートナーポータルのみがサポートされます。
- サービスプロバイダーの起動によるログインはサポートされません。
- ポータルでは、
portal_id属性とorganization_id属性は必須です。1 つだけ指定した場合、ユーザーにはエラーが表示されます。 - サイトでは、
portal_id属性、organization_id属性、およびsiteUrl属性は必須です。1 つだけ指定した場合、ユーザーにはエラーが表示されます。 - ポータルでは、
portal_id属性とorganization_id属性の両方が SAML アサーションに存在する場合、ユーザーはそのポータルログインに送られます。どちらも指定されていない場合、ユーザーは通常の SAML Salesforce ログインに送られます。 - サイトでは、
portal_id属性、organization_id属性、siteUrl属性のすべてが SAML アサーションに存在する場合、ユーザーはそのサイトログインに送られます。siteUrlが入力されておらず、他の 2 つの属性が入力されている場合、ユーザーはポータルログインに送られます。 - 1 つの組織で複数のポータルを使用できます。
ID プロバイダーを有効にしてポータルまたはサイトのサービスプロバイダーを定義する場合は、次の考慮事項に注意してください。
- サービスプロバイダーを定義する場合に [件名種別] が [ユーザー名] であれば、SAML アサーションのユーザー名の先頭に Salesforce 組織 ID が付きます。たとえば、ユーザーが jDeoint@WFC.com の場合、SAML アサーションの件名は 00DE0000000FFLT@jDeoint@WFC.com を含みます。[件名種別] が [統合 ID] の場合、正確な統合 ID が使用されます。
- Salesforce が生成した SAML アサーションに含まれる属性
is_portal_userには値があります。この例をサービスプロバイダーと共有することを検討してください。<saml:Attribute Name="is_portal_user" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:anyType">true </saml:AttributeValue> </saml:Attribute>
ポータルのシングルサインオンの有効化
ポータルで SAML シングルサインオン (SSO) を使用するように設定できます。ただし、Summer '13 リリースの時点では、新しい組織にカスタマーポータルとパートナーポータルを使用できません。代わりに、Experience Cloud サイトを使用します。
必要なエディション
| 使用可能なインターフェース: Salesforce Classic |
| 使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition |
| 必要なユーザー権限 | |
|---|---|
| 設定を参照する | 「設定・定義の参照」 |
| 設定を編集する | 「アプリケーションのカスタマイズ」 および 「すべてのデータの編集」 |
-
カスタマーポータルまたはパートナーポータルのいずれかを設定します。
収集して ID プロバイダーと共有する必要がある SAML サインオン情報に加えて、組織 ID とポータル ID の情報を情報プロバイダーに提供します。 ID プロバイダーから送信される SAML アサーションに次の属性を追加します。
organization_id、portal_id -
組織 ID およびポータル ID の値を [設定] から取得します。
- [設定] から、[クイック検索] ボックスを使用して [組織情報] を見つけて選択します。[Salesforce 組織 ID] にある ID をコピーします。
- ポータル設定にポータル ID を追加します。
サイトのシングルサインオンの有効化
ポータルで SAML シングルサインオン (SSO) を使用するように設定できます。ただし、サイトを有効化するにはポータルを設定する必要があります。Summer '13 リリースの時点では、新しい組織にカスタマーポータルとパートナーポータルを使用できません。代わりに、コミュニティを使用します。
必要なエディション
| 使用可能なインターフェース: Salesforce Classic および Lightning Experience の両方 |
| 使用可能なエディション: Developer Edition、Enterprise Edition、Performance Edition、および Unlimited Edition |
| 必要なユーザー権限 | |
|---|---|
| Salesforce サイトの作成と編集を行う | 「アプリケーションのカスタマイズ」 または 「エクスペリエンスの作成および設定」 |
- カスタマーポータルまたはパートナーポータルのいずれかを設定します。
- サイトを設定します。
- カスタマーポータルを使用している場合は、カスタマーポータルを使用するサイトを設定します。
-
収集して ID プロバイダーと共有する必要のある SAML サインオン情報のほか、情報プロバイダーに次の情報を提供します。
- 組織 ID
- ポータル ID
- サイトの URL
-
ID プロバイダーから送信された SAML アサーションに、次の属性を追加します。
-
organization_id -
portal_id -
siteurl
-
-
組織 ID、ポータル、サイト URL の値を [設定] から取得します。
- [設定] から、[クイック検索] ボックスを使用して [組織情報] を見つけて選択します。[Salesforce 組織 ID] にある ID をコピーします。
-
カスタマーポータルの場合、[設定] から、[クイック検索] ボックスを使用して [カスタマーポータル設定] を見つけて選択します。カスタマーポータルの名前をクリックして、[ポータル ID] にある ID をコピーします。
パートナーポータルの場合は、[設定] から、[クイック検索] ボックスを使用して [設定] を検索し、選択します。パートナーポータルの名前をクリックして、[Salesforce ポータル ID] にある ID をコピーします。
- [設定] から、[クイック検索] ボックスを使用して [カスタム URL] を見つけて選択します。
Salesforce は、組織の ID プロバイダーがログインを開始するときに、SAML を使用した SSO を自動的にサイトで使用できるようにします。
サービスプロバイダーによるログイン開始時に、サイトで SAML を使用するには、サーバーへのリダイレクトを提供する Visualforce ページを作成します。次に例を示します。
<apex:page showHeader="false" sidebar="false">
<script>
var PingSpURL = "https://my.pingserver.com:9031/idp/startSSO.ping?PartnerSpId=salesforce.com.sp";
var siteLoginPage = "&TargetResource={!$Site.CurrentSiteUrl}siteLogin?startUrl={!$Site.OriginalUrl}";
window.location = PingSpURL+siteLoginPage;
</script>
</apex:page>
