待用資料的 Azure AI Bot Service 加密

適用于: SDK v4

Azure AI Bot Service 會在資料保存至雲端時自動加密您的資料,以保護資料並符合組織安全性和合規性承諾。

加密和解密是透明的,這表示加密和存取會為您管理。 根據預設,您的資料會受到保護,因此您無須修改程式碼或應用程式來利用加密功能。

關於加密金鑰管理

根據預設,您的訂用帳戶會使用由 Microsoft 管理的加密金鑰。 您可以使用稱為客戶自控金鑰的金鑰來管理 Bot 資源。 客戶管理的金鑰可提供更大的彈性,以建立、輪替、停用和撤銷 Azure AI Bot Service 存放區的存取控制。 您也可稽核用來保護資料的加密金鑰。

加密資料時,Azure AI Bot Service 會使用兩種加密層級來加密。 如果未啟用客戶管理的金鑰,則所使用的兩個金鑰都是 Microsoft 管理的金鑰。 啟用客戶管理的金鑰時,資料會使用客戶管理的金鑰和 Microsoft 管理的金鑰來加密。

使用 Azure 金鑰保存庫 的客戶自控金鑰

若要使用客戶管理的金鑰功能,您必須在 Azure 金鑰保存庫 儲存和管理金鑰。 您可以建立自己的金鑰,並將其儲存在金鑰保存庫中,也可以使用 Azure 金鑰保存庫 API 來產生金鑰。 您的 Azure Bot 資源和金鑰保存庫必須位於相同的 Microsoft Entra ID 租使用者中,但它們可以位於不同的訂用帳戶中。 如需 Azure 金鑰保存庫的詳細資訊,請參閱 什麼是 Azure 金鑰保存庫?

使用客戶管理的金鑰時,Azure AI Bot Service 會加密其儲存體中的資料。 如果撤銷該金鑰或刪除金鑰,您的 Bot 將無法使用 Azure AI Bot Service 來傳送或接收訊息,而且您無法存取或編輯Azure 入口網站中的 Bot 組態。

當您透過入口網站建立 Azure Bot 資源時,Azure 會產生 應用程式識別碼 密碼 ,但不會將它們儲存在 Azure 金鑰保存庫中。 您可以搭配 Azure AI Bot Service 使用金鑰保存庫。 如需詳細資訊,請參閱 設定 Web 應用程式以連線到金鑰保存庫 。 如需如何使用 金鑰保存庫儲存和擷取秘密的範例,請參閱 快速入門:適用于 .NET 的 Azure 金鑰保存庫秘密用戶端程式庫 (SDK v4)

重要

Azure AI Bot Service 小組無法復原客戶管理的加密金鑰 Bot,而無法存取金鑰。

哪些資料已加密?

Azure AI Bot Service 會儲存有關 Bot 的客戶資料、其使用的通道、開發人員集的組態設定,以及在必要時儲存目前使用中交談的記錄。 它也會暫時性地儲存透過 Direct Line 或網路聊天通道傳送的訊息,以及上傳的任何附件。

所有客戶資料都會使用 Azure AI Bot Service 中的兩層加密來加密;使用 Microsoft 管理的加密金鑰,或 Microsoft 和客戶管理的加密金鑰。 Azure AI Bot Service 會使用 Microsoft 管理的加密金鑰來加密暫時儲存的資料,並根據 Azure Bot 資源的設定,使用 Microsoft 或客戶管理的加密金鑰來加密長期資料。

注意

由於 Azure AI Bot 服務存在,讓客戶能夠在 Azure AI Bot Service 以外的其他服務上傳遞訊息,因此加密不會延伸到這些服務。 這表示,在 Azure AI Bot Service 控制下,資料會根據本文中的指引進行加密:不過,離開服務以傳遞至另一個服務時,資料會解密,然後使用 TLS 1.2 加密傳送至目標服務。

如何設定 Azure 金鑰保存庫 實例

搭配 Azure AI Bot Service 使用客戶管理的金鑰,需要您在您打算用來裝載加密金鑰的 Azure 金鑰保存庫 實例上啟用兩個屬性: 虛刪除 清除保護 。 這些功能可確保如果因為某些原因而意外刪除金鑰,您可以復原它。 如需虛刪除和清除保護的詳細資訊,請參閱 Azure 金鑰保存庫虛刪除概觀

Screenshot of soft delete and purge protection enabled.

如果您使用現有的 Azure 金鑰保存庫 實例,您可以查看 Azure 入口網站上的 [屬性 ] 區段,確認已啟用這些屬性。 如果未啟用這些屬性,請參閱 如何啟用虛刪除和清除保護 中的 金鑰保存庫 一節。

將金鑰保存庫的存取權授與 Azure AI Bot Service

若要讓 Azure AI Bot Service 能夠存取您為此目的建立的金鑰保存庫,必須設定存取原則,這會為 Azure AI Bot Service 的服務主體提供目前的許可權集。 如需 Azure 金鑰保存庫的詳細資訊,包括如何建立金鑰保存庫,請參閱 關於 Azure 金鑰保存庫

  1. 在包含金鑰保存庫的訂用帳戶上註冊 Azure AI Bot Service 資源提供者。

    1. 前往 Azure 入口網站
    2. 開啟 [ 訂用帳戶] 刀鋒視窗,然後選取包含金鑰保存庫的訂用帳戶。
    3. 開啟 [ 資源提供者] 刀鋒視窗並註冊 Microsoft.BotService 資源提供者。

    Microsoft.BotService registered as a resource provider

  2. Azure 金鑰保存庫支援兩種許可權模型:Azure 角色型存取控制 (RBAC) 或保存庫存取原則。 您可以選擇使用任一許可權模型。 請確定 金鑰保存庫 [網路 ] 刀鋒視窗中 的 [防火牆和虛擬網路 ] 設定為 [允許從所有網路 進行公用存取] 此步驟。 此外,請確定操作員已獲得金鑰管理作業許可權。

    Screenshot of the two permission models available for your key vault.

    1. 若要在您的金鑰保存庫上設定 Azure RBAC 許可權模型:

      1. 開啟 [ 金鑰保存庫] 刀鋒視窗,然後選取您的金鑰保存庫。
      2. 移至 [ 存取控制 (IAM)] 刀鋒視窗,並將金鑰保存庫加密服務加密使用者 角色指派 Bot Service CMEK Prod 。只有具有訂用帳戶擁有者角色的使用者才能進行這項變更。

      Screenshot of key vault configuration showing the crypto service encryption user role has been added.

    2. 若要在金鑰保存庫上設定金鑰保存庫存取原則許可權模型:

      1. 開啟 [ 金鑰保存庫] 刀鋒視窗,然後選取您的金鑰保存庫。
      2. 將 Bot Service CMEK Prod 應用程式新增為存取原則,並指派下列許可權:
      • 取得 (來自 金鑰管理作業
      • 解除包裝金鑰 (來自 密碼編譯作業
      • 包裝金鑰 (來自 密碼編譯作業
      1. 選取 [ 儲存] 以儲存您所做的任何變更。

      Bot Service CMEK Prod added as an access policy

  3. 允許金鑰保存庫略過防火牆。

    1. 開啟 [ 金鑰保存庫] 刀鋒視窗,然後選取您的金鑰保存庫。
    2. 開啟 [ 網路] 刀鋒視窗,然後移至 [防火牆和虛擬網路] 索引卷 標。
    3. 如果 [允許存取] 設定為 [ 停用公用存取 ],請確定 已選取 [允許信任Microsoft 服務略過此防火牆
    4. 選取 [ 儲存] 以儲存您所做的任何變更。

    Firewall exception added for Key Vault

啟用客戶管理的金鑰

若要使用客戶管理的加密金鑰來加密 Bot,請遵循下列步驟:

  1. 開啟 Bot 的 [Azure Bot 資源] 刀鋒視窗。

  2. 開啟 Bot 的 [加密] 刀鋒視窗,然後選取 [加密類型 ] 的客戶 自控金鑰

  3. 輸入金鑰的完整 URI,包括版本,或按一下 [ 選取金鑰保存庫] 和 [金鑰 ] 來尋找金鑰。

  4. 按一下刀鋒視窗頂端的 [ 儲存 ]。

    Bot resource using customer-managed encryption

完成這些步驟之後,Azure AI Bot Service 將會啟動加密程式,最多可能需要 24 小時才能完成。 您的 Bot 在此期間仍可正常運作。

輪替客戶管理的金鑰

若要輪替客戶管理的加密金鑰,您必須更新 Azure AI Bot Service 資源,以使用新金鑰的新 URI(或新版的現有金鑰)。

由於使用新金鑰重新加密會以非同步方式進行,因此請確定舊金鑰仍可供使用,以便繼續解密資料;否則,您的 Bot 可能會停止運作。 您應該至少保留一周的舊金鑰。

撤銷客戶自控金鑰的存取權

若要撤銷存取權,請從金鑰保存庫移除 Bot Service CMEK Prod 服務主體的存取 原則。

注意

撤銷存取權將會中斷與 Bot 相關聯的大部分功能。 若要停用客戶管理的金鑰功能,請先關閉此功能,再撤銷存取權,以確保 Bot 可以繼續運作。

下一步

深入瞭解 Azure 金鑰保存庫