使用 SAML 2.0 整合服務提供者作為連線應用程式
若要整合服務提供者和 Salesforce 組織,您可以使用會實作 SAML 2.0 來進行使用者驗證之連線應用程式。在服務提供者或身分提供者起始流程時,Salesforce 支援 SAML 單一登入 (SSO)。若要使用此選項,使用針對服務提供者啟用的 SAML 2.0 來設定連線應用程式。將 Salesforce 組織定義為 SAML 身分提供者。
必要版本
| 提供版本:Salesforce Classic 與 Lightning Experience |
可在下列版本建立連線的應用程式:Group、Essentials、Professional、Enterprise、Performance、Unlimited 及 Developer Edition 可在下列版本安裝連線的應用程式:所有版本 |
| 需要的使用者權限 | |
|---|---|
| 讀取、建立、更新或刪除連線的應用程式: | 「自訂應用程式」權限和 「修改所有資料」或「管理已連線的應用程式」權限 |
| 若要更新除了「設定檔」、「權限集」與「服務提供者 SAML 屬性」以外的所有欄位: | 「自訂應用程式」權限和 「修改所有資料」或「管理已連線的應用程式」權限 |
| 若要更新「設定檔」、「權限集」與「服務提供者 SAML 屬性」: | 「自訂應用程式」、「修改所有資料」以及「管理設定檔和權限集」權限 |
| 若要輪替取用者金鑰和取用者密碼: | 允許取用者金鑰和密碼輪替 |
| 安裝及解除安裝連線的應用程式: | 「自訂應用程式」權限和 「修改所有資料」或「管理已連線的應用程式」權限 |
| 安裝及解除安裝已封裝連線的應用程式: | 「下載 AppExchange 封裝」和「自訂應用程式」及 「修改所有資料」或「管理已連線的應用程式」權限 |
例如,您建立自訂的「您的優惠」Web 應用程式,此應用程式會實作 SAML 2.0 來進行使用者驗證。您希望使用者能夠使用本身的 Salesforce 認證來登入此應用程式。若要設定此 SSO 流程,請將「您的優惠」Web 應用程式設定為連線的應用程式。定義 Salesforce 組織成為連線之應用程式的 SAML 身分提供者。您的使用者現在即可使用 Salesforce 認證來登入「您的優惠」Web 應用程式。
- 完成定義服務提供者的先決條件。
-
若要在驗證使用者後將其導向至特定的位置,請輸入應用程式的開始 URL。
起始 URL 可以是絕對 URL,例如 https://MyDomainName.my.salesforce.com/001/o,或者可以是應用程式名稱的連結,例如 GoodApp 的 https://customer.goodApp.com。指定啟動 URL 可讓應用程式在應用程式功能表和 App Launcher 中使用。如果您建立之連線的應用程式是畫布應用程式,請略過此欄位。「畫布應用程式 URL」欄位包含對於連線的應用程式呼叫的 URL。
- 建立連線的應用程式,並完成其基本資訊。
-
在「Web 應用程式設定」區段中,選取「啟用 SAML」,然後輸入此資訊,這些資訊會由服務提供者提供。
-
實體識別碼—服務提供者的全域唯一識別碼。如果您要從服務提供者存取多個應用程式,請定義服務提供者。然後使用
RelayState參數附加 URL 值,以在登入後將使用者導向至正確的應用程式。 - ACS URL—(判斷取用者服務) 接收 SAML 判斷的服務提供者端點。
- 「主題類型」—指定哪個欄位定義應用程式的使用者身分。選項包括使用者的使用者名稱、聯合識別碼、15 個字元的使用者識別碼、自訂屬性,或是以演算法計算的不變識別碼。自訂屬性可以是新增至組織中「使用者」物件的任何自訂欄位 (只要其為下列資料類型之一):電子郵件、文字、URL 或公式 (含「文字傳回類型」)。針對「主題類型」選取「自訂屬性」後,Salesforce 即會顯示「自訂屬性」欄位,此欄位具有組織中可用「使用者」物件自訂欄位的清單。
-
「名稱識別碼格式」—指定以 SAML 訊息傳送的格式屬性。預設選取項目為「不指定」。您可以根據 SAML 服務提供者,設定此格式為電子郵件、永久或暫時。如果您將此格式設定為電子郵件地址,則您的身分提供者會在 SAML 訊息中以不同方式描述組織使用者和 Experience 雲端使用者。針對組織使用者,SAML 訊息僅包含使用者的電子郵件地址。此範例顯示當組織使用者登入時傳送的 SAML 訊息,且其「名稱識別碼格式」設為電子郵件地址。
針對 Experience Cloud 使用者,SAML 訊息會將組織識別碼附加至使用者的電子郵件地址。此範例顯示當 Experience Cloud 使用者登入時傳送的 SAML 訊息,且其「名稱識別碼格式」設為電子郵件地址。<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>
如果您的服務提供者僅接受電子郵件地址,而不接受組織識別碼,請為電子郵件地址建立自訂屬性。如需詳細資訊,請參閱將自訂屬性新增至連線的應用程式。<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 是身分提供者的標準核發者。如果您的 SAML 服務提供者要求不同的值,請在此處指定。
-
實體識別碼—服務提供者的全域唯一識別碼。如果您要從服務提供者存取多個應用程式,請定義服務提供者。然後使用
-
若要在使用者登出 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 訊息的簽署演算法」,請選取 SHA1 或 SHA256,以保護從您的 Salesforce 組織所傳送的 SAML 訊息。Salesforce 作為身分提供者,會將所選的演算法套用到本身的 SAML 要求和回應。所選的簽署演算法會套用到從您組織到服務提供者的單一登入和單一登出訊息。
- 完成連線應用程式的所有設定後,儲存您的作業。
此文章是否解決您的問題?
請讓我們知道,以便我們改進!
