iT邦幫忙

0

關於公司實作 SSO 使用工具的選擇

  • 分享至 

  • xImage

大家好,我目前正在研究所就讀,預計6月畢業,同時也在一家公司實習。
我的任務是協助公司建立SSO機制並選擇最適合的身分驗證工具。
由於公司有多個品牌和業務,但每個系統都是獨立運作,這導致用戶需要重複註冊帳號,系統之間資料不互通,難以實現用戶精準行銷。

根據已知的公司資訊

  1. 目前有大約10個系統需要整合
  2. 系統幾乎為 Asp.Net 少部分為 PHP Laravel
  3. 整體客戶數估算為 50~80 萬人
  4. 公司內部有使用 AD 服務
  5. 公司有自己的 ERP 系統,目前沒有計畫要一起整合(未來不一定)

經過簡單的測試和調查後,鎖定了以下四種身分驗證工具:

1. Duende IdentityServer
同樣基於 Asp.Net 架構的身分驗證工具,具有高度自定義功能和流程。它的缺點是相對複雜,需要比較多的人力來維護,但安全性非常好。 如果採用此工具,需要購買12000美元/年的授權費用。(前一代IdentityServer4已停止維護,因此只考慮 Duende IdentityServer)
2. Keycloak
由Red Hat開發的開源身份驗證平台,具有良好的管理介面和簡單的設置,不須像 IdentityServer 需要大量程式碼的維護,而且是免費的,在外國論坦討論度也挺高,唯一擔心的是它是由 Java 撰寫的,如果未來擴充功能需要修改代碼,公司可能需要額外找人力。
3. Auth0
使用上像是 Keycloak 的高配版,擁有非常清晰的文檔指南,內建也整合了非常多功能,是一個SaaS服務。雖然費用相對較高,但如果考慮短期上線的話,這可能是一個非常適合的選擇。同一家公司的另一個服務Okta費用更高,但也適合大型公司使用。由於公司已經有自己的 ERP 系統,這邊先排除掉 Okta,Auth0 還在考慮範圍中。
4. AzureAD B2C
公司現有狀況下似乎非常適合使用。由於公司已經在使用微軟的其他服務,因此 AzureAD B2C 可能會更容易整合。不過,網上對其設定的評價不太好,也有一些不方便的地方,像是半成品。但就安全性而言,應該沒有問題。
(目前公司不考慮 google、aws 的服務)

請問各位前輩
這4個工具有哪個是比較合適的呢?
使用上有什麼需要注意的點呢?
或是有其他的工具或任何建議
也歡迎留下評論
非常感謝

sd3388 iT邦好手 1 級 ‧ 2023-03-03 18:10:20 檢舉
好啦!就用第4項
我看妳巴拉巴啦說這麼多這個不考慮那個先排除
不就是希望大家贊同妳
我個人反而比較喜歡Keycloak
不過問問題倒是沒有預設立場了
排除也是因為不適合 or 已經被否決的選項
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1

依照你的情況,我會選第四個
時間夠,公司自己刻一個最棒

了解
另外在我研究的時候,有看到這類的觀點:

"盡量不要自己建置身分驗證服務,因為相對起來不比那些經過時間考驗的專案穩定與專業,特別是處理協定的部分"

請問您會怎麼看這句話呢?

我覺得要看自身的經驗與公司考量作評估
如果只想要快速且想將資料託付給別人,那麼就使用工具
如果時間夠且公司想保管自己的資料,那麼自建更妥當

0
天黑
iT邦研究生 5 級 ‧ 2023-03-03 13:56:59

如果已經有在使用AzureAD,就用AzureAD吧,畢竟公司內的人也要用吧,這樣整合應該比較方便,接著要弄到類似多租戶,可能還要再加一個權限管理平台,另外如果是企業方案應該有對應的窗口可以解決遇到的問題

抱歉我必須更正一下
公司目前有使用 AD 服務,而不是 AzureAD
如果是這樣您還會推薦 AzureAD 嗎?

0
zero
iT邦好手 1 級 ‧ 2023-03-03 16:35:56

這10個系統服務建置在哪裡? 雲端? 地端?

雲端多,AzureAD

地端多,本地端直接架AD,還能順便控管Windows的機器

基本上只要地端的Windows數量一多,通常都會有地端的AD才對

AzureAD B2C是服務型項目,所以可以個別指派給AzureAD的帳戶做使用

從你的發問來看,你們已經有AzureAD的帳戶,

地端AD與AzureAD的帳戶只要設定好同步,同步是免費的不用任何授權費

你要走內網驗證還是雲端驗證都不是問題

看更多先前的回應...收起先前的回應...

這些系統都建置在本地端
抱歉更正一下,公司目前有使用 AD 服務才對
而沒有使用 AzureAD

不過這樣看起來似乎沒有選擇其他套件的理由了

zero iT邦好手 1 級 ‧ 2023-03-03 17:46:32 檢舉

AzureAD有免費的,你只要開好管理用的帳戶,驗證過你們的網域名稱,在做同步部屬就可以讓地端的AD帳戶同步AzureAD上,這樣就可以用了,密碼記得一起同步上去,這樣才能做到SSO

了解~感謝提點
這對我很有幫助

0
sam0407
iT邦大師 1 級 ‧ 2023-03-06 16:43:55

不同系統帳號同步來同步去,問題一定會很多,要不要考慮集中化,直接用RADIUS來整合??

0
bingtw
iT邦新手 5 級 ‧ 2023-03-09 01:53:29

我選 2. Keycloak,因為我目前的公司內也正在使用
相信我,你不會想要去幫 SSO 系統擴充功能
因為一但你這麼做了,接下來你可能會面臨的問題就是新版發佈後你必須開始為擴充功能做 porting

我要發表回答

立即登入回答