評估 AI 服務安全性
本單元概述用於保護 Azure Open AI 的 Well Architected Framework 建議
如需詳細資訊,請參閱 Azure OpenAI 服務上的 Azure Well-Architected Framework 檢視方塊
安全性支柱的目的是為工作負載提供機密性、完整性和可用性保證。
安全性設計準則提供一種高階設計策略,透過將方法套用至圍繞 Azure OpenAI 的技術設計,以實現這些目標。
設計檢查清單
根據安全性的設計檢閱檢查清單來開始您的設計策略,並識別弱點和控制項,以改善安全性態勢勢。 然後,檢閱適用於 Azure OpenAI 的 Azure 安全性基準。 最後,視需要擴充策略以包含更多方法。
保護機密性:如果您將訓練資料上傳至 Azure OpenAI,請使用客戶自控金鑰進行資料加密、實作金鑰輪替策略,以及刪除訓練、驗證和訓練結果資料。 如果您針對訓練資料使用外部資料存放區,請遵循該存放區的安全性最佳做法。 例如,針對 Azure Blob 儲存體,請使用客戶自控金鑰進行加密,並實作金鑰輪替策略。 使用受控識別型存取、使用私人端點實作網路周邊,以及啟用存取記錄。
保護機密性:藉由限制 Azure OpenAI 資源可以存取的輸出 URL,以防範資料外流。
保護完整性:實作存取控制,以驗證和授權使用者對系統的存取,方法是使用最低權限準則,以及使用個別身分識別而非金鑰。
保護完整性:實作越獄風險偵測,以保護您的語言模型部署免受提示插入攻擊。
保護可用性:使用安全性控制措施來防止可能耗盡模型使用量配額的攻擊。 您可以設定控制措施來隔離網路上的服務。 如果必須從網際網路存取服務,請考慮使用閘道來封鎖可疑的濫用,方法是使用路由或節流。
建議
建議 | 優點 |
---|---|
安全金鑰:如果您的架構需要 Azure OpenAI 金鑰型驗證,請將這些金鑰儲存在 Azure Key Vault 中,而不是儲存在應用程式程式碼中。 | 透過將祕密儲存在 Key Vault 中,將祕密與程式碼分開,可以降低洩漏祕密的機會。 分開也有助於集中管理祕密,進而減輕了金鑰輪替等責任。 |
限制存取:停用公開存取 Azure OpenAI,除非您的工作負載需要此公開存取。 如果您是從 Azure 虛擬網路中的取用者連線,請建立私人端點。 | 控制對 Azure OpenAI 的存取有助於防止來自未經授權使用者的攻擊。 使用私人端點可確保應用程式與平台之間的網路流量保持私人狀態。 |
Microsoft Entra ID:使用 Microsoft Entra ID 進行驗證,以及使用角色型存取控制 (RBAC) 來授權對 Azure OpenAI 的存取。 停用 Azure AI 服務中的本機驗證,並將 disableLocalAuth 設定為 true 。 將認知服務 OpenAI 使用者角色授與執行完成或影像生成的身分識別。 將模型自動化管線和臨時資料科學存取權授與認知服務 OpenAI 參與者等角色。 |
使用 Microsoft Entra ID 可以集中身分識別管理元件,並消除 API 金鑰的使用。 搭配 Microsoft Entra ID 使用 RBAC 可確保使用者或群組確切具有執行其工作所需的權限。 無法透過 Azure OpenAI API 金鑰進行這類精細存取控制。 |
使用客戶自控金鑰:針對上傳至 Azure OpenAI 的微調模型和訓練資料,使用客戶自控金鑰。 | 使用客戶自控金鑰可讓您更有彈性地建立、輪替、停用和撤銷存取控制。 |
防範越獄攻擊:使用 Azure AI 內容安全工作室來偵測越獄風險。 | 偵測越獄嘗試以識別並封鎖嘗試略過 Azure OpenAI 部署安全機制的提示。 |