Sdílet prostřednictvím


Uzamčení prostředků Azure za účelem ochrany infrastruktury

Jako správce můžete uzamknout předplatné Azure, skupinu zdrojů nebo zdroj, abyste je ochránili před náhodným odstraněním nebo úpravami uživatelem. Zámek má přednost před všemi uživatelskými oprávněními.

Můžete nastavit zámky, které zabrání odstranění nebo úpravám. Na portálu se tyto zámky nazývají Odstranit a Pouze pro čtení. V příkazovém řádku se tyto zámky nazývají CanNotDelete a ReadOnly.

  • CanNotDelete znamená, že autorizovaní uživatelé můžou prostředek číst a upravovat, ale nemůžou ho odstranit.
  • ReadOnly znamená, že autorizovaní uživatelé můžou prostředek číst, ale nemůžou ho odstranit ani aktualizovat. Použití tohoto zámku je podobné omezení všech autorizovaných uživatelů na oprávnění, která role Čtenář poskytuje.

Na rozdíl od řízení přístupu na základě role (RBAC) používáte zámky správy k omezení všech uživatelů a rolí. Další informace o nastavení oprávnění pro uživatele a role najdete v tématu Azure RBAC.

Uzamčení dědičnosti

Když zámek použijete u nadřazeného oboru, všechny prostředky v daném oboru dědí stejný zámek. I prostředky, které přidáte později, přebírají stejný nadřazený zámek. Nejvíce omezující zámek v řetězu dědičnosti má přednost.

Rozšiřující prostředky dědí zámky z prostředku, na který se použijí. Například Microsoft.Insights/diagnosticSettings je typ prostředku rozšíření. Pokud u objektu blob úložiště použijete nastavení diagnostiky a uzamknete účet úložiště, nemůžete nastavení diagnostiky odstranit. Tato dědičnost dává smysl, protože úplné ID prostředku nastavení diagnostiky je:

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

ID uzamčeného prostředku musí odpovídat následujícímu formátu:

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

Pokud u prostředku máte zámek Odstranit a pokusíte se odstranit jeho skupinu prostředků, funkce zablokuje celou operaci odstranění. I když je skupina prostředků nebo jiné prostředky ve skupině prostředků odemknuté, odstranění se nestane. Částečné odstranění není možné.

Když zrušíte předplatné Azure:

  • Zámek prostředku neblokuje zrušení předplatného.
  • Azure vaše prostředky zachová tak, že je místo okamžitého odstranění deaktivuje.
  • Azure vaše prostředky trvale odstraní až po uplynutí čekací lhůty.

Pochopit rozsah zámků

Poznámka:

Zámky se vztahují pouze na operace Azure řídicí roviny, nikoli na operace roviny dat.

Operace řídicí roviny Azure přejdou na https://management.azure.com. Operace roviny dat Azure směřují do vaší instance služby, například https://myaccount.blob.core.windows.net/. Pro více informací viz řídicí rovina a datová rovina Azure. Pokud chcete zjistit, které operace používají adresu URL řídicí roviny, podívejte se na rozhraní Azure REST API.

Rozdíl znamená, že uzamkne prostředek před změnami, ale neomezí způsob, jakým prostředek provádí své funkce. Například zámek ReadOnly na logickém serveru služby SQL Database ho chrání před odstraněním nebo úpravami. Umožňuje vytvářet, aktualizovat nebo odstraňovat data v serverové databázi. Operace roviny dat umožňují datové transakce. Tyto požadavky nejdou na https://management.azure.com.

Důležité informace před použitím zámků

Použití zámků může vést k neočekávaným výsledkům. Některé operace, které zdánlivě neupravují prostředek, vyžadují blokované akce. Zámky brání metodě POST v odesílání dat do rozhraní API Azure Resource Manageru. Mezi běžné příklady blokovaných operací patří:

  • Zámek jen pro čtení v účtu úložiště brání uživatelům ve výpisu klíčů účtu. Požadavek POST provádí operaci Seznam klíčů služby Azure Storage pro ochranu přístupu k klíčům účtu. Klíče účtu poskytují úplný přístup k datům v účtu úložiště. Pokud je zámek jen pro čtení nakonfigurovaný pro účet úložiště, uživatelé, kteří nemají klíče účtu, potřebují pro přístup k datům objektů blob nebo fronty používat přihlašovací údaje Microsoft Entra. Zámek jen pro čtení také zabraňuje přiřazení rolí Azure RBAC, které jsou vymezeny na účet úložiště nebo do kontejneru dat (kontejner objektů blob nebo fronta).

  • Zámek jen pro čtení na účtu úložiště chrání přiřazení RBAC, která jsou vymezena pro účet úložiště, nebo datový kontejner (kontejner objektů blob nebo fronta).

  • Zámek jen pro čtení v účtu pro ukládání brání vytvoření kontejneru blob.

  • Zámek jen pro čtení v účet úložiště brání vytvoření kontejneru blobů. Operace vytvoření účtu úložiště je však možné provádět prostřednictvím řídicí roviny i roviny dat. Zámky určené jen pro čtení blokují pouze žádosti o vytvoření na řídicí rovině, ale uživatel může i nadále provádět platnou operaci vytvoření prostředku přes datovou rovinu.

  • Zámek pouze pro čtení nebo zámek proti odstranění na účtu úložiště nechrání jeho data před odstraněním nebo úpravou. Také nechrání data v blobu, frontě, tabulce nebo souboru.

  • Rozhraní API účtu úložiště zpřístupňuje operace datové roviny a řídicí roviny. Pokud požadavek používá datové operace, zámek na účtu úložiště nechrání data blobů, front, tabulek nebo souborů v tomto účtu úložiště. Zámek však chrání tyto prostředky v případě, že požadavek používá operace kontrolní roviny.

    Pokud například požadavek používá File Shares - Delete, což je operace řídicí roviny, odstranění se nezdaří. Pokud požadavek používá funkci Odstranit sdílenou složku, operace roviny dat proběhne úspěšně. Doporučujeme použít operaci řídicí roviny.

  • Ve skupině zabezpečení sítě (NSG) zámek jen pro čtení brání vytvoření odpovídajícího protokolu toku NSG. Nelze odstranit zámek na NSG nebrání vytvoření nebo úpravě odpovídajícího síťového protokolu toku NSG.

  • Zámek pouze pro čtení na prostředku App Service brání Průzkumníku serveru sady Visual Studio při zobrazování souborů pro prostředek, protože tato operace vyžaduje přístup pro zápis.

  • Zámek jen pro čtení u skupiny prostředků, která obsahuje plán služby App Service, brání vertikálnímu navýšení nebo snížení kapacity plánu.

  • Zámek jen pro čtení ve skupině prostředků, která obsahuje virtuální počítač , brání všem uživatelům v spuštění nebo restartování virtuálního počítače. Tyto operace vyžadují požadavek metody POST.

  • Zámek jen pro čtení ve skupině prostředků vám brání v přesunu existujících prostředků do nebo z této skupiny prostředků. Prostředek s zámkem jen pro čtení ale můžete přesunout do jiné skupiny prostředků.

  • Zámek jen pro čtení ve skupině prostředků, která obsahuje Automation účet, brání spuštění všech runbooků. Tyto operace vyžadují požadavek metody POST.

  • Zámek znemožňující odstranění na prostředku nebo skupině prostředků zabraňuje odstranění přiřazení Azure RBAC.

  • U skupiny prostředků nelze odstranit zámek, který brání Resource Manageru v automatickém odstraňování nasazení. Pokud v historii dosáhnete 800 nasazení, vaše nasazení se nezdaří.

  • Zálohování selže, pokud není možné odstranit zámek ve skupině prostředků vytvořené službou Azure Backup. Služba podporuje maximálně 18 bodů obnovení. Pokud je služba zálohování uzamčená, nemůže vyčistit body obnovení. Další informace najdete v tématu Nejčastější dotazy k zálohování virtuálních počítačů Azure.

  • Zámek "nelze smazat" ve skupině prostředků, která obsahuje pracovní prostory Azure Machine Learning, brání správnému fungování automatického škálování výpočetních clusterů Azure Machine Learning. Díky zámku nemůže automatické škálování odebrat nepoužívané uzly. Vaše řešení spotřebovává více prostředků, než je potřeba pro úlohu.

  • Zámek jen pro čtení v pracovním prostoru služby Log Analytics brání povolení UEBA (User and Entity Behavior Analytics).

  • Zámek nejde odstranit v pracovním prostoru služby Log Analytics, ale nezabrání operacím vymazání dat. Místo toho odeberte uživateli roli Data Purger.

  • Zámek jen pro čtení v předplatnémbrání službě Azure Advisor ve správném fungování. Advisor nemůže ukládat výsledky svých dotazů.

  • Zámek jen pro čtení ve službě Application Gateway brání v získání stavu back-endu služby Application Gateway. Tato operace používá metodu POST, která blokuje zámek jen pro čtení.

  • Zámek jen pro čtení v clusteru Azure Kubernetes Service (AKS) omezuje přístup k prostředkům clusteru prostřednictvím portálu. Zámek jen pro čtení vám brání v použití sekce prostředků Kubernetes clusteru AKS v Azure portálu k výběru prostředku clusteru. Tyto operace vyžadují požadavek metody POST na ověření.

  • Na virtuálním počítači, který je chráněn službou Site Recovery, je zámek, který nelze odstranit, bránící odebrání určitých propojení prostředků souvisejících se službou Site Recovery při odstranění ochrany nebo deaktivaci replikace. Pokud budete chtít virtuální počítač později znovu chránit, před zakázáním ochrany zámek odeberte. Pokud zámek neodeberete, musíte před ochranou virtuálního počítače vyčistit zastaralá propojení podle určitých kroků. Další informace najdete v tématu Řešení chyb replikace virtuálních počítačů Azure na Azure.

  • U PostgreSQL by virtuální síť neměla mít nastavené žádné zámky prostředků na úrovni virtuální sítě nebo podsítě, protože zámky můžou kolidovat se síťovými operacemi a operacemi domain Name System. Před vytvořením serveru ve virtuální síti se ujistěte, že ze své virtuální sítě a všech podsítí odeberete všechny zámky pro odstranění nebo jen pro čtení. Zámky můžete po vytvoření serveru znovu použít.

Kdo může vytvářet nebo odstraňovat zámky

K vytvoření nebo odstranění zámků správy musíte mít přístup k akcím Microsoft.Authorization/* nebo Microsoft.Authorization/locks/*. Uživatelé přiřazení k roli Vlastník a Správce uživatelských přístupů mají požadovaný přístup. Přístup udělují také některé specializované integrované role. Můžete vytvořit vlastní roli s požadovanými oprávněními.

Spravované aplikace a zámky

Některé služby Azure používají spravované aplikace k implementaci služby; Azure Databricks v jednom příkladu. V takovém případě služba vytvoří dvě skupiny prostředků. Jednou z možností je odemknutá skupina prostředků, která obsahuje přehled služby. Druhá je uzamčená skupina prostředků, která obsahuje infrastrukturu služeb.

Pokud se pokusíte odstranit skupinu prostředků infrastruktury, zobrazí se chyba oznamující, že je skupina prostředků uzamčená. Pokud se pokusíte odstranit zámek pro skupinu prostředků infrastruktury, zobrazí se chyba oznamující, že zámek nejde odstranit, protože ji vlastní systémová aplikace.

Místo toho odstraňte službu, což také odstraní skupinu prostředků pro infrastrukturu.

U spravovaných aplikací zvolte službu, kterou jste nasadili.

Snímek obrazovky webu Azure Portal s vybranou instancí Azure Databricks

Všimněte si, že služba obsahuje odkaz pro spravovanou skupinu prostředků. Tato skupina prostředků obsahuje infrastrukturu a je uzamčená. Můžete ho odstranit jenom nepřímo.

Snímek obrazovky s odkazem Spravovaná skupina prostředků na webu Azure Portal

Pokud chcete odstranit všechno pro službu, včetně skupiny prostředků uzamčené infrastruktury, zvolte Odstranit pro službu.

Snímek obrazovky webu Azure Portal s možností Odstranit pro vybranou službu

Konfigurace zámků

Azure Portal

Na levém navigačním panelu se funkce uzamčení předplatného jmenuje Uzamčení prostředků, zatímco funkce uzamčení skupiny prostředků se jmenuje Zámky.

  1. Na panelu Nastavení pro prostředek, skupinu prostředků nebo předplatné, které chcete zamknout, vyberte Zámky.

    Vyberte zámek.

    Poznámka:

    Zámek nemůžete přidat do skupin pro správu.

  2. Zámek přidáte výběrem tlačítka Přidat. Pokud chcete vytvořit zámek na nadřazené úrovni, vyberte nadřazený objekt. Aktuálně vybraný prostředek dědí zámek z nadřazeného objektu. Skupinu prostředků můžete například uzamknout, aby se zámek použil u všech jejích prostředků.

    Přidat zámek

  3. Pojmenujte zámek a úroveň zámku. Volitelně můžete přidat poznámky, které popisují zámek.

    Nastavte zámek.

  4. Zámek odstraníte stisknutím tlačítka Odstranit.

    Odstranit zámek

Šablona

Pokud k nasazení zámku použijete šablonu Resource Manageru (šablonu ARM) nebo soubor Bicep, musíte pochopit, jak obor nasazení a obor zámku spolupracují. Pokud chcete použít zámek v oboru nasazení, například při uzamčení skupiny prostředků nebo předplatného, nenastavujte vlastnost oboru. Při uzamčení prostředku v rámci oboru nasazení nastavte vlastnost pro rozsah zámku.

Následující šablona aplikuje zámek na skupinu prostředků. Všimněte si, že neexistuje vlastnost oboru na prostředku zámku, protože obor zámku odpovídá oboru nasazení. Nasaďte tuto šablonu na úrovni skupiny prostředků.

{
  "$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."
      }
    }
  ]
}

Pokud chcete vytvořit skupinu prostředků a uzamknout ji, nasaďte předchozí šablonu na úrovni předplatného.

{
  "$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": {}
}

Při použití zámku na prostředek v rámci skupiny prostředků přidejte vlastnost oboru. Nastavte rozsah na název prostředku, který chcete uzamknout.

Následující příklad ukazuje šablonu, která vytvoří plán služby App Service, web a zámek na webu. Rozsah zámku je nastavený na webovou stránku.

{
  "$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

Pomocí Azure PowerShellu zamkněte nasazené prostředky pomocí New-AzResourceLock příkazu.

Pokud chcete prostředek uzamknout, zadejte název, typ prostředku a název skupiny prostředků.

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

Pokud chcete skupinu prostředků uzamknout, zadejte název skupiny prostředků.

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

Informace o zámku získáte pomocí rutiny Get-AzResourceLock. Pokud chcete získat všechny zámky ve vašem předplatném, použijte:

Get-AzResourceLock

Pro získání všech zámků pro prostředek použijte:

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

Pokud chcete získat všechny zámky pro skupinu prostředků, použijte:

Get-AzResourceLock -ResourceGroupName exampleresourcegroup

Pokud chcete zámek prostředku odstranit, použijte:

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

Pokud chcete odstranit zámek pro skupinu prostředků, použijte:

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

Azure CLI

K uzamčení nasazených prostředků pomocí Azure CLI použijte az lock create příkaz.

Pokud chcete prostředek uzamknout, zadejte název prostředku, typ prostředku a název skupiny prostředků.

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

Pokud chcete skupinu prostředků uzamknout, zadejte název skupiny prostředků.

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

Pokud chcete získat informace o zámku, použijte az lock list. Pokud chcete získat všechny zámky ve vašem předplatném, použijte:

az lock list

Pokud chcete získat všechny zámky pro prostředek, použijte:

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

Pokud chcete získat všechny zámky pro skupinu prostředků, použijte:

az lock list --resource-group exampleresourcegroup

Pokud chcete zámek prostředku odstranit, použijte:

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

Pokud chcete odstranit zámek pro skupinu prostředků, použijte:

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

Python

K uzamčení nasazených prostředků pomocí Pythonu ManagementLockClient.management_locks.create_or_update_at_resource_group_level použijte příkaz.

Pokud chcete prostředek uzamknout, zadejte název prostředku, typ prostředku a název skupiny prostředků.

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"
    }
)

Pokud chcete skupinu prostředků uzamknout, zadejte název skupiny prostředků.

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"
    }
)

Pokud chcete získat informace o všech zámkech ve vašem předplatném, použijte ManagementLockClient.management_locks.get.

Pokud chcete získat všechny zámky ve vašem předplatném, použijte:

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}")

Pokud chcete získat zámek pro prostředek, použijte:

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}")

Pokud chcete získat zámek pro skupinu prostředků, použijte následující kód:

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}")

Pokud chcete zámek prostředku odstranit, použijte:

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"
)

Pokud chcete odstranit zámek pro skupinu prostředků, použijte:

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

Nasazené prostředky můžete uzamknout pomocí rozhraní REST API pro správu zámků. Rozhraní REST API umožňuje vytvářet a odstraňovat zámky a načítat informace o existujících zámkech.

Zámek vytvoříte spuštěním příkazu:

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

Rozsah může zahrnovat předplatné, skupinu zdrojů nebo zdroj. Název zámku může být cokoliv, co chcete. Pro verzi rozhraní API použijte 2016-09-01.

Do požadavku zahrňte objekt JSON, který určuje vlastnosti zámku.

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

Další kroky