Erőforrások zárolása az infrastruktúra védelme érdekében

Rendszergazdaként zárolhat egy Azure-előfizetést, erőforráscsoportot vagy erőforrást, hogy megvédje őket a véletlen felhasználói törlésekkel és módosításokkal szemben. A zárolások felülbírálják a felhasználói engedélyeket.

Beállíthat olyan zárolást, amely megakadályozza akár a törlést, akár a módosítást. A portálon ezeket a zárolásokat Csak törlésnek és írásvédettnek nevezzük. A parancssoron ezen zárolások neve CanNotDelete és ReadOnly.

  • CanNotDelete – azt jelenti, hogy a jogosult felhasználók olvashatnak és módosíthatnak egy erőforrást, de nem törölhetik azt.
  • ReadOnly A zárolás alkalmazása hasonló ahhoz, hogy az összes jogosult felhasználót az Olvasó szerepkör által biztosított engedélyekre korlátozza.

A szerepköralapú hozzáférés-vezérléssel (RBAC) ellentétben a felügyeleti zárolásokkal korlátozást alkalmazhat az összes felhasználóra és szerepkörre. A felhasználók és szerepkörök engedélyeinek beállításáról az Azure RBAC-ben tájékozódhat.

Öröklés zárolása

Ha egy szülőhatókörre alkalmaz zárolást, az adott hatókörben lévő összes erőforrás ugyanazt a zárolást örökli. Még a később hozzáadott erőforrások is öröklik ugyanazt a szülőzárat. Az öröklés legkorlátozóbb zárolása elsőbbséget élvez.

A bővítményerőforrások a zárolásokat az alkalmazott erőforrástól öröklik. Például a Microsoft. Elemzések/diagnosztika Gépház bővítmény típusú erőforrástípus. Ha diagnosztikai beállítást alkalmaz egy tárolóblobra, és zárolja a tárfiókot, nem tudja törölni a diagnosztikai beállítást. Ennek az öröklésnek van értelme, mert a diagnosztikai beállítás teljes erőforrás-azonosítója a következő:

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

Amely megfelel a zárolt erőforrás erőforrás-azonosítójának hatókörének:

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

Ha törlési zárolással rendelkezik egy erőforráson, és megkísérli törölni az erőforráscsoportját, a szolgáltatás letiltja a teljes törlési műveletet. Még ha az erőforráscsoport vagy az erőforráscsoport más erőforrásai is feloldva vannak, a törlés nem történik meg. Soha nem törölhet részlegesen.

Azure-előfizetés lemondása esetén:

  • Az erőforrás-zárolás nem blokkolja az előfizetés lemondását.
  • Az Azure úgy őrzi meg az erőforrásokat, hogy inaktiválja őket ahelyett, hogy azonnal törli őket.
  • Az Azure csak egy várakozási idő után törli véglegesen az erőforrásokat.

A zárolások hatókörének megismerése

Feljegyzés

A zárolások csak a vezérlősík Azure-műveleteire vonatkoznak, az adatsík-műveletekre nem.

Az Azure vezérlősík-műveletei a https://management.azure.com. Az Azure-adatsík műveletei a szolgáltatáspéldányra kerülnek, például https://myaccount.blob.core.windows.net/. Tekintse meg az Azure vezérlősíkot és adatsíkot. A vezérlősík URL-címét használó műveletek felderítéséhez tekintse meg az Azure REST API-t.

A megkülönböztetés azt jelenti, hogy a zárolások megvédik az erőforrásokat a változásoktól, de nem korlátozzák az erőforrások funkcióinak működését. A ReadOnly-zárolás, például egy SQL Database logikai kiszolgálón, megvédi a törléstől vagy a módosításoktól. Lehetővé teszi adatok létrehozását, frissítését vagy törlését a kiszolgálóadatbázisban. Az adatsík-műveletek lehetővé teszik az adattranzakciókat. Ezek a kérések nem kerülnek ide https://management.azure.com.

Megfontolandó szempontok a zárolások alkalmazása előtt

A zárolások alkalmazása váratlan eredményekhez vezethet. Egyes műveletek, amelyek nem úgy tűnik, hogy módosítanak egy erőforrást, letiltott műveleteket igényelnek. A zárolások megakadályozzák, hogy a POST metódus adatokat küldjön az Azure Resource Manager (ARM) API-nak. Néhány gyakori példa a letiltott műveletekre:

  • A tárfiók írásvédett zárolása megakadályozza, hogy a felhasználók felsorolják a fiókkulcsokat. A POST-kérés kezeli az Azure Storage Listakulcsok műveletet a fiókkulcsokhoz való hozzáférés védelme érdekében. A fiókkulcsok teljes hozzáférést biztosítanak a tárfiók adataihoz. Ha egy tárfiókhoz írásvédett zárolás van konfigurálva, a fiókkulcsokkal nem rendelkező felhasználóknak Microsoft Entra hitelesítő adatokkal kell hozzáférniük a blob- vagy üzenetsoradatokhoz. Az írásvédett zárolás megakadályozza a tárfiókra vagy adattárolóra (blobtárolóra vagy üzenetsorra) hatókörrel rendelkező Azure RBAC-szerepkörök hozzárendelését is.

  • A tárfiók írásvédett zárolása védi a tárfiókhoz vagy adattárolóhoz (blobtárolóhoz vagy üzenetsorhoz) tartozó RBAC-hozzárendeléseket.

  • A tárfiók írásvédett zárolása megakadályozza a blobtároló létrehozását.

  • A tárfiók írásvédett zárolása vagy nem törölhető zárolása nem akadályozza meg az adatok törlését vagy módosítását. Emellett nem védi a blobokban, üzenetsorokban, táblákban vagy fájlokban lévő adatokat.

  • A Storage Account API adatsík- és vezérlősík-műveleteket tesz elérhetővé. Ha egy kérelem adatsík-műveleteket használ, a tárfiók zárolása nem védi a blob-, üzenetsor-, táblázat- vagy fájladatokat a tárfiókon belül. Ha azonban a kérelem vezérlősík-műveleteket használ, a zárolás védi ezeket az erőforrásokat.

    Ha például egy kérelem Fájlmegosztásokat – Törlést használ, amely egy vezérlősík-művelet, a törlés meghiúsul. Ha a kérelem a Megosztás törlése műveletet használja, amely egy adatsík-művelet, a törlés sikeres lesz. Javasoljuk, hogy használjon vezérlősík-műveletet.

  • Egy hálózati biztonsági csoport (NSG) írásvédett zárolása megakadályozza a megfelelő NSG-folyamatnapló létrehozását. Egy hálózati biztonsági csoport (NSG) nem törölhető zárolása nem akadályozza meg a megfelelő NSG-folyamatnapló létrehozását vagy módosítását.

  • Az App Service-erőforrások írásvédett zárolása megakadályozza, hogy a Visual Studio Server Explorer fájlokat jelenítsen meg az erőforráshoz, mert ez az interakció írási hozzáférést igényel.

  • Az App Service-csomagot tartalmazó erőforráscsoport írásvédett zárolása megakadályozza a csomag fel- vagy kiskálázását.

  • A virtuális gépet tartalmazó erőforráscsoport írásvédett zárolása megakadályozza, hogy minden felhasználó elindítsa vagy újraindítsa a virtuális gépet. Ezekhez a műveletekhez POST metóduskérés szükséges.

  • Az erőforráscsoport írásvédett zárolása megakadályozza a meglévő erőforrások áthelyezését az erőforráscsoportba vagy onnan.

  • Az automation-fiókot tartalmazó erőforráscsoport írásvédett zárolása megakadályozza az összes runbook indítását. Ezekhez a műveletekhez POST metóduskérés szükséges.

  • Egy erőforrás vagy erőforráscsoport nem törölhető zárolása megakadályozza az Azure RBAC-hozzárendelések törlését.

  • Egy erőforráscsoport nem törölhető zárolása megakadályozza, hogy az Azure Resource Manager automatikusan törölje az előzményekben lévő központi telepítéseket. Ha eléri a 800 üzemelő példányt az előzményekben, az üzembe helyezések sikertelenek lesznek.

  • Az Azure Backup Service által létrehozott erőforráscsoport nem törölhető zárolása miatt a biztonsági mentések meghiúsulnak. A szolgáltatás legfeljebb 18 visszaállítási pontot támogat. Ha zárolva van, a biztonsági mentési szolgáltatás nem tudja törölni a visszaállítási pontokat. További információ: Gyakori kérdések – Azure-beli virtuális gépek biztonsági mentése.

  • Az Azure Machine Tanulás-munkaterületeket tartalmazó erőforráscsoport nem törölhető zárolása megakadályozza, hogy az Azure Machine Tanulás számítási fürtök automatikus skálázása megfelelően működjön. A zárolással az automatikus skálázás nem tudja eltávolítani a nem használt csomópontokat. A megoldás a számítási feladathoz szükségesnél több erőforrást használ fel.

  • A Log Analytics-munkaterület írásvédett zárolása megakadályozza a Felhasználói és entitás viselkedési elemzés (UEBA) engedélyezését.

  • A Log Analytics-munkaterületek nem törölhető zárolása nem akadályozza meg az adattörlési műveleteket. Ehelyett távolítsa el az adattörlési szerepkört a felhasználótól.

  • Az előfizetés írásvédett zárolása megakadályozza az Azure Advisor megfelelő működését. Az Advisor nem tudja tárolni a lekérdezések eredményeit.

  • Az Application Gateway írásvédett zárolása megakadályozza, hogy megkapja az Application Gateway háttérrendszerének állapotát. Ez a művelet post metódust használ, amelyet egy írásvédett zárolás blokkol.

  • Az Azure Kubernetes Service (AKS) fürt írásvédett zárolása korlátozza a fürterőforrások portálon keresztüli elérését. Az írásvédett zárolás megakadályozza, hogy az AKS-fürt Kubernetes-erőforrások szakaszát használja az Azure Portalon a fürterőforrás kiválasztásához. Ezek a műveletek post metóduskérést igényelnek a hitelesítéshez.

  • A Site Recovery által védett virtuális gépek nem törölhető zárolása megakadályozza, hogy a Site Recoveryhez kapcsolódó egyes erőforrás-hivatkozások megfelelően törlődjenek a védelem eltávolításakor vagy a replikáció letiltásakor. Ha később újra meg szeretné védeni a virtuális gépet, a védelem letiltása előtt el kell távolítania a zárolást. Ha nem távolítja el a zárolást, a virtuális gép védelme előtt bizonyos lépéseket kell követnie az elavult hivatkozások eltávolításához. További információ: Azure-beli virtuális gépek replikációjának hibaelhárítása.

Ki hozhat létre vagy törölhet zárolásokat?

A felügyeleti zárolások létrehozásához vagy törléséhez hozzáféréssel kell rendelkeznie a Microsoft.Authorization/* vagy Microsoft.Authorization/locks/* műveletekhez. A tulajdonoshoz és a Felhasználói hozzáférés Rendszergazda istrator szerepkörhöz rendelt felhasználók rendelkeznek a szükséges hozzáféréssel. Néhány speciális beépített szerepkör is biztosítja ezt a hozzáférést. Létrehozhat egyéni szerepkört a szükséges engedélyekkel.

Felügyelt alkalmazások és zárolások

Egyes Azure-szolgáltatások, például az Azure Databricks felügyelt alkalmazásokat használnak a szolgáltatás implementálásához. Ebben az esetben a szolgáltatás két erőforráscsoportot hoz létre. Az egyik egy nyitott erőforráscsoport, amely egy szolgáltatás áttekintését tartalmazza. A másik egy zárolt erőforráscsoport, amely a szolgáltatási infrastruktúrát tartalmazza.

Ha megpróbálja törölni az infrastruktúra-erőforráscsoportot, hibaüzenet jelenik meg, amely szerint az erőforráscsoport zárolva van. Ha megpróbálja törölni az infrastruktúra-erőforráscsoport zárolását, hibaüzenet jelenik meg, amely szerint a zárolás nem törölhető, mert annak tulajdonosa egy rendszeralkalmazás.

Ehelyett törölje a szolgáltatást, amely az infrastruktúra-erőforráscsoportot is törli.

Felügyelt alkalmazások esetén válassza ki az üzembe helyezett szolgáltatást.

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

Figyelje meg, hogy a szolgáltatás tartalmaz egy felügyelt erőforráscsoportra mutató hivatkozást. Ez az erőforráscsoport tartalmazza az infrastruktúrát, és zárolva van. Csak közvetetten törölhető.

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

Ha a szolgáltatás minden elemét törölni szeretné, beleértve a zárolt infrastruktúra-erőforráscsoportot is, válassza a Szolgáltatás Törlés elemét .

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

Zárolások konfigurálása

Portál

A bal oldali navigációs panelen az előfizetés-zárolási funkció neve Erőforrás-zárolások, míg az erőforráscsoport zárolási funkciójának neve Zárolások.

  1. A zárolni kívánt erőforrás, erőforráscsoport vagy előfizetés Beállítások paneljén válassza a Zárolások lehetőséget.

    Select lock.

  2. Zár hozzáadásához válassza a Hozzáadás lehetőséget. Ha szülőszinten szeretne zárolást létrehozni, válassza ki a szülőt. A jelenleg kijelölt erőforrás örökli a zárolást a szülőtől. Zárolhatja például az erőforráscsoportot, hogy az összes erőforrására alkalmazhassa a zárolást.

    Add lock.

  3. Adjon nevet a zárolásnak és a zárolási szintnek. Lehetőség van a zár leírását tartalmazó megjegyzések hozzáfűzésére.

    Set lock.

  4. A zár törléséhez válassza a Törlés gombot.

    Delete lock.

Sablon

Ha ARM-sablont vagy Bicep-fájlt használ a zárolás üzembe helyezéséhez, érdemes tisztában lenni azzal, hogyan működik együtt az üzembe helyezési hatókör és a zárolási hatókör. Ha zárolást szeretne alkalmazni az üzembehelyezési hatókörben, például egy erőforráscsoport vagy egy előfizetés zárolását, hagyja meg a hatókör tulajdonságát. Erőforrás zárolásakor az üzembehelyezési hatókörön belül állítsa be a hatókör tulajdonságát a zároláson.

Az alábbi sablon egy zárolást alkalmaz az erőforráscsoportra. Figyelje meg, hogy nincs hatókörtulajdonság a zárolási erőforráson, mert a zárolási hatókör megegyezik az üzembehelyezési hatókörrel. Telepítse ezt a sablont az erőforráscsoport szintjén.

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

Erőforráscsoport létrehozásához és zárolásához telepítse az alábbi sablont az előfizetés szintjén.

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

Ha zárolást alkalmaz egy erőforráscsoporton belüli erőforrásra , adja hozzá a hatókör tulajdonságot. Állítsa a hatókört a zárolni kívánt erőforrás nevére.

Az alábbi példa egy app service-csomagot, egy webhelyet és egy zárolást létrehozó sablont mutat be. A zárolás hatóköre a webhelyre van állítva.

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

Az üzembe helyezett erőforrásokat a New-AzResourceLock paranccsal zárolhatja az Azure PowerShellben.

Egy erőforrás zárolásához adja meg az erőforrás nevét, az erőforrás típusát és az erőforráscsoport nevét.

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

Egy erőforráscsoport zárolásához adja meg az erőforráscsoport nevét.

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

A zárolással kapcsolatos információk lekéréséhez használja a Get-AzResourceLockot. Az előfizetés összes zárolásának lekéréséhez használja a következőt:

Get-AzResourceLock

Egy erőforrás összes zárolásának lekéréséhez használja a következőt:

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

Egy erőforráscsoport összes zárolásának lekéréséhez használja a következőt:

Get-AzResourceLock -ResourceGroupName exampleresourcegroup

Egy erőforrás zárolásának törléséhez használja a következőt:

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

Egy erőforráscsoport zárolásának törléséhez használja a következőt:

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

Azure CLI

Az Azure CLI-vel zárolhatja az üzembe helyezett erőforrásokat az az lock create paranccsal.

Egy erőforrás zárolásához adja meg az erőforrás nevét, az erőforrás típusát és az erőforráscsoport nevét.

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

Egy erőforráscsoport zárolásához adja meg az erőforráscsoport nevét.

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

A zárolással kapcsolatos információkért használja az az lock listát. Az előfizetés összes zárolásának lekéréséhez használja a következőt:

az lock list

Egy erőforrás összes zárolásának lekéréséhez használja a következőt:

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

Egy erőforráscsoport összes zárolásának lekéréséhez használja a következőt:

az lock list --resource-group exampleresourcegroup

Egy erőforrás zárolásának törléséhez használja a következőt:

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

Egy erőforráscsoport zárolásának törléséhez használja a következőt:

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

Python

Az üzembe helyezett erőforrásokat a Pythonnal a ManagementLockClient.management_locks.create_or_update_at_resource_group_level paranccsal zárolhatja.

Egy erőforrás zárolásához adja meg az erőforrás nevét, az erőforrás típusát és az erőforráscsoport nevét.

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

Egy erőforráscsoport zárolásához adja meg az erőforráscsoport nevét.

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

Az előfizetés összes zárolásáról a ManagementLockClient.management_locks.get használatával tájékozódhat. Az előfizetés összes zárolásának lekéréséhez használja a következőt:

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

Egy erőforrás zárolásának lekéréséhez használja a következőt:

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

Egy erőforráscsoport zárolásának lekéréséhez használja a következőt:

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

Egy erőforrás zárolásának törléséhez használja a következőt:

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

Egy erőforráscsoport zárolásának törléséhez használja a következőt:

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

Az üzembe helyezett erőforrásokat a REST API-val zárolhatja a felügyeleti zárolásokhoz. A REST API lehetővé teszi a zárolások létrehozását és törlését, valamint a meglévő zárolásokkal kapcsolatos információk lekérését.

Zárolás létrehozásához futtassa a következőt:

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

A hatókör lehet előfizetés, erőforráscsoport vagy erőforrás. A zárolás neve bármi lehet, amit meg szeretne hívni. Az API-verzióhoz használja a 2016-09-01-es verziót.

A kérelemben adjon meg egy JSON-objektumot, amely megadja a zárolási tulajdonságokat.

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

Következő lépések