對身分識別和存取管理的建議
適用於此 Power Platform Well-Architected 安全檢查表建議:
東南:05 | 對所有工作負載使用者、團隊成員和系統元件實施嚴格、有條件且可稽核的身分識別和存取管理 (IAM)。 僅將存取權限縮為根據需要。 使用現代產業標準進行所有身份驗證和授權實施。 限制並嚴格稽核非依據身分識別的存取。 |
---|
本指南介紹對嘗試存取工作負載資源的身分識別進行驗證和授權的建議。
從技術控制的角度來看,身分識別始終是主要邊界。 此範圍不僅包括工作負載的邊緣。 它還包括工作負載中的個別元件。
一般身分包括:
- 人類。 應用程式使用者、管理員、動作員、稽核員和不良行為者。
- 系統。 工作負載身分識別、受控身分識別、API 金鑰、服務主體和 Azure 資源。
- 匿名。 未提供任何證據證明其身分的實體。
定義
詞彙 | 定義 |
---|---|
驗證 (AuthN) | 驗證身分識別是否真實或所聲稱的內容的程序。 |
授權 (AuthZ) | 驗證身分識別是否有權執行所要求動作的過程。 |
條件式存取 | 允許根據指定條件執行動作的一組規則。 |
IdP | 識別提供者,例如 Microsoft Entra ID。 |
角色 | 具有一系列職責和動作的工作職能或頭銜。 |
預先共用金鑰 | 一種在提供者和消費者之間共用,並透過安全且商定的機制使用的密碼。 |
資源身分識別 | 為由平台管理的雲端資源定義的身分識別。 |
角色 | 一組權限,用於定義使用者或組可以執行的動作。 |
Scope | 允許角色運作的各層級組織階層。 也是系統中的一組功能。 |
安全性主體 | 提供權限的身分識別。 它可以是使用者、群組或服務主體。 任何群組成員均可獲得相同層級的存取權限。 |
使用者身分識別 | 人員 (如員工或外部使用者) 的身分識別。 |
工作負載身分識別 | 應用程式、服務、指令碼、容器或工作負載的其他元件的系統身分識別,用於向其他服務和資源進行驗證。 |
注意
身分識別可以與其他類似身分識別分組到稱為安全性主體的父級下。 安全性群組是安全性主體的一個範例。 這種階層式關係簡化了維護程序,並提高了一致性。 由於身分識別屬性不是在個人層級處理的,因此出錯的可能性也會降低。 在本文中,術語身分識別包含安全性主體。
Microsoft Entra ID 做為 Power Platform 的識別提供者
所有 Power Platform 產品都使用 Microsoft Entra ID (以前稱為 Azure Active Directory 或 Azure AD) 進行身分識別和存取管理。 Entra ID 使組織能夠保護和管理其混合和多雲端環境的身分識別。 Entra ID 對於管理需要存取 Power Platform 資源的商務訪客也至關重要。 Power Platform 還使用 Entra ID 來管理需要使用服務主體功能與 Power Platform API 整合的其他應用程式。 透過使用 Entra ID,Power Platform 可以利用 EntraID 更進階的安全性功能,例如條件式存取和持續性存取評估。
驗證
驗證是確認身分識別的程序。 要求身分需要提供某種形式的可驗證身分識別。 例如:
- 使用者名稱和密碼。
- 預先共用的密碼,例如授予存取權限的 API 金鑰。
- 共用存取簽章 (SAS) 權杖。
- 用於傳輸層安全性 (TLS) 相互驗證的認證。
Power Platform 驗證涉及使用者瀏覽器和 Power Platform 或 Azure 服務之間的一系列要求、回覆和重新導向。 此順序遵循 Microsoft Entra ID 驗證代碼授與流程。
連線到資料來源並對其進行驗證的步驟,獨立於驗證 Power Platform 服務的步驟。 如需其他資訊,請參閱連接並驗證資料來源。
授權
Power Platform 使用 Microsoft Entra ID Microsoft Identity Platform 對行業標準 OAuth 2.0 協定的所有 API 調用進行授權。
關鍵設計原則
若要了解工作負載的身分識別需求,需要列出使用者和系統流程、工作負載資產和角色,以及它們將執行的動作。
每個使用案例可能都有自己的一組控制項,您需要以假設入侵的心態進行設計。 根據使用案例或角色的身分識別要求,確定條件選擇。 避免對所有使用案例都使用同一種解決方案。 相反,控制項不應過於精細,以免造成不必要的管理開銷。
您需要記錄身分識別存取軌跡。 這樣做有助於驗證控制項,並且可以使用記錄進行合規性稽核。
確定用於驗證的所有身分識別
由外而內的訪問。 Power Platform 驗證涉及使用者瀏覽器和 Power Platform 或 Azure 服務之間的一系列要求、回覆和重新導向。 此順序遵循 Microsoft Entra ID 驗證代碼授與流程。 Power Platform 會自動對出於各種目的存取工作負載的所有使用者進行驗證。
由內而外的訪問。 您的工作負載將需要存取其他資源。 例如,讀取或寫入資料平台、從密碼存放區中擷取密碼,以及將遙測資料記錄到監視服務。 它甚至可能需要存取第三方服務。 這些都是工作負載身分識別要求。 但是,還需要考慮資源身分識別要求;例如,部署管線的執行方式和驗證方式。
確定授權動作
接下來,您需要知道每個經過驗證的身分正在嘗試執行的動作,以便可以授權這些動作。 這些動作可以根據其所需的存取類型來劃分:
數據平面訪問。 資料平面中發生的動作會導致資料傳輸。 例如,應用程式從 Microsoft Dataverse 中讀取或寫入資料,或將記錄寫入 Application Insights。
控制平面訪問。 在控制平面中發生的動作會導致建立、修改或刪除 Power Platform 資源。 例如,修改環境屬性或建立資料原則。
應用程式通常以資料平面動做為目標,而動作通常會同時存取控制平面和資料平面。
提供角色型授權
根據每個身分的責任,授權應允許的動作。 不能允許身份做超出它需要做的事。 在設定授權規則之前,您需要清楚地了解誰或什麼在發出要求、允許該角色執行哪些動作,以及它可以執行到什麼程度。 這些因素會導向將身分、角色和範圍結合起來的選擇。
請考量下列各項:
- 工作負載是否需要對 Dataverse 進行資料平面存取以進行讀取和寫入存取?
- 工作負載是否還需要存取環境屬性?
- 如果身分識別遭到不良行為者洩露,系統的機密性、完整性和可用性會受到什麼影響?
- 工作負載是否需要永久存取,或者是否可以考慮條件式存取?
- 工作負載執行的動作是否需要管理/上呈權限?
- 工作負載將如何與第三方服務互動?
- 對於 Copilot,您是否有單點登錄 (SSO) 要求?
- 副駕駛是在未經身份驗證的模式下運行,還是在經過身份驗證的模式下運行,還是同時在兩者下運行?
角色指派
角色是指派給身分識別的一組權限。 指派僅允許該身分完成工作的角色,僅此而已。 當使用者的權限僅限於其作業要求時,可以更輕鬆地識別系統中的可疑或未經授權的行為。
提問以下問題:
- 唯讀存取權限是否足夠?
- 身分識別是否需要權限才能刪除資源?
- 角色是否只需要存取他們建立的記錄?
- 是否需要根據使用者所在的事業單位進行階層式存取?
- 角色是否需要管理權限或提升權限?
- 角色是否需要對這些權限的永久存取權限?
- 如果使用者換了工作,會發生什麼情況?
限制使用者、應用程式或服務的存取層級可減少潛在的攻擊面。 如果僅授予執行特定工作所需的最低權限,則成功攻擊或未經授權存取的風險將大大降低。 例如,開發人員只需要製作者存取開發環境,而不需要生產環境;他們只需要建立資源的存取權限,而不需要變更環境屬性;他們可能只需要存取 Dataverse 中的讀取/寫入資料,而不需要變更 Dataverse 資料表的資料模型或屬性。
避免針對個別使用者的權限。 精細和自訂權限會造成複雜性和混亂,並且當使用者變更角色並在業務中移動時,或者當具有類似驗證要求的新使用者加入團隊時,可能會變得難以維護。 這種情況可能會建立難以維護的複雜舊設定,並對安全性和可靠性產生負面影響。
權衡:精細的訪問控制方法可以更好地審計和監控用戶活動。
授予從最低許可權開始的角色,然後根據您的運營或數據訪問需求添加更多角色。 技術團隊必須有明確的指引才能實作權限。
做出條件式存取選擇
不要為所有身分識別提供相同層級的存取權。 可根據兩個主要因素做出決定:
- 時間: 身分識別可以存取環境的時間長度。
- 權限。 權限的層級。
這些因素並不相互排斥。 具有更多特殊權限和無限存取持續時間的已洩露身分可以獲得對系統和資料的更多控制權,或者使用該存取權限繼續變更環境。 限制這些存取因素既可以做為預防措施,也可以控制影響範圍。
即時(JIT) 方法僅在需要時提供所需的許可權。
Just Enough Access(JEA) 僅提供所需的許可權。
雖然時間和特殊權限是主要因素,但還有其他適用條件。 例如,您還可以使用源自存取的裝置、網路和位置來設定策略。
使用強大的控制措施來篩選、檢測和阻止未經授權的訪問,包括使用者身份和位置、設備運行狀況、工作負載上下文、數據分類和異常等參數。
例如,您的工作負載可能需要由第三方身分識別 (如廠商、合作夥伴和客戶) 存取。 他們需要適當的存取層級,而不是您提供給全職員工的預設權限。 明確區分外部帳戶可以更輕鬆地預防和偵測來自這些媒介的攻擊。
嚴重影響帳戶
管理身分識別引入了一些影響最大的安全風險,因為它們執行的工作需要對廣泛的這些系統和應用程式進行特殊權限存取。 洩露或濫用可能會對您的業務及其資訊系統產生不利影響。 管理安全性是最重要的安全性領域之一。
保護特殊權限存取免受確定的對手的攻擊需要您採取完整且周到的方法將這些系統與風險隔離開來。 以下是一些策略:
最大限度地減少嚴重影響帳戶的數量。
使用單獨的角色 ,而不是提升現有身份的許可權。
使用 IdP 的 JIT 功能避免永久或長期訪問 。 如果出現意外狀況,請遵循緊急存取流程。
使用現代訪問協定 ,例如無密碼身份驗證或多因素身份驗證。 將這些機制外部化到您的 IdP。
使用條件式存取原則強制實施關鍵安全性屬性。
停用未使用的管理帳戶 。
建立管理身分識別生命週期的流程
對身分識別的存取持續時間不得超過身分識別存取的資源。 確保在團隊結構或軟體元件發生變更時具有停用或刪除身分識別的程序。
本指南適用於原始程式碼管理、資料、控制平面、工作負載使用者、基礎結構、工具、資料監視、記錄、指標和其他實體。
建立身份治理流程 ,以管理數位身份、高特權使用者、外部/來賓使用者和工作負載使用者的生命週期。 實施存取權檢閱,以確保當身分識別離開組織或團隊時,刪除其工作負載權限。
保護非身分識別型密碼
應用程式密碼 (如預先共用金鑰) 應被視為系統中的易受攻擊點。 在雙向通信中,如果提供者或消費者受到損害,可能會引入重大的安全風險。 這些金鑰也可能很繁瑣,因為它們引入了動作流程。
將這些密碼視為可從密碼儲存中動態拉取的實體。 不應在應用呈是、流程、部署管線或任何其他成品中對它們進行硬編碼。
確保您能夠撤銷密碼。
套用處理金鑰輪換和過期等工作的操作做法。
有關輪換原則的資訊,請參閱自動輪換具有兩組身分驗證憑證之資源的密碼和教學課程:更新 Key Vault 中的認證自動輪換頻率。
保持開發環境安全
對開發人員環境的寫入存取權限應受到限制,對原始程式碼的讀取存取權限應限制為需要知道的角色。 您應該制定一個程序來定期掃描資源並識別最新的漏洞。
維護稽核線索
身分識別管理的一個面向是確保系統可稽核。 稽核會驗證假設入侵策略是否有效。 維護稽核線索可幫助您:
驗證身分是否使用增強式驗證進行驗證。 任何操作都必須是可 跟蹤的,以防止否認攻擊。
檢測弱身份驗證協定或缺失的身份驗證協定 ,並瞭解和瞭解使用者和應用程式登錄情況。
根據安全性和合規性要求評估從身分識別到工作負載的存取,並考慮使用者帳戶風險、裝置狀態以及您設定的其他準則和原則。
跟蹤進度或偏離 合規性要求。
大多數資源都具有資料平面存取權限。 您需要知道存取資源的身分識別及其執行的動作。 您可以將該資訊用於安全診斷。
Power Platform 簡易化
Power Platform 存取控制是其整體安全性架構的重要組成部分。 存取控制點可以確保正確的使用者能夠存取 Power Platform 資源。 在本節中,我們將探討您可以設定的不同存取點及其在整體安全性策略中的作用。
Microsoft Entra ID
所有 Power Platform 產品都使用 Microsoft Entra ID (以前稱為 Azure Active Directory 或 Azure AD) 進行身分識別和存取管理。 Entra ID 使組織能夠保護和管理其混合和多雲端環境的身分識別。 Entra ID 對於管理需要存取 Power Platform 資源的商務訪客也至關重要。 Power Platform 還使用 Entra ID 來管理需要使用服務主體功能與 Power Platform API 整合的其他應用程式。 透過使用 Entra ID,Power Platform 可以利用 EntraID 更進階的安全性功能,例如條件存取和持續性存取評估。
授權指派
對 Power Apps 和 Power Automate 存取從獲得權限開始。 使用者可以存取的資產和資料取決於他們擁有的授權類型。 下表概述了不同方案類型的使用者可用資源的差異。 您可以在授權概觀找到詳細的授權資料。
條件式存取原則
條件訪問描述用於訪問決策的策略 。 若要使用條件式存取,需要了解使用案例所需的限制。 透過根據您的動作需求設定存取原則來設定 Microsoft Entra 條件式存取。
如需詳細資訊,請參閱:
持續性存取
當評估某些事件以確定是否應撤銷存取權限時,持續性存取會加速。 傳統上,使用 2.0 身份驗證時 OAuth ,在令牌續訂期間完成檢查時,存取權杖會過期。 透過持續性存取,將持續評估使用者的關鍵事件和網路位置變更,以確定使用者是否仍應保持存取權限。 這些評估可能會導致活動會話提前終止或需要重新進行驗證。 例如,如果使用者帳戶停用,他們應該會失去對應用程式的存取權限。 位置也很重要;例如,權杖可能已從受信任位置授權,但使用者將其連線變更為不受信任的網路。 持續性存取將調用條件式存取原則評估,並且使用者將失去存取權限,因為他們不再從核准的位置進行連接。
目前,在 Dataverse 中,只有 Power Platform 支援持續性存取評估。 Microsoft 正在努力為其他 Power Platform 服務和用戶端添加支援。 如需詳細資訊,請參閱持續性存取評估。
隨著不斷採用混合式工作模式和雲端應用程式,Entra ID 已成為保護使用者和資源的重要主要安全界限。 條件式存取將該範圍擴展到網路範圍之外,以包括使用者和裝置身分識別。 持續性存取可確保在事件或使用者位置變更時重新評估存取權限。 Power Platform 使用 Entra ID 讓您實施組織級安全治理,您可以在應用程式組合中一致地套用這些治理。 查看這些身分識別管理最佳做法,以獲取更多指引來制定將 Entra ID 與 Power Platform 結合使用的計劃。
群組存取管理
不要向特定使用者授予權限,而是將存取權限指派給 Microsoft Entra ID 中的群組。 如果群組不存在,請與身分識別團隊合作建立一個。 然後,可以在 Azure 外部新增和刪除組成員,並確保權限是最新的。 您還可以將該群組用於其他目的,例如郵件清單。
有關詳細資訊,請參閱使用 Microsoft Entra ID 中的群組進行安全存取控制。
威脅偵測
Microsoft Entra ID 保護可以幫助您偵測、調查和修正身分識別型風險。 如需 Intune 的詳細資訊,請參閱什麼是身分識別保護?。
威脅偵測可以採取的形式是對可疑活動警示做出反應,或主動搜尋活動記錄中的例外狀況事件。 Sentinel 中的 Microsoft 使用者和實體行為分析 (UEBA) 可以輕鬆檢測可疑活動。 有關詳細資訊,請參閱 在 Sentinel Microsoft 中使用UEBA 識別高級威脅。
身分識別記錄
Power Apps Power Automate連接器 Copilot Studio和數據丟失防護活動日誌記錄是從 Microsoft Purview 合規門戶跟蹤和查看的。 有關詳細資訊,請參閱 瞭解 Microsoft Purview。
記錄在具有 Dataverse 資料庫的環境中對客戶記錄所做的變更。 Dataverse 稽核也會透過應用程式或透過環境中的 SDK,來記錄使用者的存取權。 此稽核在環境層級啟用,並且需要對個別資料表和資料行進行其他設定。
服務管理員角色
Entra ID 包含一組預先建立的角色,可以將這些角色指派給管理員,以授予他們執行管理工作的權限。 您可以查看權限矩陣,了解每個角色權限的精細細分。
使用 Microsoft Entra Privileged Identity Management (PIM) 管理 Power Platform 系統管理中心中的高特殊權限管理員角色。
保護 Dataverse 資料
Dataverse 的其中一項重要特性是包含豐富的資訊資訊安全模型,可適應許多業務使用情境。 只有當環境中存在 Dataverse 資料庫時,此資訊資訊安全模型才可用。 做為安全性專業人員,您可能不會自己建置整個資訊資訊安全模型,但可能會參與確保安全性功能的使用符合組織的資料安全性要求。 Dataverse 使用角色安全性,將權限集合集中在一起。 這些資訊安全角色可以直接關聯至使用者,或者可以與 Dataverse 團隊和業務單位相關聯。 如需詳細資訊,請參閱 Microsoft Dataverse 中的安全性概念。
在 Copilot Studio 中設定使用者驗證
Copilot Studio 支援幾種驗證選項。 選擇符合您需求的選項。 身份驗證允許使用者登錄,從而授予您的 Copilot 存取受限資源或資訊的許可權。 用戶可以使用 Microsoft Entra ID 或任何 OAuth 2.0 身份供應商 (如 Google 或) 登錄 Facebook。 有關詳細資訊,請參閱 配置使用者身份驗證 Copilot Studio。
使用 Direct Line基於安全性,您可以通過使用 Direct Line secret 或令牌啟用安全訪問來限制對您控制的位置的訪問。
Copilot Studio 支援單點登錄 (SSO),這意味著 Copilot 可以讓用戶登錄。 SSO 必須在您的網頁和行動應用程式上實施。 因為 Microsoft Teams,如果您選擇「僅在 Teams 中」身份驗證選項,SSO 是無縫的。 也可以使用 v2 手動 Azure AD 配置它;但是,在這種情況下,Teams 應用程式必須部署為 zip 檔,而不是通過一鍵式 Teams 部署 Copilot Studio。
深入了解:
使用客戶加密箱安全存取資料
由 Microsoft 人員 (包括子處理商) 執行的大多數操作、支援和故障排除不需要訪問客戶數據。 藉由 Power Platform 客戶加密箱,我們為客戶提供了一個介面,以便在需要對對客戶資料進行資料存取的極少數情況下審查和核准 (或拒絕) 資料存取要求。 例如,當工程師需要訪問客戶數據時 Microsoft ,無論是回覆客戶發起的支援票證還是由確定 Microsoft的問題,都會使用它。 如需其他資訊,請參閱使用 Power Platform 和 Dynamics 365 中的客戶加密箱安全存取客戶資料。
相關資訊
- 連接數據源並對其進行身份驗證
- 對服務進行身份驗證 Power Platform
- 安全概念 Microsoft Dataverse
- Power Platform 安全常見問題解答
- 服務系統管理員許可權矩陣
- 持續訪問評估
- 設置 Microsoft Entra 條件訪問
- 條件訪問和多重身份驗證的建議 Microsoft Power Automate
- Microsoft Identity Platform 和 OAuth 2.0 授權代碼流
- ID 中的 Microsoft Entra 新增功能
- Microsoft Entra 內置角色
- ID 中 Microsoft Entra 基於角色的訪問控制概述
安全性檢查清單
請參閱完整的建議集。