Azure AI 服務安全性

在開發所有應用程式時,安全性應視為首要任務,而且隨著人工智慧啟用應用程式的成長,安全性更為重要。 此文章概述 Azure AI 服務可用的各種安全性功能。 每個功能都會解決特定的責任,因此可以在相同的工作流程中使用多個功能。

如需 Azure 服務安全性建議的完整清單,請參閱 Azure AI 服務安全性基準一文 (部分機器翻譯)。

安全性功能

功能 描述
傳輸層安全性 (TLS) 所有透過 HTTP 公開的 Azure AI 服務端點都會強制使用 TLS 1.2 通訊協定。 使用強制執行的安全性通訊協議,嘗試呼叫 Azure AI 服務端點的取用者應遵循下列指導方針:
  • 用戶端操作系統 (OS) 需要支援 TLS 1.2。
  • 用來進行 HTTP 呼叫的語言(和平台)必須指定 TLS 1.2 作為要求的一部分。 根據語言和平臺,指定 TLS 會以隱含或明確的方式完成。
  • 針對 .NET 使用者,請考慮 傳輸層安全性最佳做法
驗證選項 驗證是驗證使用者身分識別的動作。 相較之下,授權是指定身分識別資源的訪問許可權和許可權規格。 身分識別是主體的相關資訊集合,而主體可以是個別使用者或服務。

根據預設,您會使用提供的訂閱金鑰來驗證自己對 Azure AI 服務的呼叫;這是最簡單的方法,但不是最安全的方法。 最安全的驗證方法是在 Microsoft Entra ID 中使用受控角色。 若要了解這個和其他驗證選項,請參閱驗證對 Azure AI 服務的要求 (部分機器翻譯)。
金鑰輪替 每個 Azure AI 服務資源都有兩個 API 金鑰,可以啟用祕密輪替。 這是一項安全性預防措施,可讓您定期變更可存取服務的密鑰,並在密鑰外泄時保護服務的隱私權。 若要瞭解此和其他驗證選項,請參閱 輪替密鑰
環境變數 環境變數是儲存在特定開發環境中的成對的名稱和數值。 您可以以此方式儲存認證,作為在程式碼中使用硬式編碼值的更安全替代方案。 不過,如果您的環境遭到入侵,環境變數也會遭到入侵,因此這不是最安全的方法。

如需如何在程式代碼中使用環境變數的指示,請參閱 環境變數指南
客戶管理的金鑰 (CMK) 這項功能適用於儲存待用客戶數據的服務(超過 48 小時)。 雖然此數據已在 Azure 伺服器上進行雙重加密,但使用者可以藉由新增另一層加密來獲得額外的安全性,以及他們自行管理的密鑰。 您可以將服務連結至 Azure 金鑰保存庫,並在該處管理您的資料加密密鑰。

只有某些服務可以使用 CMK;在 [ 客戶管理的金鑰 ] 頁面上尋找您的服務。
虛擬網路 虛擬網路可讓您指定哪些端點可以對資源進行 API 呼叫。 Azure 服務會拒絕來自網路外部裝置的 API 呼叫。 您可以設定允許網路的公式型定義,也可以定義允許的端點完整清單。 這是另一層安全性,可與其他人搭配使用。
數據外洩防護 數據外洩防護功能可讓系統管理員決定其 Azure 資源可作為輸入的 URI 類型(針對採用 URI 作為輸入的 API 呼叫)。 這樣做是為了防止機密公司數據可能外洩:如果公司將敏感性資訊(例如客戶的私用數據)儲存在 URL 參數中,則公司內部的不良動作專案可以將敏感性 URL 提交至 Azure 服務,以呈現公司外部的數據。 數據外洩防護可讓您設定服務來拒絕抵達時的特定 URI 表單。
客戶加密箱 客戶加密箱功能提供一個介面,讓客戶檢閱和核准或拒絕數據存取要求。 當 Microsoft 工程師在支援要求期間需要存取客戶數據時,就會使用。 如需如何起始、追蹤及儲存客戶加密箱要求以取得後續檢閱和稽核的資訊,請參閱 客戶加密箱指南

客戶加密箱適用於下列服務:
  • Azure OpenAI
  • Translator
  • 交談語言理解
  • 自訂文字分類
  • 自訂具名實體辨識
  • 協調流程工作流程
攜帶您自己的記憶體 (BYOS) 語音服務目前不支援客戶加密箱。 不過,您可以使用自備記憶體 (BYOS) 來安排將服務特定資料儲存在您自己的記憶體資源中。 BYOS 可讓您達到與客戶加密箱類似的數據控制。 請記住,語音服務數據會保留在建立語音資源的 Azure 區域中並進行處理。 這適用於任何待用數據和傳輸中的數據。 針對自定義語音和自定義語音等自定義功能,所有客戶數據都會在語音服務資源和 BYOS 資源所在的相同區域中傳輸、儲存及處理。

若要搭配語音使用 BYOS,請遵循 用數據的語音加密指南。

Microsoft 不會使用客戶數據來改善其語音模型。 此外,如果已停用端點記錄,且未使用任何自定義專案,則語音不會儲存任何客戶數據。

下一步

  • 探索 Azure AI 服務 (部分機器翻譯),然後選擇要開始使用的服務。