Authing | 身份上雲 or 自建?這裏有 20 個問題值得你思考

身份管理自從計算機問世以來就存在,很多人覺得身份管理很簡單,其實難度遠超你的想象。

一、爲什麼要自建身份管理?

自計算機問世以來,身份管理一直是軟件的主要組成部分:打孔機和早期操作系統都受到用戶名/密碼身份驗認證的保護。擁有如此悠久的歷史,你會認爲身份管理是一個已經被妥善解決的問題。

自建身份管理一般在以下場景有充足的理由:

  1. 你正在做一些簡單的事情:沒有敏感信息或隱私問題,並且你的安全性要求不高,你的用戶數量不多,同時用戶類型比較單一,只有幾個應用程序;
  2. 你是一位經驗豐富的開發人員,並且在頂尖團隊中工作,多年來一直爲應用程序,網站,API 和服務構建身份認證;
  3. 某天你的預算減少了,這時你必須選擇一些方案來爲組織的大戰略省錢;

坦白說,如果你只有一個簡單的 Web 應用,只需要一兩個社交應用提供一鍵登錄,並且不需要「用戶名 - 密碼」或其他更細緻的用來登錄的功能,那麼自建就很容易。你可以在 Github 上找到大量開源框架來解決此類問題。

二、爲什麼要購買身份管理服務?

我們經常聽到客戶的研發團隊這麼評價 Authing:

> 我們自己就能做,爲什麼要用你們的,而且還要付錢?

接下來讓我們深入研究這個問題。

1、專業的人做專業的事

實現一套身份管理看上去似乎很簡單。但是失敗是很可怕的,一旦出現了問題,你的品牌就會受到嚴重損害。面對持續的黑客攻擊,和無休止的漏洞,你是否能準確知道自己的工作足夠好到可以保護用戶隱私和企業資產?

2、投入產出比

自建身份管理並不是免費的!
將資源到投入身份管理研發時會產生高昂的的機會成本。身份認證真的是你想要做的嗎?假如你做一款應用,會自己寫一套 RDBMS(關係數據庫管理系統) 嗎?身份管理就像 RDBMS,當你可以花合理的錢將非核心的繁重工作委派給專業人士時,爲什麼還要自建身份管理等基礎設施呢?身份泄漏產生的成本可能高達數百萬美元,你能否認身份安全沒有價值嗎?在評估購買身份管理服務的投資回報率時,請考慮這些因素。

3、複雜性

你的產品在前期肯定是簡單的,但是,一旦你的產品成功推向市場,你開始需要支持更廣泛的身份提供商。你可能還有合作伙伴,你可能還會推出移動 APP 和 API 讓其他人調用,這樣你的受衆羣體才能擴大。如果你在歐洲,你還會面臨 GDPR 的監管(中國也即將出臺相關法律)。這時身份管理開始變的複雜,維護自己的身份管理系統成本會比你預期要高的多。

4、測驗

上面的幾個問題可能已經引發了你的思考。有些你可能不在意,有些你可能在工作中已經遇到。但是,我們邀請你根據目前的狀態和未來幾個月或幾年的發展方向回答以下 20 個問題並切實考慮它們。

1)用戶相關的問題

  1. 你是否考慮過如何實現「用戶管理」?是自助管理還是集中管理?用戶體驗會是什麼樣?
  2. 你有用戶使用多個「身份提供商」登錄你的應用嗎?你如何判定他們是一個人?
  3. 你是否有多個服務或軟件需要認證?如果有,他們使用了同一個技術棧還是多個技術棧?(不同的技術棧會加大研發成本)
  4. 你是否需要統計信息來查看用戶的增長情況、設備情況、IP 地理位置和認證情況?如果需要,你計劃如何收集、分析和可視化這些數據?
  5. 你如何記錄並解決用戶身份認證過程中出現的異常事件(忘記密碼、無法登錄、認證失敗、過期等)?

2)應用服務相關的問題

  1. 你如何在漏洞被曝出之前及時發現漏洞?發現漏洞後如何通過補丁快速修復漏洞?
  2. 你如何處理在不同「身份提供商」之間認證時產生的「標準不兼容」問題?當這些身份提供商之間都使用了不同的技術棧之後,你將作何處理?
  3. 你的 DevOps 團隊能否在開發身份認證基礎設施上保持專業、領先地位和最佳實踐?
  4. 你有 MFA(多因素認證)策略嗎?你打算怎麼跨平臺的實現 MFA?你是否希望你的用戶能在 iOS 或 Android 設備上使用 FaceID 或指紋來進行身份認證?
  5. 你是否考慮過用戶存儲的可伸縮性、性能、查詢和可用性要求?在流量過大的情況下你如何保證登錄系統的 99.999% 可用?

3)身份提供商(IDP)相關的問題

  1. 你在遷移老應用進更現代的身份管理系統時,如何讓用戶不重置密碼無縫遷移?
  2. 你的一個 B2B 客戶需要 SSO,你可以在內網中或防火牆後面與 Active Directory 做聯合認證嗎?
  3. 不同的 SAML IdP 有多種格式存儲和傳遞聲明 —— 你是否有一種簡單的方法讓聲明完全自定義化?
  4. OpenID Connect 是流行的身份認證新標準:基於 REST / JSON 和 OAuth 2.0。但是其魔鬼般的實施細節,你計劃如何在不同的後端語言和客戶端之間實現它?

4)安全與合規問題

  1. 身份系統是黑客攻擊的首要目標。你是否考慮過實施暴力保護?比如 API 網關上的 DDoS 預防和緩解?
  2. 你是否打算讓第三方安全顧問來進行獨立的滲透測試,代碼審查和體系結構審查以驗證安全性和最佳實踐?
  3. 在身份實施過程中產生的安全漏洞報告你計劃如何解決?
  4. 你是否需要上下文逐步身份認證(Contextual Step-up Authentication)?例如 IP 白名單或 Active Directory 成員身份?你是否需要多種密碼加密算法?無密碼身份認證對你的用戶是否有效或存在意義?

5)時間與成本問題

  1. 你需要僱傭多少人,包括 IT,研發人員和外包服務(例如諮詢專業知識)?這些人很難找到,僱用起來也很昂貴。你將從何處獲得這些人才,費用是多少?
  2. 你預計的上線日期是什麼時候?你的 IAM 解決方案需要多少時間和多少次迭代?
> Forrester Consulting 的研究報告指出,使用身份管理服務可以產生 548% 的投資回報率和 370 萬美元的費用節省。

使用 Authing 可以一勞永逸的解決上述 20 個問題,任何想做計算機軟件的企業或個人,只需要接入 Authing 的雲服務,就可以以極低的成本,快速解決那些需要耗費數百萬元人民幣才能解決的問題。身份的複雜性和混亂性,造成了每年數十億的浪費,因爲其表面的簡單,導致了缺乏系統的標準,每家廠商都會自己搞一套自己的標準,這些混亂的標準既養活了一羣人,也加重了這羣人的開發負擔。

身份這件事,聽上去是老故事,看上去很簡單,但其從未得到很好的解決,這就是 Authing 存在的意義。

相關閱讀

什麼是 Authing?

Authing 提供專業的身份認證和授權服務。
我們爲開發者和企業提供用以保證應用程序安全所需的認證模塊,這讓開發人員無需成爲安全專家。
你可以將任意平臺的應用接入到 Authing(無論是新開發的應用還是老應用都可以),同時你還可以自定義應用程序的登錄方式(如:郵箱/密碼、短信/驗證碼、掃碼登錄等)。
你可以根據你使用的技術,來選擇我們的 SDK 或調用相關 API 來接入你的應用。當用戶發起授權請求時,Authing 會幫助你認證他們的身份和返回必要的用戶信息到你的應用中。

<div align=center>Authing 在應用交互中的位置</div>

歡迎關注 Authing 技術專欄

Authing 社區

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章