Bloccare le risorse per proteggere l'infrastruttura

Gli amministratori possono bloccare una sottoscrizione di Azure, un gruppo di risorse o una risorsa per proteggerli da eliminazioni e modifiche accidentali degli utenti. Un blocco esegue l'override di tutte le autorizzazioni utente.

È possibile impostare blocchi per impedire l'eliminazione o le modifiche. Nel portale questi blocchi sono denominati Elimina e Sola lettura. Nella riga di comando questi blocchi sono denominati CanNotDelete e ReadOnly.

  • CanNotDelete significa che gli utenti autorizzati possono leggere e modificare una risorsa, ma non eliminarla.
  • ReadOnly significa che gli utenti autorizzati possono leggere una risorsa, ma non eliminarla o aggiornarla. L'applicazione di questo blocco è simile alla limitazione di tutti gli utenti autorizzati alle autorizzazioni fornite dal ruolo Lettore .

A differenza del controllo degli accessi in base al ruolo, si usano blocchi di gestione per applicare una restrizione in tutti gli utenti e i ruoli. Per informazioni sull'impostazione delle autorizzazioni per utenti e ruoli, vedere Controllo degli accessi in base al ruolo di Azure.

Bloccare l'ereditarietà

Quando si applica un blocco in un ambito padre, tutte le risorse in tale ambito ereditano lo stesso blocco. Anche le risorse aggiunte in un secondo momento ereditano lo stesso blocco padre. Il blocco più restrittivo nell'ereditarietà ha la precedenza.

Le risorse di estensione ereditano blocchi dalla risorsa a cui vengono applicati. Ad esempio, Microsoft.Insights/diagnostic Impostazioni è un tipo di risorsa di estensione. Se si applica un'impostazione di diagnostica a un BLOB di archiviazione e si blocca l'account di archiviazione, non è possibile eliminare l'impostazione di diagnostica. Questa ereditarietà ha senso perché l'ID risorsa completo dell'impostazione di diagnostica è:

/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storage-name}/blobServices/default/providers/microsoft.insights/diagnosticSettings/{setting-name}"

Che corrisponde all'ambito dell'ID risorsa della risorsa bloccata:

/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storage-name}

Se si dispone di un blocco Elimina su una risorsa e si tenta di eliminare il relativo gruppo di risorse, la funzionalità blocca l'intera operazione di eliminazione. Anche se il gruppo di risorse o altre risorse nel gruppo di risorse viene sbloccato, l'eliminazione non avviene. Non è mai stata eseguita un'eliminazione parziale.

Quando si annulla una sottoscrizione di Azure:

  • Un blocco delle risorse non blocca l'annullamento della sottoscrizione.
  • Azure mantiene le risorse disattivandole anziché eliminarle immediatamente.
  • Azure elimina le risorse in modo permanente solo dopo un periodo di attesa.

Comprendere l'ambito dei blocchi

Nota

I blocchi si applicano solo alle operazioni di Azure del piano di controllo e non alle operazioni del piano dati.

Le operazioni del piano di controllo di Azure passano a https://management.azure.com. Le operazioni del piano dati di Azure passano all'istanza del servizio, ad esempio https://myaccount.blob.core.windows.net/. Vedere Piano di controllo di Azure e piano dati. Per individuare le operazioni che usano l'URL del piano di controllo, vedere l'API REST di Azure.

La distinzione significa che i blocchi proteggono una risorsa dalle modifiche, ma non limitano il modo in cui una risorsa esegue le sue funzioni. Un blocco ReadOnly, ad esempio, in un server logico database SQL, lo protegge dalle eliminazioni o dalle modifiche. Consente di creare, aggiornare o eliminare dati nel database del server. Le operazioni del piano dati consentono transazioni di dati. Queste richieste non passano a https://management.azure.com.

Considerazioni prima di applicare i blocchi

L'applicazione di blocchi può causare risultati imprevisti. Alcune operazioni, che non sembrano modificare una risorsa, richiedono azioni bloccate. I blocchi impediscono al metodo POST di inviare dati all'API di Azure Resource Manager (ARM). Alcuni esempi comuni di operazioni bloccate sono:

  • Un blocco di sola lettura in un account di archiviazione impedisce agli utenti di elencare le chiavi dell'account. Una richiesta POST gestisce l'operazione list keys Archiviazione di Azure per proteggere l'accesso alle chiavi dell'account. Le chiavi dell'account forniscono l'accesso completo ai dati nell'account di archiviazione. Quando un blocco di sola lettura è configurato per un account di archiviazione, gli utenti che non dispongono delle chiavi dell'account devono usare le credenziali di Microsoft Entra per accedere ai dati blob o code. Un blocco di sola lettura impedisce anche l'assegnazione di ruoli controllo degli accessi in base al ruolo di Azure con ambito all'account di archiviazione o a un contenitore di dati (contenitore BLOB o coda).

  • Un blocco di sola lettura in un account di archiviazione protegge le assegnazioni di controllo degli accessi in base al ruolo con ambito per un account di archiviazione o un contenitore di dati (contenitore BLOB o coda).

  • Un blocco di sola lettura in un account di archiviazione impedisce la creazione di un contenitore BLOB.

  • Un blocco di sola lettura o non può eliminare un blocco in un account di archiviazione non impedisce l'eliminazione o la modifica dei dati. Non protegge anche i dati in un BLOB, una coda, una tabella o un file.

  • L'API account Archiviazione espone le operazioni del piano dati e del piano di controllo. Se una richiesta usa operazioni del piano dati, il blocco sull'account di archiviazione non protegge i dati blob, coda, tabella o file all'interno di tale account di archiviazione. Se la richiesta usa operazioni del piano di controllo, tuttavia, il blocco protegge tali risorse.

    Ad esempio, se una richiesta usa condivisioni file - Elimina, ovvero un'operazione del piano di controllo, l'eliminazione non riesce. Se la richiesta usa Elimina condivisione, ovvero un'operazione del piano dati, l'eliminazione ha esito positivo. È consigliabile usare un'operazione del piano di controllo.

  • Un blocco di sola lettura in un gruppo di sicurezza di rete (NSG) impedisce la creazione del log del flusso del gruppo di sicurezza di rete corrispondente. Un blocco non può eliminare in un gruppo di sicurezza di rete (NSG) non impedisce la creazione o la modifica del log del flusso del gruppo di sicurezza di rete corrispondente.

  • Un blocco di sola lettura applicato a una risorsa Servizio app impedisce a Visual Studio Server Explorer di visualizzare i file della risorsa perché questa interazione richiede l'accesso in scrittura.

  • Un blocco di sola lettura su un gruppo di risorse che contiene un piano di servizio app impedisce l'aumento o l'aumento del piano.

  • Un blocco di sola lettura in un gruppo di risorse che contiene una macchina virtuale impedisce a tutti gli utenti di avviare o riavviare una macchina virtuale. Queste operazioni richiedono una richiesta di metodo POST.

  • Un blocco di sola lettura in un gruppo di risorse impedisce di spostare le risorse esistenti all'interno o all'esterno del gruppo di risorse.

  • Un blocco di sola lettura su un gruppo di risorse che contiene un account di automazione impedisce l'avvio di tutti i runbook. Queste operazioni richiedono una richiesta di metodo POST.

  • Un blocco non può eliminare una risorsa o un gruppo di risorse impedisce l'eliminazione delle assegnazioni di Controllo degli accessi in base al ruolo di Azure.

  • Un blocco non può eliminare in un gruppo di risorse impedisce ad Azure Resource Manager di eliminare automaticamente le distribuzioni nella cronologia. Se si raggiungono 800 distribuzioni nella cronologia, le distribuzioni hanno esito negativo.

  • Un blocco cannot-delete applicato al ​​gruppo di risorse creato dal servizio Backup di Azure causa l'esito negativo dei backup. Il servizio supporta un massimo di 18 punti di ripristino. Quando è bloccato, il servizio di backup non riesce a eseguire la pulizia dei punti di ripristino. Per altre informazioni, vedere Domande frequenti-Eseguire il backup delle VM di Azure.

  • Un blocco non può eliminare un gruppo di risorse che contiene aree di lavoro di Azure Machine Learning impedisce il corretto funzionamento della scalabilità automatica dei cluster di calcolo di Azure Machine Learning. Con il blocco, la scalabilità automatica non può rimuovere i nodi inutilizzati. La soluzione usa più risorse di quelle necessarie per il carico di lavoro.

  • Un blocco di sola lettura in un'area di lavoro Log Analytics impedisce l'abilitazione di User and Entity Behavior Analytics (UEBA).

  • Un blocco non può eliminare in un'area di lavoro Log Analytics non impedisce operazioni di eliminazione dei dati. Rimuovere invece il ruolo di eliminazione dei dati dall'utente.

  • Un blocco di sola lettura applicato a una sottoscrizione impedisce ad Azure Advisor di funzionare correttamente. Advisor non riesce ad archiviare i risultati delle relative query.

  • Un blocco di sola lettura su un gateway applicazione impedisce di ottenere l'integrità back-end del gateway applicazione. Questa operazione usa un metodo POST, che blocca un blocco di sola lettura.

  • Un blocco di sola lettura in un cluster servizio Azure Kubernetes del servizio Azure Kubernetes limita la modalità di accesso alle risorse del cluster tramite il portale. Un blocco di sola lettura impedisce di usare la sezione risorse Kubernetes del cluster del servizio Azure Kubernetes nel portale di Azure per scegliere una risorsa cluster. Queste operazioni richiedono una richiesta di metodo POST per l'autenticazione.

  • Un blocco non può eliminare in una macchina virtuale protetta da Site Recovery impedisce la rimozione corretta di determinati collegamenti di risorse correlati a Site Recovery quando si rimuove la protezione o si disabilita la replica. Se si prevede di proteggere nuovamente la macchina virtuale in un secondo momento, è necessario rimuovere il blocco prima di disabilitare la protezione. Se non si rimuove il blocco, è necessario seguire alcuni passaggi per pulire i collegamenti non aggiornati prima di poter proteggere la macchina virtuale. Per altre informazioni, vedere Risolvere i problemi di replica delle macchine virtuali di Azure.

Utenti che possono creare o eliminare blocchi

Per creare o eliminare i blocchi di gestione, è necessario avere accesso alle azioni Microsoft.Authorization/* o Microsoft.Authorization/locks/*. Gli utenti assegnati ai ruoli Proprietario e Accesso utente Amministrazione istrator hanno l'accesso necessario. Alcuni ruoli predefiniti specializzati concedono anche questo accesso. È possibile creare un ruolo personalizzato con le autorizzazioni necessarie.

Applicazioni gestite e blocchi

Alcuni servizi di Azure, ad esempio Azure Databricks, usano le applicazioni gestite per implementare il servizio. In tal caso, il servizio crea due gruppi di risorse. Uno è un gruppo di risorse sbloccato che contiene una panoramica del servizio. L'altro è un gruppo di risorse bloccato che contiene l'infrastruttura del servizio.

Se si prova a eliminare il gruppo di risorse dell'infrastruttura, viene visualizzato un errore che informa che il gruppo di risorse è bloccato. Se si tenta di eliminare il blocco per il gruppo di risorse dell'infrastruttura, viene visualizzato un errore che informa che il blocco non può essere eliminato perché è proprietario di un'applicazione di sistema.

Eliminare invece il servizio, che elimina anche il gruppo di risorse dell'infrastruttura.

Per le applicazioni gestite, scegliere il servizio distribuito.

Screenshot of the Azure portal with an instance of Azure Databricks selected.

Si noti che il servizio include un collegamento per un gruppo di risorse gestito. Il gruppo di risorse contiene l'infrastruttura ed è bloccato. È possibile eliminarlo solo indirettamente.

Screenshot displaying the Managed Resource Group link in the Azure portal.

Per eliminare tutti gli elementi per il servizio, incluso il gruppo di risorse dell'infrastruttura bloccata, scegliere Elimina per il servizio.

Screenshot of the Azure portal with the Delete option for the selected service.

Configurare i blocchi

Portale

Nel pannello di spostamento sinistro il nome della funzionalità di blocco della sottoscrizione è Blocchi risorse, mentre il nome della funzionalità di blocco del gruppo di risorse è Blocchi.

  1. Nel pannello Impostazioni della risorsa, del gruppo di risorse o della sottoscrizione che si vuole bloccare selezionare Blocchi.

    Select lock.

  2. Per aggiungere un blocco, selezionare Aggiungi. Per creare un blocco a livello padre, selezionare l'elemento padre. La risorsa attualmente selezionata erediterà il blocco dall'elemento padre. Ad esempio, è possibile bloccare il gruppo di risorse per applicare un blocco a tutte le relative risorse.

    Add lock.

  3. Assegnare un nome e un livello al blocco. Facoltativamente è possibile aggiungere note che descrivono il blocco.

    Set lock.

  4. Per eliminare il blocco, selezionare il pulsante Elimina.

    Delete lock.

Template

Quando si usa un modello di Resource Manager o un file Bicep per distribuire un blocco, è utile comprendere il funzionamento dell'ambito di distribuzione e dell'ambito di blocco. Per applicare un blocco nell'ambito della distribuzione, ad esempio bloccare un gruppo di risorse o una sottoscrizione, lasciare non impostata la proprietà scope. Quando si blocca una risorsa, all'interno dell'ambito di distribuzione, impostare la proprietà scope sul blocco.

Il modello seguente applica un blocco al gruppo di risorse. Si noti che non esiste una proprietà di ambito nella risorsa di blocco perché l'ambito di blocco corrisponde all'ambito di distribuzione. Distribuire questo modello a livello di gruppo di risorse.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
  },
  "resources": [
    {
      "type": "Microsoft.Authorization/locks",
      "apiVersion": "2016-09-01",
      "name": "rgLock",
      "properties": {
        "level": "CanNotDelete",
        "notes": "Resource group should not be deleted."
      }
    }
  ]
}

Per creare un gruppo di risorse e bloccarlo, distribuire il modello seguente a livello di sottoscrizione.

{
  "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "rgName": {
      "type": "string"
    },
    "rgLocation": {
      "type": "string"
    }
  },
  "variables": {},
  "resources": [
    {
      "type": "Microsoft.Resources/resourceGroups",
      "apiVersion": "2021-04-01",
      "name": "[parameters('rgName')]",
      "location": "[parameters('rgLocation')]",
      "properties": {}
    },
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2021-04-01",
      "name": "lockDeployment",
      "resourceGroup": "[parameters('rgName')]",
      "dependsOn": [
        "[resourceId('Microsoft.Resources/resourceGroups/', parameters('rgName'))]"
      ],
      "properties": {
        "mode": "Incremental",
        "template": {
          "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
          "contentVersion": "1.0.0.0",
          "parameters": {},
          "variables": {},
          "resources": [
            {
              "type": "Microsoft.Authorization/locks",
              "apiVersion": "2016-09-01",
              "name": "rgLock",
              "properties": {
                "level": "CanNotDelete",
                "notes": "Resource group and its resources should not be deleted."
              }
            }
          ],
          "outputs": {}
        }
      }
    }
  ],
  "outputs": {}
}

Quando si applica un blocco a una risorsa all'interno del gruppo di risorse, aggiungere la proprietà scope. Impostare l'ambito sul nome della risorsa da bloccare.

L'esempio seguente illustra un modello che crea un piano di servizio app, un sito Web e un blocco nel sito Web. L'ambito del blocco è impostato sul sito Web.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "hostingPlanName": {
      "type": "string"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "variables": {
    "siteName": "[concat('ExampleSite', uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Web/serverfarms",
      "apiVersion": "2020-12-01",
      "name": "[parameters('hostingPlanName')]",
      "location": "[parameters('location')]",
      "sku": {
        "tier": "Free",
        "name": "f1",
        "capacity": 0
      },
      "properties": {
        "targetWorkerCount": 1
      }
    },
    {
      "type": "Microsoft.Web/sites",
      "apiVersion": "2020-12-01",
      "name": "[variables('siteName')]",
      "location": "[parameters('location')]",
      "dependsOn": [
        "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
      ],
      "properties": {
        "serverFarmId": "[parameters('hostingPlanName')]"
      }
    },
    {
      "type": "Microsoft.Authorization/locks",
      "apiVersion": "2016-09-01",
      "name": "siteLock",
      "scope": "[concat('Microsoft.Web/sites/', variables('siteName'))]",
      "dependsOn": [
        "[resourceId('Microsoft.Web/sites', variables('siteName'))]"
      ],
      "properties": {
        "level": "CanNotDelete",
        "notes": "Site should not be deleted."
      }
    }
  ]
}

Azure PowerShell

Per bloccare le risorse distribuite con Azure PowerShell, usare il comando New-AzResourceLock.

Per bloccare una risorsa, specificare il nome, il tipo e il gruppo di risorse della risorsa.

New-AzResourceLock -LockLevel CanNotDelete -LockName LockSite -ResourceName examplesite -ResourceType Microsoft.Web/sites -ResourceGroupName exampleresourcegroup

Per bloccare un gruppo di risorse, specificare il nome del gruppo di risorse.

New-AzResourceLock -LockName LockGroup -LockLevel CanNotDelete -ResourceGroupName exampleresourcegroup

Per ottenere informazioni su un blocco, usare Get-AzResourceLock. Per ottenere tutti i blocchi nella sottoscrizione, usare:

Get-AzResourceLock

Per ottenere tutti i blocchi per una risorsa, usare:

Get-AzResourceLock -ResourceName examplesite -ResourceType Microsoft.Web/sites -ResourceGroupName exampleresourcegroup

Per ottenere tutti i blocchi per un gruppo di risorse, usare:

Get-AzResourceLock -ResourceGroupName exampleresourcegroup

Per eliminare un blocco per una risorsa, usare:

$lockId = (Get-AzResourceLock -ResourceGroupName exampleresourcegroup -ResourceName examplesite -ResourceType Microsoft.Web/sites).LockId
Remove-AzResourceLock -LockId $lockId

Per eliminare un blocco per un gruppo di risorse, usare:

$lockId = (Get-AzResourceLock -ResourceGroupName exampleresourcegroup).LockId
Remove-AzResourceLock -LockId $lockId

Interfaccia della riga di comando di Azure

Per bloccare le risorse distribuite con l'interfaccia della riga di comando di Azure, usare il comando az lock create.

Per bloccare una risorsa, specificare il nome, il tipo e il gruppo di risorse della risorsa.

az lock create --name LockSite --lock-type CanNotDelete --resource-group exampleresourcegroup --resource-name examplesite --resource-type Microsoft.Web/sites

Per bloccare un gruppo di risorse, specificare il nome del gruppo di risorse.

az lock create --name LockGroup --lock-type CanNotDelete --resource-group exampleresourcegroup

Per ottenere informazioni su un blocco, usare az lock list. Per ottenere tutti i blocchi nella sottoscrizione, usare:

az lock list

Per ottenere tutti i blocchi per una risorsa, usare:

az lock list --resource-group exampleresourcegroup --resource-name examplesite --namespace Microsoft.Web --resource-type sites --parent ""

Per ottenere tutti i blocchi per un gruppo di risorse, usare:

az lock list --resource-group exampleresourcegroup

Per eliminare un blocco per una risorsa, usare:

lockid=$(az lock show --name LockSite --resource-group exampleresourcegroup --resource-type Microsoft.Web/sites --resource-name examplesite --output tsv --query id)
az lock delete --ids $lockid

Per eliminare un blocco per un gruppo di risorse, usare:

lockid=$(az lock show --name LockSite --resource-group exampleresourcegroup  --output tsv --query id)
az lock delete --ids $lockid

Python

Le risorse distribuite vengono bloccate con Python usando il comando ManagementLockClient.management_locks.create_or_update_at_resource_group_level .

Per bloccare una risorsa, specificare il nome, il tipo e il gruppo di risorse della risorsa.

import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ManagementLockClient

credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]

lock_client = ManagementLockClient(credential, subscription_id)

lock_result = lock_client.management_locks.create_or_update_at_resource_level(
    "exampleGroup",
    "Microsoft.Web",
    "",
    "sites",
    "examplesite",
    "lockSite",
    {
        "level": "CanNotDelete"
    }
)

Per bloccare un gruppo di risorse, specificare il nome del gruppo di risorse.

import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ManagementLockClient

credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]

lock_client = ManagementLockClient(credential, subscription_id)

lock_result = lock_client.management_locks.create_or_update_at_resource_group_level(
    "exampleGroup",
    "lockGroup",
    {
        "level": "CanNotDelete"
    }
)

Per ottenere informazioni su tutti i blocchi nella sottoscrizione, usare ManagementLockClient.management_locks.get. Per ottenere tutti i blocchi nella sottoscrizione, usare:

import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ManagementLockClient

credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]

lock_client = ManagementLockClient(credential, subscription_id)

lock_result = lock_client.management_locks.list_at_subscription_level()

for lock in lock_result:
    print(f"Lock name: {lock.name}")
    print(f"Lock level: {lock.level}")
    print(f"Lock notes: {lock.notes}")

Per ottenere un blocco per una risorsa, usare:

import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ManagementLockClient

credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]

lock_client = ManagementLockClient(credential, subscription_id)

lock_result = lock_client.management_locks.get_at_resource_level(
    "exampleGroup",
    "Microsoft.Web",
    "",
    "sites",
    "examplesite",
    "lockSite"
)

print(f"Lock ID: {lock_result.id}")
print(f"Lock Name: {lock_result.name}")
print(f"Lock Level: {lock_result.level}")

Per ottenere un blocco per un gruppo di risorse, usare:

import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ManagementLockClient

credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]

lock_client = ManagementLockClient(credential, subscription_id)

lock_result = lock_client.management_locks.get_at_resource_group_level(
    "exampleGroup",
    "lockGroup"
)

print(f"Lock ID: {lock_result.id}")
print(f"Lock Level: {lock_result.level}")

Per eliminare un blocco per una risorsa, usare:

import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ManagementLockClient

credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]

lock_client = ManagementLockClient(credential, subscription_id)

lock_client.management_locks.delete_at_resource_level(
    "exampleGroup",
    "Microsoft.Web",
    "",
    "sites",
    "examplesite",
    "lockSite"
)

Per eliminare un blocco per un gruppo di risorse, usare:

import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ManagementLockClient

credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]

lock_client = ManagementLockClient(credential, subscription_id)

lock_client.management_locks.delete_at_resource_group_level("exampleGroup", "lockGroup")

REST API

È possibile bloccare le risorse distribuite tramite l'API REST per i blocchi di gestione. L'API REST consente di creare ed eliminare blocchi e recuperare informazioni sui blocchi esistenti.

Per creare un blocco, eseguire:

PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/locks/{lock-name}?api-version={api-version}

L'ambito può essere una sottoscrizione, un gruppo di risorse o una risorsa. Il nome del blocco può essere quello che si vuole chiamare. Per la versione dell'API, usare 2016-09-01.

Nella richiesta includere un oggetto JSON che specifica le proprietà di blocco.

{
  "properties": {
  "level": "CanNotDelete",
  "notes": "Optional text notes."
  }
}

Passaggi successivi