Azure Machine Learning 的客戶自控金鑰
Azure Machine Learning 以多個 Azure 服務為建置基礎。 雖然儲存的資料會透過 Microsoft 提供的加密金鑰進行加密,但您也可以提供自己的 (客戶自控) 金鑰來增強安全性。 您提供的金鑰會儲存在 Azure Key Vault 中。 您的資料可以儲存在 Azure 訂用帳戶中您管理的一組其他資源上,或 (預覽) Microsoft 管理資源上的伺服器端。
除了客戶自控金鑰 (CMK),Azure Machine Learning 也會提供 hbi_workspace 旗標。 啟用此旗標會減少 Microsoft 收集用於診斷的資料數量,並啟用 Microsoft 受控環境中的額外加密。 此旗標也會啟用下列行為:
- 若您未在該訂用帳戶中建立任何先前的叢集,則會開始加密 Machine Learning 計算叢集中的本機暫存磁碟。 否則,您必須提出支援票證,以啟用計算叢集的暫存磁碟加密。
- 清除作業之間的本機暫存磁碟。
- 使用金鑰保存庫,將儲存體帳戶、容器登錄和安全殼層 (SSH) 帳戶的認證,從執行層安全地傳遞至計算叢集。
hbi_workspace
旗標不會影響傳輸中的加密。 其只會影響待用加密。
必要條件
- Azure 訂用帳戶。
- Azure Key Vault 執行個體。 金鑰保存庫包含用於加密您服務的金鑰。
Key Vault 必須啟用虛刪除和清除保護。 使用客戶自控金鑰協助保護服務的受控識別必須具有金鑰保存庫中的下列權限:
- 包裝金鑰
- 將金鑰解除包裝
- Get
例如,Azure Cosmos DB 的受控識別會必須具備金鑰保存庫的這些權限。
限制
- 建立工作區之後,工作區相依資源的客戶自控加密金鑰只能更新為原始 Azure Key Vault 資源中的另一個金鑰。
- 除非您使用伺服器端預覽,否則加密資料會儲存在訂用帳戶中 Microsoft 管理資源群組中的資源上。 您無法預先建立這些資源,或將資源的擁有權轉移給您。 當您在 Azure Machine Learning 服務中建立物件時,會透過 Azure Machine Learning API 間接管理資料生命週期。
- 您無法只刪除 Microsoft 所管理、用於客戶自控金鑰的資源,而不一併刪除工作區。
- 您無法使用客戶管理的金鑰來加密計算叢集的 OS 磁碟。 您必須使用 Microsoft 自控金鑰。
警告
請勿刪除資源群組,其含有 Azure Cosmos DB 執行個體,或此群組中自動建立的任何資源。 如果您需要刪除資源群組或其中的由 Microsoft 管理的服務,就必須刪除用到這些項目的 Azure Machine Learning 工作區。 當您刪除相關聯的工作區時,資源群組資源也會一併刪除。
客戶管理的金鑰
當您未使用客戶自控金鑰時,Microsoft 會在 Microsoft 擁有的 Azure 訂用帳戶中建立及管理資源,並使用 Microsoft 管理的金鑰來加密資料。
當您使用客戶自控金鑰時,資源會位於您的 Azure 訂用帳戶中,並使用您的金鑰加密。 當這些資源存在於您的訂用帳戶中時,會由 Microsoft 管理。 建立 Azure Machine Learning 工作區時,這些資源會自動建立和設定。
這些 Microsoft 管理的資源會位於在訂用帳戶中建立的新 Azure 資源群組中。 此資源群組與工作區的資源群組不同。 其會包含與金鑰搭配使用、由 Microsoft 管理的資源。 命名資源群組的公式為:<Azure Machine Learning workspace resource group name><GUID>
。
提示
Azure Cosmos DB 的要求單位會視需要自動縮放。
如果 Azure Machine Learning 工作區使用私人端點,此資源群組也會包含 Microsoft 管理的 Azure 虛擬網路。 此虛擬網路可協助保護受控服務與工作區之間的通訊。 您無法提供自有的虛擬網路來與 Microsoft 管理的資源搭配使用。 您也無法修改虛擬網路。 例如,您無法變更其所使用的 IP 位址範圍。
計算資源上的資料加密
Azure Machine Learning 會使用計算資源來定型和部署機器學習模型。 下表描述計算選項,以及每一個計算選項如何加密資料:
計算 | 加密 |
---|---|
Azure 容器執行個體 | 資料會使用 Microsoft 管理的金鑰或客戶自控金鑰進行加密。 如需詳細資訊,請參閱加密部署資料。 |
Azure Kubernetes Service | 資料會使用 Microsoft 管理的金鑰或客戶自控金鑰進行加密。 如需詳細資訊,請參閱攜帶您自己的金鑰搭配 Azure Kubernetes Service 中的 Azure 磁碟。 |
Azure Machine Learning 計算執行個體 | 如果已為工作區啟用 hbi_workspace 旗標,則會加密本機暫存磁碟。 |
Azure Machine Learning 計算叢集 | 使用 Microsoft 管理的金鑰在 Azure 儲存體中加密 OS 磁碟。 如果已為工作區啟用 hbi_workspace 旗標,則會加密暫存磁碟。 |
計算 | 加密 |
---|---|
Azure Kubernetes Service | 資料會使用 Microsoft 管理的金鑰或客戶自控金鑰進行加密。 如需詳細資訊,請參閱攜帶您自己的金鑰搭配 Azure Kubernetes Service 中的 Azure 磁碟。 |
Azure Machine Learning 計算執行個體 | 如果已為工作區啟用 hbi_workspace 旗標,則會加密本機暫存磁碟。 |
Azure Machine Learning 計算叢集 | 使用 Microsoft 管理的金鑰在 Azure 儲存體中加密 OS 磁碟。 如果已為工作區啟用 hbi_workspace 旗標,則會加密暫存磁碟。 |
計算叢集
計算叢集具有本機 OS 磁碟記憶體,且可以在作業期間從訂用帳戶中的記憶體帳戶掛接資料。 當您在作業中從自己的儲存體帳戶掛接資料時,可以在這些儲存體帳戶上啟用客戶自控金鑰以進行加密。
儲存在 Azure 儲存體中每個計算節點的 OS 磁碟,而且一律會使用 Azure Machine Learning 儲存體帳戶中的 Microsoft 受控金鑰 (而不是使用客戶自控金鑰) 加密。 此計算目標是暫時性的,因此在叢集縮小之後,在 OS 磁碟上儲存的資料即會刪除。 當沒有任何作業排入佇列、自動調整開啟,且最小節點計數設定為零時,叢集通常會相應減少。 底層虛擬機器已解除佈建,且 OS 磁碟已刪除。
OS 磁碟不支援 Azure 磁碟加密。 每部虛擬機器也會有本機暫存磁碟供 OS 作業使用。 如果您想要的話,可以使用磁碟來暫存定型資料。 如果您是以 hbi_workspace
參數設定為 TRUE
來建立工作區,則暫存磁碟會加密。 此環境很短暫 (只在作業期間),且加密支援僅限於系統受控金鑰。
計算執行個體
計算執行個體的 OS 磁碟是由 Azure Machine Learning 儲存體帳戶中的 Microsoft 受控金鑰來加密。 如果您是以 hbi_workspace
參數設定為 TRUE
來建立工作區,則會使用 Microsoft 受控金鑰來加密計算執行個體上的本機暫存磁碟。 OS 和暫存磁碟不支援客戶自控金鑰加密。
加密工作區中繼資料的儲存體
當您攜帶自己的加密金鑰時,服務中繼資料會儲存在 Azure 訂用帳戶中的專用資源上。 Microsoft 會在您的訂用帳戶中建立個別的資源群組,目的為此:azureml-rg-workspacename_GUID。 只有 Microsoft 可以修改此受控資源群組中的資源。
Microsoft 會建立下列資源來儲存工作區的中繼資料:
服務 | 使用方式 | 範例資料 |
---|---|---|
Azure Cosmos DB | 儲存作業記錄資料、計算中繼資料和資產中繼資料。 | 資料可以包含作業名稱、狀態、序號和狀態;計算叢集名稱、核心數目和節點數目;資料存放區名稱和標籤,以及模型等資產的描述;和資料標籤名稱。 |
Azure AI 搜尋服務 | 儲存可協助查詢機器學習內容的索引。 | 這些索引是以 Azure Cosmos DB 中儲存的資料為基礎所建置。 |
Azure 儲存體 | 儲存與 Azure Machine Learning 管線資料相關的中繼資料。 | 資料可以包含設計工具管線名稱、管線配置和執行屬性。 |
從資料生命週期管理的觀點來看,當您在 Azure Machine Learning 中建立及刪除對應的物件時,會建立及刪除上述資源中的資料。
您的 Azure Machine Learning 工作區會使用其受控識別來讀取和寫入資料。 系統會透過資料資源上的角色指派來為此識別授與資源的存取權 (Azure 角色型存取控制)。 您提供的加密金鑰會用於加密在 Microsoft 管理的資源上儲存的資料。 在執行階段,該金鑰也可用於建立 Azure AI 搜尋服務的索引。
當您在工作區上建立私人連結端點以允許輸入連線時,系統會設定額外的網路控制。 此設定包括建立 Azure Cosmos DB 執行個體的私人連結端點連線。 網路存取僅限於受信任的 Microsoft 服務。
(預覽) 中繼資料的服務端加密
客戶自控金鑰加密工作區的新結構可在預覽中取得,相較於目前的結構,其成本下降,且 Azure 原則衝突的可能性降低。 在此新模型中,加密資料會儲存在 Microsoft 受控資源的服務端,而不是在您的訂用帳戶中。
先前儲存在訂用帳戶 Azure Cosmos DB 中的資料,會使用加密金鑰進行文件等級加密,並儲存於多租用戶 Microsoft 管理的資源中。 先前儲存在訂用帳戶 Azure AI 搜尋服務中的搜尋索引`,會儲存在每個工作區為您專用佈建的 Microsoft 受控資源上。 會根據 Microsoft 成本管理的 Azure Machine Learning 工作區收取 Azure AI 搜尋執行個體的費用。
先前儲存在受控資源群組中儲存體帳戶的管線中繼資料,現在會儲存在與 Azure Machine Learning 工作區相關聯之訂用帳戶中的儲存體帳戶上。 由於訂用帳戶對此 Azure 儲存體資源單獨管理,因此您必須負責設定其加密設定。
若要加入此預覽,請在 REST API 或 Bicep 或 Resource Manager 範本中設定 enableServiceSideCMKEncryption
。 您也可以使用 Azure 入口網站。 預覽可用性會因工作區種類而異:
種類 | 支援 |
---|---|
預設 | Yes |
中樞 | No |
Project | No |
注意
在此預覽期間,不支援金鑰輪替和資料標記功能。 對於用來儲存已停用公用網路存取之加密金鑰的 Azure Key Vault,目前不支援伺服器端加密。
如需建立具有中繼資料服務端加密之工作區的範本,請參閱 https://github.com/azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-cmk-service-side-encryption。
hbi_workspace 旗標
您只能在建立工作區時設定 hbi_workspace
旗標。 您無法對現有的工作區變更此旗標。
當您將此旗標設定為 TRUE
時,可能會增加疑難排解問題的困難度,因為傳送給 Microsoft 的遙測資料較少。 成功率或問題類型的可見度較低。 當此旗標為 TRUE
時,Microsoft 可能無法主動回應。
若您要在建立 Azure Machine Learning 工作區時啟用 hbi_workspace
旗標,請遵循下列其中一篇文章中的步驟:
- 使用 Azure 入口網站或 Python SDK 建立及管理工作區
- 使用 Azure CLI 建立及管理工作區
- 使用 Hashicorp Terraform 建立工作區
- 使用 Azure Resource Manager 範本建立工作區