身分識別與存取

周邊網路、防火牆與實體存取控制曾是公司資料的主要保護措施。 但隨著「攜帶您自己的裝置」(BYOD)、行動應用程式和雲端應用程式的暴增,周邊網路的漏洞也愈來愈多。

身分識別已成為新的主要安全界限。 因此,適當的驗證和指派權限是維護資料控管的重要項目。

您的公司 Contoso Shipping 將焦點放在立即消除這些疑慮。 您小組的新混合式雲端解決方案必須將當授權使用者登入時可存取祕密資料的行動應用程式納入考量 — 除了讓送貨車輛持續傳送對將公司業務最佳化而言非常重要的遙測資料串流。

驗證和授權

討論身分識別和存取控制時必須了解的兩個基本概念是驗證和授權。 它們支撐著所發生的一切,並以任何身分識別與存取程序依序發生:

  • 「驗證」是建立尋找存取資源之個人或服務身分識別的程序。 其中涉及對合作對象查問合法認證的動作,並提供基礎來建立用於身分識別和存取控制使用的安全性主體。 它會確定他們是否為其所聲稱的人。

  • 「授權」是已經驗證的人員或服務建立了何種存取層級的程序。 它會指定他們可以存取哪些資料,以及可將該資料用於哪些用途。

注意

驗證 (Authentication) 有時會縮寫為 AuthN,而授權 (Authorization)有時會縮寫為 AuthZ

Azure 提供服務,可透過 Azure Active Directory (Azure AD) 來管理驗證和授權。

什麼是 Azure Active Directory?

Azure AD 是雲端式識別服務。 具有內建支援,可與您現有的內部部署 Active Directory 同步處理,也可以獨立使用。 這意味著您的所有應用程式 (無論是內部部署、雲端 (包括 Office 365) 或行動裝置) 都可共用相同的認證。 系統管理員和開發人員均可使用 Azure AD 中設定的集中式規則和原則,來控制對內部與外部資料和應用程式的存取。

Azure AD 提供的服務如下:

  • 驗證。 這包括驗證身分識別來存取應用程式和資源,並提供下列功能:自助式密碼重設、多重要素驗證 (MFA)、自訂禁用密碼清單及智慧鎖定服務。
  • 單一登入 (SSO)。 SSO 可讓使用者只需記住一個識別碼和一個密碼,就能存取多個應用程式。 單一身分識別會繫結至一位使用者,簡化安全性模型。 當使用者變更角色或離開組織時,存取權的修改會繫結至該身分識別,大大減少了變更或停用帳戶所需的工作量。
  • 應用程式管理。 您可以使用 Azure AD 應用程式 Proxy、SSO、「我的應用程式」入口網站 (也稱為「存取面板」) 和 SaaS 應用程式,來管理雲端和內部部署應用程式。
  • 企業對企業 (B2B) 識別服務。 在管理來賓使用者和外部夥伴的同時,持續掌控您自己的公司資料企業對客戶 (B2C) 識別服務。 自訂和控制使用者在透過服務使用應用程式時,要如何註冊、登入和管理其設定檔。
  • 裝置管理。 管理雲端或內部部署裝置存取公司資料的方式。

讓我們更深入探索這其中數個功能。

單一登入

使用者需要管理的身分識別越多,與認證相關的安全性事件風險就越大。 更多身分識別意味著需要記住和變更更多密碼。 密碼原則會因應用程式而異,而且隨著複雜性需求的增加,讓使用者更難以記住密碼。

現在,考慮管理所有那些身分識別的後勤機制。 當技術支援中心處理帳戶鎖定和密碼重設要求時,須面對額外的負擔。 當使用者離開組織後,要再去追蹤所有身分識別並確定其已停用並不容易。 如果忽略了身分識別,則可能導致在應該受到排除時卻允許存取。

使用單一登入 (SSO),可讓使用者只需要記住一個識別碼和一個密碼。 跨應用程式的存取權,會授與繫結至使用者的單一身分識別,從而簡化安全性模型。 當使用者變更角色或離開組織時,存取權的修改會與單一身分識別繫結,大大減少了變更或停用帳戶所需的工作量。 為帳戶使用單一登入會讓使用者更容易管理其身分識別,並會提高您環境中的安全性功能。

代表 Azure Active Directory 的指紋

使用 Azure Active Directory 的 SSO

利用 Azure AD 來達成 SSO 時,您也可以將多個資料來源合併到一個智慧型安全性圖表。 此安全性圖表可讓您為 Azure AD 中的所有帳戶提供威脅分析與及時身分識別保護,包括從您的內部部署 AD 同步的帳戶。 透過使用集中式識別提供者,您就可以集中處理安全性控制措施、報告、警示與身分識別基礎結構管理。

當 Contoso Shipping 將其現有的 Active Directory 執行個體與 Azure AD 整合時,您可以讓整個組織的存取控制達到一致。 這樣做也可以大幅簡化登入電子郵件與 Office 365 文件的程序,而不需要重新驗證。

Multi-Factor Authentication

Multi-Factor Authentication (MFA) 藉由要求兩個或多個項目的完整驗證,為您的身分識別提供額外的安全性。 這些項目可分成三個類別:

  • 您知道的
  • 您擁有的
  • 您身上的

您知道的就是密碼或安全性問題的答案。 您擁有的可能是接收通知的行動應用程式,或產生權杖的裝置。 您身上的通常是某種生物特徵辨識的屬性,例如已在許多行動裝置上使用的指紋或臉部的掃描。

使用 MFA,可以透過限制認證暴露的影響來提高身分識別安全性。 擁有使用者密碼的攻擊者,也需要擁有他們的手機或臉部,才能進行完整驗證。 僅以單一要素驗證的驗證並不夠,攻擊者無法使用那些認證來驗證。 這樣為安全性帶來絕大的好處,因此只要可行,您就應該啟用 MFA。

Azure AD 內建 MFA 功能,且能夠與其他協力廠商 MFA 提供者整合。 會免費提供給在 Azure AD 中具有全域管理員角色的任何使用者,因為這些使用者是高度敏感的帳戶。 透過購買具有此功能的授權並為帳戶指派授權,可以為所有其他帳戶啟用 MFA。

針對 Contoso Shipping,您可以決定在使用者從非連線到網域的電腦登入時啟用 MFA,這包括您的司機使用的行動裝置應用程式。

提供服務身分識別

對服務來說,擁有身分識別通常具有價值。 通常 (也是最佳做法) 認證資訊會內嵌在設定檔中。 由於這些設定檔沒有安全性,任何有權存取系統或存放庫的人都可以存取這些認證,並可能承擔風險。

Azure AD 透過兩種方法解決此問題:服務主體和適用於 Azure 服務的受控識別。

代表各種角色的影像

服務主體

若要了解服務主體,首先要了解身分識別管理世界中使用的身分識別主體這些字詞。

身分識別只是可以進行驗證的項目。 這顯然包含具有使用者名稱與密碼的使用者,但也可以包含可能使用祕密金鑰或憑證進行驗證的應用程式或其他伺服器。

主體是具有特定角色或宣告的身分識別。 通常不會將身分識別和主體分開考量,但請考慮在 Bash 提示字元上使用 sudo,或在 Windows 上的 Linux 中使用「以系統管理員身分執行」。 在這兩種情況下,您仍然以與先前相同的身分識別登入,但您已經變更了執行的角色。 群組通常也會被視為主體,因為它們可以獲派權限。

服務主體是服務或應用程式所使用的身分識別。 與其他身分識別一樣,它也可以獲派角色。

代表受控識別的影像

適用於 Azure 服務的受控識別

建立服務主體可能是乏味的程序,並且有許多接觸點可能使維護變得困難。 相較之下,適用於 Azure 服務的受控身分識別更容易使用,並會為您完成大部分工作。

對於任何支援受控身分識別的 Azure 服務,受控身分識別可以立即為其建立 (而且清單正不斷增長)。 當您為服務建立受控身分識別時,您會將帳戶建立於 Azure AD 租用戶上。 Azure 基礎結構會自動驗證服務並管理帳戶。 然後,您可以如同使用任何其他 Azure AD 帳戶一樣使用該帳戶,包括安全地讓已驗證的服務存取其他 Azure 資源。

角色型存取控制

角色是權限的集合,例如「唯讀」或「參與者」,可以授與使用者存取 Azure 服務執行個體。

身分識別會直接對應到角色,或透過群組成員資格。 區隔安全性主體、存取權限和資源,可簡化存取管理並提供細微的控制。 系統管理員有能力確保已授與最低必要權限。

可以在個別服務執行個體層級中授與角色,但角色也可以在 Azure Resource Manager 階層中向下流動。

下圖顯示此關聯性。 在較高範圍指派的角色 (例如整個訂用帳戶) 會由子範圍 (例如服務執行個體) 繼承。

顯示管理群組中角色型存取階層的圖例。

Privileged Identity Management

除了使用角色型存取控制 (RBAC) 管理 Azure 資源存取權之外,完整的基礎結構保護方法也應考慮將角色成員的持續稽核納入其組織的變更和發展過程。 Azure AD Privileged Identity Management (PIM) 是一個額外的付費服務,可以監督角色指派、自助服務和 Just-In-Time 角色啟用,以及 Azure AD 與 Azure 資源存取權檢閱。

Privileged Identity Management 儀表板的螢幕擷取畫面

摘要

身分識別可讓我們維護安全性周邊,甚至是實體控制以外的範圍。 透過單一登入和適當的角色型存取設定,我們一律可以確定誰能看到及操作我們的資料和基礎結構。