已命名認證結構描述
已命名認證與外部認證可簡化安全與已驗證呼叫的設定並更進一步地達成這些設定的重複使用率。
必要版本
| 提供版本:Salesforce Classic 與 Lightning Experience |
| 提供版本:所有版本 |
已命名認證結構描述的部分
瞭解已命名認證結構描述的不同部分。
- 已命名認證會指定呼叫端點和 HTTP 傳輸通訊協定。
- 外部認證的驗證通訊協定和使用者認證會驗證呼叫者。多個已命名認證可以使用同一個外部認證。
- 外部認證主體會對應至權限集,以授權使用者進行呼叫。
- 使用者外部認證會儲存加密的權杖。
- 外部驗證提供者取得輸出呼叫的 OAuth 權杖。
已命名認證
已命名認證是邏輯實體,可以想像成外部系統的已命名連線。有了已命名認證,便無需將實體 URL 內嵌至 Apex 程式碼中,也無需管理未加密資料存放區中的驗證權杖。相反地,程式碼中的變數可讓 Salesforce 管理員在部署時佈建實體端點,並在組織的加密認證存放區中管理使用者認證。已命名認證 URL 會在執行階段針對設定的實體端點以及執行呼叫之授權使用者的認證進行解析。
您可以自訂已命名認證。例如,您可以使用 Salesforce 公式函數定義 HTTP 標題,藉此針對呼叫使用者的內容量身打造標題值,或是在要求內文中替代公式函數變數。
已命名認證有不同的類型。進階使用個案會從儲存自訂參數中獲益,其也受到支援。參數實際上是名稱-值配對,用來擷取任意中繼資料,且會安全儲存參數值。已命名認證可以是下列其中一種類型。
- SecuredEndpoint
- 已命名認證包含端點的傳輸通訊協定,其會透過傳輸層安全性 (TLS) 保護安全性。這是預設已命名認證類型。
- PrivateEndpoint
- 已命名認證會透過私人連線傳送流量,略過公用網際網路。
- 舊版
- 舊版已命名認證會指定呼叫端點的 URL 及其在定義中必要的驗證參數。
外部認證
安全性原則通常會要求驗證詳細資料輪替變更。外部認證會壓縮 Salesforce 向遠端系統驗證之方式的詳細資料。透過從程式碼中外部化驗證資訊,開發人員無須變更這些詳細資料,便可保持與此類原則的合規性。
超大型雲端基礎結構提供者通常會代管許多不同的系統,且一組認證即可用來存取多個已命名系統。已命名認證會保有對外部認證的參照,多個已命名認證可從共用單一外部認證中獲益。例如,Salesforce 整合能夠以相同的認證存取 Google Drive 和 Google 行事曆的 API。
驗證通訊協定 (例如 OAuth 或 Signature 簽章 v4),指定如何向外部系統驗證。例如,它們可以指定存取金鑰的交換方式或重新整理到期存取金鑰的方式。通訊協定會指定平台處理的實作詳細資料,例如金鑰的交換方式和重新整理的時間。系統會將驗證參數擷取為外部認證名稱-值配對。有關通訊協定特定參數的驗證,請參閱 API 文件。
權限集
Salesforce Platform 支援使用權限集來控制授權哪些使用者進行呼叫。外部認證會驗證使用者,而權限集則會授權使用者。您透過外部認證主體將外部認證連結至權限集或使用者設定檔。在執行階段,平台會在存取遠端系統前確保使用者擁有該權限集。
開發小組可以選擇封裝代表存取特定遠端系統的封裝權限集,但管理員可以保留將外部認證與其所選擇的其他權限集相關聯的選項。
使用者外部認證
已命名認證呼叫的權杖會加密並儲存在使用者外部認證物件中。執行已驗證呼叫的任何使用者都需要使用者外部認證的以設定檔或權限集為基礎的存取權。依預設,大多數標準權限集和設定檔都具有「使用者外部認證」物件的存取權。針對來賓使用者設定檔以及某些自訂權限集和設定檔,您必須手動指派「使用者外部認證」物件權限。
雖然已命名認證的執行階段行為會從使用者外部認證物件讀取權杖,但不會從 SOQL、Apex 或 API 存取此物件的記錄。您可以使用 Connect REST API 中的特殊方法,以程式設計的方式刪除權杖。
外部驗證提供者
使用 OAuth 2.0 驗證的外部認證可以參照外部驗證身分提供者,其會取得對外部系統輸出呼叫所需的 OAuth 權杖。若要將要求自訂至身分提供者的權杖端點,並指定要在多租戶系統中存取的租戶,您可以將帳戶識別碼或租戶識別碼附加為自訂要求參數。
不同於可連結至外部認證的「驗證提供者」,您可以透過 Connect REST API 或 Apex 建立外部驗證提供者。此外,您也可以將其包含在第二代受管理封裝 (受管理的 2GP) 和解除鎖定的封裝中,以在多個組織之間或在一個組織的開發、測試和生產環境之間散佈。

