Proteggere le risorse di Azure Quantum con blocchi di Azure Resource Manager (ARM)
Microsoft consiglia di bloccare tutte le aree di lavoro di Azure Quantum e gli account di archiviazione collegati con un blocco di risorse di Azure Resource Manager (ARM) per impedire l'eliminazione accidentale o dannosa. Ad esempio, i professori potrebbero voler impedire agli studenti di modificare gli SKU del provider, ma comunque abilitarli per l'uso di notebook e l'invio di processi.
Esistono due tipi di blocchi delle risorse arm:
- Un blocco CannotDelete impedisce agli utenti di eliminare una risorsa, ma consente la lettura e la modifica della configurazione.
- Un blocco ReadOnly impedisce agli utenti di modificare la configurazione di una risorsa (inclusa l'eliminazione), ma consente di leggere la configurazione. Per altre informazioni sui blocchi delle risorse, vedere Bloccare le risorse per evitare modifiche impreviste.
Nota
Se si usa già un modello ARM o Bicep per gestire le aree di lavoro di Azure Quantum, è possibile aggiungere le procedure in questo articolo ai modelli esistenti.
Configurazioni di blocco consigliate
La tabella seguente illustra le configurazioni di blocco delle risorse consigliate da distribuire per un'area di lavoro di Azure Quantum.
Risorsa | Tipo di blocco | Note |
---|---|---|
Area di lavoro | Elimina | Impedisce l'eliminazione dell'area di lavoro. |
Area di lavoro | Sola lettura | Impedisce eventuali modifiche all'area di lavoro, incluse aggiunte o eliminazioni di provider, consentendo comunque agli utenti di creare ed eliminare blocchi appunti e inviare processi. Per modificare i provider quando questo blocco è impostato, è necessario rimuovere il blocco della risorsa, apportare le modifiche e quindi ridistribuire il blocco. |
Account di archiviazione | Elimina | Impedisce l'eliminazione dell'account di archiviazione. |
È consigliabile evitare le configurazioni seguenti:
Importante
L'impostazione dei blocchi ARM seguenti può causare il funzionamento non corretto dell'area di lavoro.
Risorsa | Tipo di blocco | Note |
---|---|---|
Account di archiviazione | Sola lettura | L'impostazione di un blocco di risorse di sola lettura nell'account di archiviazione può causare errori durante la creazione dell'area di lavoro, l'interfaccia Jupyter Notebooks e l'invio e il recupero di processi. |
Sottoscrizione padre dell'area di lavoro o del gruppo di risorse padre dell'area di lavoro o dell'account di archiviazione | Sola lettura | Quando viene applicato un blocco di risorse a una risorsa padre, tutte le risorse nell'elemento padre ereditano lo stesso blocco, incluse le risorse create in un secondo momento. Per un controllo più granulare, i blocchi delle risorse devono essere applicati direttamente a livello di risorsa. |
Prerequisiti
Per applicare i blocchi delle risorse arm, è necessario essere proprietario oamministratore accesso utenti di una risorsa. Per altre informazioni, vedere Ruoli predefiniti di Azure.
Distribuzione dalla riga di comando
Per distribuire il blocco, è necessario Azure PowerShell o l'interfaccia della riga di comando di Azure. Se si usa l'interfaccia della riga di comando di Azure, è necessario avere la versione più recente. Per le istruzioni di installazione, vedere:
Importante
Se in precedenza non è stata usata l'interfaccia della riga di comando di Azure con Azure Quantum, seguire la procedura descritta nella sezione Configurazione dell'ambiente per aggiungere l'estensione quantum
e registrare lo spazio dei nomi di Azure Quantum.
Accedere ad Azure
Dopo aver installato l'interfaccia della riga di comando di Azure o Azure PowerShell, assicurarsi di accedere per la prima volta. Scegliere una delle schede seguenti ed eseguire i comandi della riga di comando corrispondenti per accedere ad Azure:
az login
Se si hanno più sottoscrizioni di Azure, selezionare la sottoscrizione con le risorse da bloccare. Sostituire SubscriptionName
con il nome della sottoscrizione o l'ID sottoscrizione. Ad esempio,
az account set --subscription "Azure subscription 1"
Creare un blocco delle risorse arm
Quando si distribuisce un blocco di risorse, si specifica un nome per il blocco, il tipo di blocco e informazioni aggiuntive sulla risorsa. Queste informazioni possono essere copiate e incollate dalla home page della risorsa nel portale di Azure Quantum.
az lock create \
--name <lock> \
--resource-group <resource-group> \
--resource <workspace> \
--lock-type CanNotDelete \
--resource-type Microsoft.Quantum/workspaces
- name: nome descrittivo per il blocco
- resource-group: nome del gruppo di risorse padre.
- resource: nome della risorsa a cui applicare il blocco.
- lock-type: tipo di blocco da applicare, CanNotDelete o ReadOnly.
- resource-type: tipo della target risorsa.
Ad esempio, per creare un blocco CanNotDelete in un'area di lavoro:
az lock create \
--name ArmLockWkspDelete \
--resource-group armlocks-resgrp \
--resource armlocks-wksp \
--lock-type CanNotDelete \
--resource-type Microsoft.Quantum/workspaces
In caso di esito positivo, Azure restituisce la configurazione del blocco in formato 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"
}
Per creare un blocco ReadOnly in un'area di lavoro:
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"
}
Per creare un blocco CanNotDelete in un account di archiviazione:
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"
}
Visualizzazione ed eliminazione di blocchi
Per visualizzare o eliminare blocchi:
Per altre informazioni, vedere il riferimento az lock.
Visualizzare tutti i blocchi in una sottoscrizione
az lock list
Visualizzare tutti i blocchi in un'area di lavoro
az lock list \
--resource-group armlocks-resgrp \
--resource-name armlocks-wksp \
--resource-type Microsoft.Quantum/workspaces
Visualizzare tutti i blocchi per tutte le risorse in un gruppo di risorse
az lock list --resource-group armlocks-resgrp
Visualizzare le proprietà di un singolo blocco
az lock show \
--name ArmLockStoreDelete \
--resource-group armlocks-resgrp \
--resource-name armlocksstorage \
--resource-type Microsoft.Storage/storageAccounts
Eliminare un blocco
az lock delete \
--name ArmLockStoreDelete \
--resource-group armlocks-resgrp \
--resource-name armlocksstorage \
--resource-type Microsoft.Storage/storageAccounts
Se l'eliminazione ha esito positivo, Azure non restituisce un messaggio. Per verificare l'eliminazione, è possibile eseguire az lock list
.