A Azure-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ésektől és módosításoktól. A zárolás felülbírálja 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 Törlés és Írásvédett néven 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 azt jelenti, hogy az engedélyezett felhasználók olvashatják az erőforrást, de nem törölhetik vagy frissíthetik azt. 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 című témakörben olvashat.

Ö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ési lánc legkorlátozóbb korlátozása elsőbbséget élvez.

A bővítményerőforrások öröklik a zárolásokat attól az erőforrástól, amelyre alkalmazva vannak. Például a Microsoft.Insights/diagnosticSettings egy kiterjesztés erőforrás típus. Ha diagnosztikai beállítást alkalmaz egy tárolóblobra, és zárolja a tárfiókot, nem törölheti 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}"

A zárolt erőforrás erőforrás-azonosítójának meg kell egyeznie a következő formátummal:

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

Ha egy 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. Részleges törlés nem lehetséges.

Ha az Azure-előfizetést lemondja:

  • Az erőforrás-zárolás nem blokkolja az előfizetés lemondását.
  • Azure az erőforrásokat úgy őrzi meg, hogy inaktiválja őket ahelyett, hogy azonnal törli őket.
  • 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

Megjegyzés

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

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

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. Például egy logikai SQL Database-kiszolgáló ReadOnly zárolása megvédi a törléstől és 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. Bizonyos 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 a Azure Resource Manager 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 a Azure Storage List Kulcsok 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 írásvédett zárolás van konfigurálva egy tárfiókhoz, 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 az Azure RBAC-szerepkörök hozzárendelését is, amelyek hatóköre a tárfiókra vagy egy adattárolóra (blobtárolóra vagy üzenetsorra) terjed ki.

  • A tárolási fiók írásvédett zárolása védi a tárolási fió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 megakadályozza a blobtároló létrehozását. A tárfiókokon végzett műveletek azonban a vezérlősíkon és az adatsíkon keresztül is elvégezhetők. A csak olvasható zárak csak a vezérlősík létrehozási kéréseit zárolják, de a felhasználó az erőforráson továbbra is végrehajthat érvényes létrehozási műveletet az adatsíkon keresztül.

  • A tárfiók írásvédett zárolása vagy nem törölhető zárolása nem védi meg az adatait a törléstől vagy a módosítástól. 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. A zárolás azonban védi ezeket az erőforrásokat, ha a kérelem vezérlősík-műveleteket használ.

    Ha például egy kérelem Fájlmegosztásokat – Törlést, vezérlősík-műveletet használ, a törlés sikertelen lesz. Ha a kérelem a Delete Share, egy adatátviteli sík műveletet használja, a törlés sikeres. Javasoljuk, hogy használjon vezérlősík-műveletet.

  • Egy írásvédett zárolás a hálózati biztonsági csoporton (NSG) megakadályozza a megfelelő NSG-folyamatnapló létrehozását. Az 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.

  • Egy App Service erőforrás írásvédett zárolása megakadályozza, hogy a Visual Studio Server Explorer fájlokat jelenítsen meg az erőforráshoz, mert ehhez írási hozzáférés szükséges.

  • 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, hogy a meglévő erőforrásokat az erőforráscsoportba vagy onnan áthelyezzük. Azonban egy írásvédett zárolású erőforrást áthelyezhet egy másik erőforráscsoportba.

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

  • A nem törölhető zárolás egy erőforráson vagy erőforráscsoporton megakadályozza az Azure RBAC-hozzárendelések törlését.

  • A forráscsoport nem törölhető zárolása megakadályozza, hogy az Erőforrás-kezelő automatikusan törölje a telepítéseket az előzményekben. Ha a telepítések történetében eléri a 800-at, a telepítések sikertelenek lesznek.

  • A biztonsági mentések sikertelenek, ha egy cannot-delete zárolás van az erőforrás-csoporton, amelyet az "Azure Backup Service" hozott létre. 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ó, lásd: Azure virtuális gépek biztonsági mentése - Gyakran ismételt kérdések.

  • A nem törölhető zár egy erőforráscsoportra, amely Azure Machine Learning munkaterületeket tartalmaz, megakadályozza, hogy a Azure Machine Learning 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.

  • Egy Log Analytics munkaterület írásvédett zárolása megakadályozza, hogy a Felhasználó és entitás viselkedéselemzése (UEBA) engedélyezve legyen.

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

  • A subscription írásvédett zárolása megakadályozza Azure Advisor helyes 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 csak olvasható zárolás blokkol.

  • Egy Azure Kubernetes Service (AKS)-fürt írásvédett zárolása korlátozza a portálon keresztüli hozzáférést a fürterőforrásokhoz. A csak olvasható zárolás megakadályozza, hogy az AKS-fürt Kubernetes-erőforrások szakaszát használja a Azure portálon 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 nem törölhető zárolás egy olyan Virtual Machine-en, amelyet a Site Recovery véd, megakadályozza, hogy eltávolítson bizonyos, a Site Recoveryhez kapcsolódó erőforrás-hivatkozásokat a védelem megszüntetésekor 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 távolítsa el a zárolást. Ha nem távolítja el a zárolást, bizonyos lépéseket kell követnie az elavult hivatkozások eltávolításához, mielőtt megvédené a virtuális gépet. További információért lásd: Hibaelhárítás az Azure-hoz Azure virtuális gépek replikációs hibáinak javítására.

  • A PostgreSQL esetében a virtuális hálózatnak nem szabad erőforrás-zárolásokat beállítania a virtuális hálózat vagy alhálózat szintjén, mivel a zárolások zavarhatják a hálózati és a tartománynévrendszer-műveleteket. Mielőtt létrehozna egy kiszolgálót egy virtuális hálózaton, győződjön meg róla, hogy eltávolította a törlési vagy csak olvasható zárolásokat a virtuális hálózatáról és minden alhálózatáról. A zárolásokat a kiszolgáló létrehozása után újra alkalmazhatja.

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

Felügyeleti zárolások létrehozásához vagy törléséhez hozzá kell férnie Microsoft.Authorization/* vagy Microsoft.Authorization/locks/* műveletekhez. A tulajdonoshoz és a felhasználói hozzáférés-rendszergazdai 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 felügyelt alkalmazásokat használnak a szolgáltatás implementálásához; Azure Databricks egy példát mutat be. 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.

Az Azure portál képernyőképe, amelyen egy Azure Databricks példány van kiválasztva.

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ő.

Képernyőkép, amely az Azure Portálon a Felügyelt Erőforráscsoport hivatkozást mutatja.

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 .

Képernyőkép az Azure portálról, a kiválasztott szolgáltatás törlési lehetőségével.

Zárolások konfigurálása

Azure Portal

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.

    Válassza a lezárást.

    Megjegyzés

    Nem adhat hozzá zárolást a felügyeleti csoportokhoz.

  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árat 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.

    Zár hozzáadása.

  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.

    Állítsa be a zárolást.

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

    Zárolás törlése.

Sablon

Ha Resource Manager sablont (ARM-sablont) vagy Bicep fájlt használ a zárolás üzembe helyezéséhez, tisztában kell lenni azzal, hogyan működik együtt az üzembehelyezé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ásakor, ne állítsa be a hatókör tulajdonságát. Amikor egy erőforrást zárol 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 előző 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 bemutat egy sablont, amely létrehoz egy alkalmazásszolgáltatási tervet, egy webhelyet és egy lezárást a webhelyen. 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

A Azure PowerShell használatával zárolhatja az üzembe helyezett erőforrásokat a New-AzResourceLock paranccsal.

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

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

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 Get-AzResourceLock-ot. 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 az alábbi parancsot:

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 üzembe helyezett erőforrások Azure CLI való zárolásához használja a az lock create parancsot.

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

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 a lock list parancsot. 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 az alábbi parancsot:

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ások Python használatával való zárolásához használja a ManagementLockClient.management_locks.create_or_update_at_resource_group_level parancsot.

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ésen belüli összes zárolás információiért használja a ManagementLockClient.management_locks.list_at_subscription_level-t.

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ő kódot:

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 lakat neve lehet bármi, amit szeretne. 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