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