Salesforce Admin篇(四) Security 之Two-Factor Authentication & Single Sign On

本篇參考:android

https://c1.sfdcstatic.com/content/dam/web/en_us/www/documents/white-papers/2fa-admin-rollout-guide.pdfweb

https://blog.bessereau.eu/assets/pdfs/salesforce_single_sign_on.pdf數據庫

https://blog.bessereau.eu/assets/pdfs/salesforce_security_impl_guide.pdf瀏覽器

做爲salesforce管理員,在針對確保用戶安全以及用戶快速登錄每每要多加考慮以及劃清界限。本篇主要介紹兩點:安全

1. 保障用戶安全的不止帳號和密碼,還能夠經過其餘的方式去加強安全性,好比 two-factor authentication,縮寫爲2FA.app

2. 單點登陸保證用戶能夠快速登錄以及減小用戶須要記住多個系統的帳號密碼。dom

一. Two-Factor Authentication(2FA)ide

咱們在支付寶沒有普及之前,若是網上購物,須要用到網銀進行支付,即提供了銀行卡帳號密碼之後,還要有一個一次性的數字串去完成交付。保證別人瞭解你帳號密碼的狀況下依然無法直接盜取或者盜刷你的錢財。 2FA 有着相似的功能,即當你輸入帳號密碼之後,還須要一個認證的標識去決定你最終是否能夠最終登錄。這個標識掌握在你的手機中,當有登錄操做,你能夠隨時清楚是不是你的登錄,若是不是,拒絕掉,增長了安全性。學習

使用2FA 按照如下步驟走便可:測試

1. 設置 sesion security level

Setup 中搜索 Session Settings,在Session Security Levels的下面,將two-factor authentication放在右側區域。

2. 建立 permission set配置2FA

輸入label建立 permission set保存之後,在system 設置中,勾選‘Two-Factor Authentication for User Interface Logins’選項

3. 選擇須要配置2FA的用戶進行assign操做。

4. 下載salesforce authenticator app. 蘋果手機去app store , android 手機去google play, 由於本人手機沒有google play環境,因此可能部分功能沒法使用。

點擊添加帳號,會有兩個單詞,在permission set中配置的帳號登錄salesforce之後會跳轉到中間頁,輸入內容之後便和salesforce authenticator進行了綁定,之後登錄之後都會在手機中進行受權操做。

綁定操做之後,如何進行解綁操做? 咱們第一想法是將此user從permission set中移除。可是此帳號已經和salesforce authenticator綁定,單純的移除permission set無濟於事。正確的操做爲須要進入這個user,詳情頁中有一項App Registration: Salesforce Authenticator,點擊 disconnect便可。

二. Single Sign On

Single Sign On 對於咱們來講並不陌生,咱們在的公司可能有多個系統,不一樣系統之間須要記住不一樣的帳號增長了員工的麻煩量,忘記密碼也會增長管理員的工做。對於多個系統狀況下,使用單點登陸有太多的優點。

使用Single Sign On一般會經歷如下的步驟:

  1. 用戶嘗試訪問salesforce;
  2. Salesforce識別了這個SSO的請求而且生成了一個SAML請求;
  3. Salesforce重定向這個SAML請求到瀏覽器端;
  4. 瀏覽器重定向這個SAML請求到外部的identity provider;
  5. Identity provider驗證了這個用戶的身份而且將關於這個用戶身份認證的SAML斷言進行打包;
  6. Identity provider將SAML斷言結果發送給salesforce;
  7. Salesforce驗證斷言是否正確;
  8. user能夠正常的登錄以及訪問Salesforce。

這裏涉及到了幾個名詞。

SSO是Single Sign On的縮寫,意爲單點登陸。

SAML是Salesforce單點登陸時使用的協議,全稱爲Security Assertion Markup Language。這裏再引伸兩個概念。Service Provider以及Identity Provider。Identity Provider用於對用戶進行身份認證的,而 Service Provider用來請求用戶身份認證是否經過的。SAML工做的原理爲當一個用戶要訪問salesforce,Service Provider會向Identity Provider發出請求來驗證當前用戶是否經過的,Identity Provider再進行查詢數據庫等操做之後返回一個斷言的response來決定是否有權限訪問。這裏對SAML有一個大概的描述方便了解,感興趣的能夠自行查看文檔。

咱們繼續看下面的圖片,經過單點登錄受權之後咱們能夠經過Connected App訪問外部的Service,包括谷歌,salesforce等。這裏詳細介紹兩個概念,Identity Provider以及Servide Provider。針對Google / Salesforce 等服務,咱們能夠理解成Service Provider, 中間的Salesforce能夠理解成 Identity Provider。當咱們獲得了Identity Provider的受權之後,咱們即可以直接訪問Service Provider配置的對應的External Service,無需再進行External Service的登錄操做。

 下面經過一個demo講述如下Salesforce 2 Salesforce Single Sign-On的實例。

 1. Enable My Domain:針對Salesforce的兩個org都要啓用自定義的domain,啓用方法能夠查看https://help.salesforce.com/articleView?id=domain_name_overview.htm&type=5

此篇中本人的兩個org的地址分別爲:

https://zero-zhang-dev-ed.lightning.force.com

https://zhangyueqi-3-dev-ed.lightning.force.com

咱們使用上面的做爲 Identity Provider,下面的做爲Service Provider。

2.  獲取 Identity Provider的信息。咱們在Identity Provider環境搜索identity provider能夠看到如下的內容,包括Issuer,Salesforce Identity等信息。若是當前沒有啓用咱們點擊Enable便可。這裏咱們download下來Certificate 以及 metadata。

 3. 配置Service Provide Single Sign-On的信息:在 SetUp出搜索 single sign on 點擊後點擊New From Metadata,文件選擇咱們在Identity Provider環境中download下來的metadata。

 4. 其餘的配置項均保留,針對 Identity Provider Certificate選擇上面Identity Providerdownload下來的certificate,SAML Identity Type選擇 Federation項後保存。 

5. 在Servide Provider中,Setup搜索 my domain 將配置的Authentication Service放出來。

 6. 在 Identity Provider環境配置Connected App. Lightning 環境下SetUp中搜索 App Manager後點擊New Connected App按鈕。Connected App Name 咱們這裏命名爲Single Sign On Connected App,名字能夠任意起, 勾選Enable SAML之後,配置 Entity Id項以及ACS URL。Entity Id 對應 Service Provider中的Single Sign-On配置的Entity Id;ACS URL取得是 Service Provider中的EndPoint區域的Login URL。Subject Type選擇 Federation Id後保存。

 7. 保存後的Identity Provider的 Connected App點擊Manage後選擇 Manage Profiles 或者 Manage Permission Sets來設置哪些人能夠進行單點登陸設置。

 至此咱們便已經配置完 Salesforce 2 Salesforce Single Sign-On 功能。下面進行測試。

1. 咱們在Identity Provider環境的user中配置 Federation Id爲00000001,此帳號 Profile爲 System Administrator,在咱們上面的配置的Profile中。

 2. 咱們在 Service Provider中配置帳號一樣Federation ID爲00000001.這裏須要注意的是 Federation ID在同一個系統中必須是惟一的,在不一樣的系統中若是須要SSO,須要配置相同的值。

 3. 兩個帳號均退出後,登錄 Identity Provider環境,登錄之後。打開瀏覽器輸入 Service Provider的domain後,選擇下方的登錄方式,點擊之後便完成了單點登陸。

總結: 篇中針對 Admin的基礎知識講解了一下 Two-Factor以及 Salesforce-Salesforce Single Sign-On的配置,不少細節知識沒有涉及到,感興趣的自行查看文檔進行深刻學習。篇中有錯誤的地方歡迎指出,有不懂的歡迎提問,感興趣的能夠玩一下 Salesforce 2 Community的SSO配置。

相關文章
相關標籤/搜索