共用方式為


使用 Azure Resource Manager (ARM) 鎖定來保護 Azure Quantum 資源

Microsoft 建議使用 Azure Resource Manager (ARM) 資源鎖定來鎖定所有 Azure Quantum 工作區和連結的儲存體帳戶,以避免意外或惡意刪除。 例如,教授可能會想要限制學生修改提供者 SKU,但仍讓他們能夠使用筆記本並提交作業。

ARM 資源鎖定有兩種類型:

  • CannotDelete鎖定可防止使用者刪除資源,但允許讀取和修改其設定。
  • ReadOnly鎖定可防止使用者修改資源的設定 (包括刪除) ,但允許讀取其設定。 如需資源鎖定的詳細資訊,請參閱 鎖定資源以防止非預期的變更

注意

如果您已經使用 ARM 或 Bicep 範本來管理 Azure Quantum 工作區,您可以將本文中的程式新增至現有的範本。

下表顯示針對 Azure Quantum 工作區部署的建議資源鎖定組態。

資源 鎖定類型 備註
工作區 刪除 防止刪除工作區。
工作區 唯讀 防止對工作區進行任何修改,包括新增或刪除提供者,同時仍允許使用者建立和刪除筆記本和提交作業。 若要在設定此鎖定時修改提供者,您需要 移除資源鎖定、進行變更,然後重新部署鎖定。
儲存體帳戶 刪除 防止刪除儲存體帳戶。

應避免下列設定:

重要

設定下列 ARM 鎖定可能會導致工作區運作不正確。

資源 鎖定類型 備註
儲存體帳戶 唯讀 在儲存體帳戶上設定唯讀資源鎖定可能會導致工作區建立失敗、Jupyter Notebooks 介面,以及提交和擷取作業。
工作區或儲存體帳戶之工作區或父資源群組的父訂用帳戶 唯讀 將資源鎖定套用至父資源時,該父系下的所有資源都會繼承相同的鎖定,包括稍後建立的資源。 如需更細微的控制,應該直接在資源層級套用資源鎖定。

必要條件

您必須是資源的 擁有者使用者存取管理員 ,才能套用 ARM 資源鎖定。 如需詳細資訊,請參閱 Azure 內建角色

命令列部署

您需要Azure PowerShell或 Azure CLI 來部署鎖定。 如果您使用 Azure CLI,則必須擁有最新版本。 如需安裝指示,請參閱:

重要

如果您之前尚未搭配 Azure Quantum 使用 Azure CLI,請遵循 環境設定 一節中的步驟來新增 quantum 延伸模組並註冊 Azure Quantum 命名空間。

登入 Azure

安裝 Azure CLI 或Azure PowerShell之後,請確定您第一次登入。 選擇下列其中一個索引標籤,並執行對應的命令列命令以登入 Azure:

az login

如果您有多個 Azure 訂用帳戶,請選取您想要鎖定資源的訂用帳戶。 以您的訂用帳戶名稱或訂用帳戶識別碼取代 SubscriptionName 。 例如

az account set --subscription "Azure subscription 1"

建立 ARM 資源鎖定

當您部署資源鎖定時,您可以指定鎖定的名稱、鎖定類型,以及資源的其他資訊。 這項資訊可以從 Azure Quantum 入口網站中的資源首頁複製並貼上。

az lock create \
    --name <lock> \
    --resource-group <resource-group> \
    --resource <workspace> \
    --lock-type CanNotDelete \
    --resource-type Microsoft.Quantum/workspaces

  • name:鎖定的描述性名稱
  • resource-group:父資源群組的名稱。
  • resource:要套用鎖定的資源名稱。
  • lock-type:要套用的鎖定類型, 可以是 CanNotDeleteReadOnly
  • resource-type:資源的類型 target 。

例如,若要在工作區上建立 CanNotDelete 鎖定:

az lock create \
    --name ArmLockWkspDelete \
    --resource-group armlocks-resgrp \
    --resource armlocks-wksp \
    --lock-type CanNotDelete \
    --resource-type Microsoft.Quantum/workspaces

如果成功,Azure 會以 JSON 格式傳回鎖定組態:

{
  "id": "/subscriptions/<ID>/resourcegroups/armlocks-resgrp/providers/Microsoft.Quantum/workspaces/armlocks-wksp/providers/Microsoft.Authorization/locks/ArmLockWkspDelete",
  "level": "CanNotDelete",
  "name": "ArmLockWkspDelete",
  "notes": null,
  "owners": null,
  "resourceGroup": "armlocks-resgrp",
  "type": "Microsoft.Authorization/locks"
}

若要在工作區上建立 ReadOnly 鎖定:

az lock create \
    --name ArmLockWkspRead \
    --resource-group armlocks-resgrp \
    --resource armlocks-wksp \
    --lock-type ReadOnly \
    --resource-type Microsoft.Quantum/workspaces
{
  "id": "/subscriptions/<ID>/resourcegroups/armlocks-resgrp/providers/Microsoft.Quantum/workspaces/armlocks-wksp/providers/Microsoft.Authorization/locks/ArmLockWkspRead",
  "level": "ReadOnly",
  "name": "ArmLockWkspRead",
  "notes": null,
  "owners": null,
  "resourceGroup": "armlocks-resgrp",
  "type": "Microsoft.Authorization/locks"
}

若要在儲存體帳戶上建立 CanNotDelete 鎖定:

az lock create \
    --name ArmLockStoreDelete \
    --resource-group armlocks-resgrp \
    --resource armlocksstorage \--lock-type CanNotDelete \
    --resource-type Microsoft.Storage/storageAccounts
{
  "id": "/subscriptions/<ID>/resourcegroups/armlocks-resgrp/providers/Microsoft.Storage/storageAccounts/armlocksstorage/providers/Microsoft.Authorization/locks/ArmLockStoreDelete",
  "level": "CanNotDelete",
  "name": "ArmLockStoreDelete",
  "notes": null,
  "owners": null,
  "resourceGroup": "armlocks-resgrp",
  "type": "Microsoft.Authorization/locks"
}

檢視和刪除鎖定

若要檢視或刪除鎖定:

如需詳細資訊,請參閱 az lock reference

檢視訂用帳戶中的所有鎖定

az lock list

檢視工作區中的所有鎖定

az lock list \
    --resource-group armlocks-resgrp \
    --resource-name armlocks-wksp  \
    --resource-type Microsoft.Quantum/workspaces

檢視資源群組中所有資源的所有鎖定

az lock list --resource-group armlocks-resgrp

檢視單一鎖定的屬性

az lock show \
    --name ArmLockStoreDelete \
    --resource-group armlocks-resgrp \
    --resource-name armlocksstorage \
    --resource-type  Microsoft.Storage/storageAccounts

刪除鎖定

az lock delete \
    --name ArmLockStoreDelete \
    --resource-group armlocks-resgrp \
    --resource-name armlocksstorage \
    --resource-type  Microsoft.Storage/storageAccounts

如果刪除成功,Azure 不會傳回訊息。 若要確認刪除,您可以執行 az lock list

下一步