注意
預覽功能不供生產時使用,而且可能功能受限。 這些功能是在正式發行前先行推出,讓客戶能夠搶先體驗並提供意見反應。
本技術文檔概述了測試引擎中 Power Apps 身份驗證機制的安全架構。 有關選擇和配置身份驗證方法的以使用者為中心的指南,請參閱 身份驗證指南。
身份驗證方法概述
測試引擎支援兩種主要身份驗證方法:
- 儲存狀態身份驗證 - 基於持久性瀏覽器 cookie 和儲存狀態
- 基於證書的身份驗證 - 基於 X.509 證書和 Dataverse 整合
這兩種方法都旨在支援新式安全要求,包括多重身份驗證 (MFA) 和條件訪問策略。
存儲狀態認證架構
存儲狀態身份驗證方法使用 Playwright 的瀏覽器上下文管理來安全地存儲和重用身份驗證令牌。
Windows 數據保護實現
本地儲存狀態實現使用 Windows 資料保護 API (DPAPI) 進行安全儲存:
安全性考量
儲存狀態安全架構提供:
- 使用 DPAPI 加密保護靜態身份驗證令牌
- 支援 Microsoft Entra MFA 和條件訪問策略
- 通過 Playwright 的瀏覽器上下文進行沙箱隔離
- 符合 Microsoft Entra 會話存留期策略
基於證書的身份驗證體系結構
基於證書的身份驗證與 Dataverse X.509 證書集成並使用 X.509 證書來增強靜態資訊的安全性和加密。
Dataverse 存儲實現
該 Dataverse 實現使用自訂 XML 儲存庫來安全儲存保護金鑰:
加密技術
以下部分介紹測試引擎用於保護靜態和傳輸中的身份驗證數據的加密演算法和密鑰管理方法。
AES-256-CBC + HMACSHA256
默認情況下,數據值使用 AES-256-CBC 和 HMACSHA256 的組合進行加密:
此方法提供:
- 通過 AES-256 加密實現機密性
- 通過 HMAC 驗證實現完整性
- 數據源的身份驗證
數據保護 API 集成
測試引擎與 Core 的數據保護 API 集成 ASP.NET ,用於金鑰管理和加密:
自訂 XML 儲存庫實現
測試引擎實現了用於集成的 Dataverse 自定義 IXmlRepository:
條件訪問和 MFA 相容性
測試引擎的身份驗證體系結構旨在與條件訪問策略無縫 Microsoft Entra 協作:
高級安全注意事項
以下部分重點介紹其他安全功能和集成,這些功能和集成可增強對身份驗證數據的保護並支援企業環境中的安全作。
Dataverse 安全模型集成
Test Engine 使用 Dataverse強大的安全模型:
- 記錄級安全性 - 控制對儲存的身份驗證數據的訪問
- 共用模型 - 支持測試身份驗證上下文的安全共用
- 審核 - 跟蹤對敏感身份驗證數據的訪問
- 列級安全性 - 為敏感欄位提供精細保護
Azure CLI 令牌管理
對於 Dataverse 身份驗證,測試引擎會安全地獲取訪問令牌:
安全性最佳作法
實施測試引擎身份驗證時,請考慮以下安全最佳實踐:
- 最低許可權訪問 - 向測試帳戶授予最低限度的必要許可權
- 定期證書輪換 - 定期更新證書
- 保護 CI/CD 變數 - 保護包含敏感數據的管道變數
- 審核訪問 - 監視對身份驗證資源的訪問
- 環境隔離 - 使用單獨的環境進行測試
未來的安全增強功能
身份驗證安全架構的未來潛在增強功能包括:
- 與 Azure Key Vault 集成以增強機密管理
- 支援 Azure 環境中的託管標識
- 增強的日誌記錄和安全監控功能
- 更多跨平臺方案的保護提供程式
相關文章
核心數據 ASP.NET 保護
Windows 數據保護 API
Microsoft Entra 認證
Dataverse 安全模型
基於 X.509 憑證的身份驗證