Resources vergren delen om onverwachte wijzigingen te voor komenLock resources to prevent unexpected changes

Als beheerder moet u mogelijk een abonnement, resource groep of resource vergren delen om te voor komen dat andere gebruikers in uw organisatie per ongeluk essentiële bronnen verwijderen of wijzigen.As an administrator, you may need to lock a subscription, resource group, or resource to prevent other users in your organization from accidentally deleting or modifying critical resources. U kunt de vergrendeling instellen op CanNotDelete of ReadOnly.You can set the lock level to CanNotDelete or ReadOnly. In de portal worden de vergren delingen respectievelijk verwijderen en alleen-lezen genoemd.In the portal, the locks are called Delete and Read-only respectively.

  • CanNotDelete betekent dat geautoriseerde gebruikers nog steeds een resource kunnen lezen en wijzigen, maar de resource niet kan verwijderen.CanNotDelete means authorized users can still read and modify a resource, but they can't delete the resource.
  • Alleen-lezen houdt in dat gemachtigde gebruikers een resource kunnen lezen, maar de resource niet kunnen verwijderen of bijwerken.ReadOnly means authorized users can read a resource, but they can't delete or update the resource. Het Toep assen van deze vergren deling is vergelijkbaar met het beperken van alle gemachtigde gebruikers tot de machtigingen die door de rol van lezer worden verleend.Applying this lock is similar to restricting all authorized users to the permissions granted by the Reader role.

Notitie

Dit artikel is bijgewerkt voor het gebruik van de nieuwe Azure PowerShell Az-module.This article has been updated to use the new Azure PowerShell Az module. De AzureRM-module kan nog worden gebruikt en krijgt bugoplossingen tot ten minste december 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Zie voor meer informatie over de nieuwe Az-module en compatibiliteit met AzureRM Introductie van de nieuwe Az-module van Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Raadpleeg Azure PowerShell installeren voor instructies over de installatie van de Az-module.For Az module installation instructions, see Install Azure PowerShell.

Hoe vergrendelingen worden toegepastHow locks are applied

Wanneer u een vergren deling toepast op een bovenliggend bereik, nemen alle resources binnen die scope dezelfde vergren deling.When you apply a lock at a parent scope, all resources within that scope inherit the same lock. Zelfs resources die u later toevoegt, nemen de vergren deling van het bovenliggende knoop punt over.Even resources you add later inherit the lock from the parent. De meest beperkende vergren deling in de overname heeft prioriteit.The most restrictive lock in the inheritance takes precedence.

In tegens telling tot op rollen gebaseerd toegangs beheer kunt u beheer vergrendelingen gebruiken om een beperking toe te passen op alle gebruikers en rollen.Unlike role-based access control, you use management locks to apply a restriction across all users and roles. Zie Access Control op basis van rollenvoor meer informatie over het instellen van machtigingen voor gebruikers en rollen.To learn about setting permissions for users and roles, see Azure Role-based Access Control.

De vergren delingen van resources gelden alleen voor bewerkingen die zich in het beheer vlak voordoen, dat bestaat uit bewerkingen die naar https://management.azure.comworden verzonden.Resource Manager locks apply only to operations that happen in the management plane, which consists of operations sent to https://management.azure.com. De vergren delingen beperken niet hoe resources hun eigen functies uitvoeren.The locks don't restrict how resources perform their own functions. Resource wijzigingen zijn beperkt, maar resource bewerkingen zijn niet beperkt.Resource changes are restricted, but resource operations aren't restricted. Een alleen-lezen vergrendeling op een SQL Database voor komt dat u de Data Base kunt verwijderen of wijzigen.For example, a ReadOnly lock on a SQL Database prevents you from deleting or modifying the database. Het is niet mogelijk om gegevens in de data base te maken, bij te werken of te verwijderen.It doesn't prevent you from creating, updating, or deleting data in the database. Gegevens transacties zijn toegestaan omdat deze bewerkingen niet naar https://management.azure.comworden verzonden.Data transactions are permitted because those operations aren't sent to https://management.azure.com.

Toep assen van alleen-lezen kan leiden tot onverwachte resultaten omdat sommige bewerkingen die de resource niet hoeven te wijzigen, acties vereisen die door de vergren deling worden geblokkeerd.Applying ReadOnly can lead to unexpected results because some operations that don't seem to modify the resource actually require actions that are blocked by the lock. De alleen-lezen vergrendeling kan worden toegepast op de resource of aan de resource groep met de resource.The ReadOnly lock can be applied to the resource or to the resource group containing the resource. Enkele algemene voor beelden van bewerkingen die worden geblokkeerd door een alleen-lezen vergrendeling zijn:Some common examples of the operations that are blocked by a ReadOnly lock are:

  • Als u een alleen-lezen vergrendeling op een opslag account instelt, kunnen alle gebruikers de sleutels niet weer geven.A ReadOnly lock on a storage account prevents all users from listing the keys. De bewerking lijst sleutels wordt verwerkt via een POST-aanvraag omdat de geretourneerde sleutels beschikbaar zijn voor schrijf bewerkingen.The list keys operation is handled through a POST request because the returned keys are available for write operations.

  • Met een alleen-lezen vergrendeling voor een app service resource kan Visual Studio Server Explorer bestanden voor de resource niet weer geven omdat die interactie schrijf toegang vereist.A ReadOnly lock on an App Service resource prevents Visual Studio Server Explorer from displaying files for the resource because that interaction requires write access.

  • Een alleen-lezen vergrendeling voor een resource groep die een virtuele machine bevat, voor komt dat alle gebruikers de virtuele machine starten of opnieuw starten.A ReadOnly lock on a resource group that contains a virtual machine prevents all users from starting or restarting the virtual machine. Deze bewerkingen vereisen een POST-aanvraag.These operations require a POST request.

Wie kan vergren delingen maken of verwijderen?Who can create or delete locks

Als u beheer vergrendelingen wilt maken of verwijderen, moet u toegang hebben tot Microsoft.Authorization/*-of Microsoft.Authorization/locks/*-acties.To create or delete management locks, you must have access to Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. Van de ingebouwde rollen worden deze acties alleen toegekend aan Eigenaar en Administrator voor gebruikerstoegang.Of the built-in roles, only Owner and User Access Administrator are granted those actions.

Beheerde toepassingen en vergren delingenManaged Applications and locks

Sommige Azure-Services, zoals Azure Databricks, gebruiken beheerde toepassingen voor het implementeren van de service.Some Azure services, such as Azure Databricks, use managed applications to implement the service. In dat geval maakt de service twee resource groepen.In that case, the service creates two resource groups. Een resource groep bevat een overzicht van de service en is niet vergrendeld.One resource group contains an overview of the service and isn't locked. De andere resource groep bevat de infra structuur voor de service en is vergrendeld.The other resource group contains the infrastructure for the service and is locked.

Als u de infrastructuur resource groep probeert te verwijderen, wordt er een fout bericht weer gegeven met de mede deling dat de resource groep is vergrendeld.If you try to delete the infrastructure resource group, you get an error stating that the resource group is locked. Als u de vergren deling voor de infrastructuur resource groep probeert te verwijderen, wordt er een fout bericht weer gegeven dat de vergren deling niet kan worden verwijderd omdat deze het eigendom is van een systeem toepassing.If you try to delete the lock for the infrastructure resource group, you get an error stating that the lock can't be deleted because it's owned by a system application.

Verwijder in plaats daarvan de service, waardoor ook de infrastructuur resource groep wordt verwijderd.Instead, delete the service, which also deletes the infrastructure resource group.

Selecteer voor beheerde toepassingen de service die u hebt geïmplementeerd.For managed applications, select the service you deployed.

Service selecteren

U ziet dat de service een koppeling voor een beheerde resource groepbevat.Notice the service includes a link for a Managed Resource Group. Deze resource groep bevat de infra structuur en is vergrendeld.That resource group holds the infrastructure and is locked. Het kan niet rechtstreeks worden verwijderd.It can't be directly deleted.

Beheerde groep weer geven

Als u alles wilt verwijderen voor de service, inclusief de resource groep vergrendelde infra structuur, selecteert u verwijderen voor de service.To delete everything for the service, including the locked infrastructure resource group, select Delete for the service.

Service verwijderen

PortalPortal

  1. Selecteer in de blade instellingen voor de resource, resourcegroep of abonnement dat u wilt vergrendelen, Hiermee vergrendelt u.In the Settings blade for the resource, resource group, or subscription that you wish to lock, select Locks.

    schakelt vergrendelen

  2. Als u wilt een vergrendeling toevoegen, selecteert u toevoegen.To add a lock, select Add. Als u maken van een vergrendeling op een bovenliggend niveau wilt, selecteert u de bovenliggende site.If you want to create a lock at a parent level, select the parent. De geselecteerde resource neemt over van de vergrendeling van het bovenliggende object.The currently selected resource inherits the lock from the parent. Bijvoorbeeld, kunt u de resourcegroep voor het toepassen van een vergrendeling op alle bijbehorende resources vergrendelen.For example, you could lock the resource group to apply a lock to all its resources.

    Vergrendeling toevoegen

  3. Geef de vergrendeling het niveau van een naam en het vergrendelingsscherm.Give the lock a name and lock level. U kunt eventueel opmerkingen in die worden beschreven van de vergrendeling toevoegen.Optionally, you can add notes that describe the lock.

    set-vergrendeling

  4. Selecteer het beletselteken wilt verwijderen van de vergrendeling en verwijderen uit de beschikbare opties.To delete the lock, select the ellipsis and Delete from the available options.

    Vergrendeling voor verwijderen

TemplateTemplate

Wanneer u een resource manager-sjabloon gebruikt om een vergren deling te implementeren, gebruikt u verschillende waarden voor de naam en het type, afhankelijk van het bereik van de vergren deling.When using a Resource Manager template to deploy a lock, you use different values for the name and type depending on the scope of the lock.

Bij het Toep assen van een vergren deling op een resourcegebruikt u de volgende indelingen:When applying a lock to a resource, use the following formats:

  • naam-{resourceName}/Microsoft.Authorization/{lockName}name - {resourceName}/Microsoft.Authorization/{lockName}
  • type-{resourceProviderNamespace}/{resourceType}/providers/lockstype - {resourceProviderNamespace}/{resourceType}/providers/locks

Bij het Toep assen van een vergren deling op een resource groep of- abonnement, gebruikt u de volgende indelingen:When applying a lock to a resource group or subscription, use the following formats:

  • naam-{lockName}name - {lockName}
  • type-Microsoft.Authorization/lockstype - Microsoft.Authorization/locks

In het volgende voor beeld ziet u een sjabloon waarmee u een app service-plan, een website en een vergren deling op de website maakt.The following example shows a template that creates an app service plan, a web site, and a lock on the web site. Het bron type van de vergren deling is het resource type van de resource die u wilt vergren delen en /providers/Locks.The resource type of the lock is the resource type of the resource to lock and /providers/locks. De naam van de vergren deling wordt gemaakt door de resource naam met /Microsoft.Authorization/ en de naam van de vergren deling samen te voegen.The name of the lock is created by concatenating the resource name with /Microsoft.Authorization/ and the name of the lock.

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

Zie een resource groep maken en deze vergren delenvoor een voor beeld van het instellen van een vergren deling voor een resource groep.For an example of setting a lock on a resource group, see Create a resource group and lock it.

PowerShellPowerShell

U vergrendelt geïmplementeerde resources met Azure PowerShell met behulp van de opdracht New-AzResourceLock .You lock deployed resources with Azure PowerShell by using the New-AzResourceLock command.

Als u een resource wilt vergren delen, geeft u de naam van de resource, het resource type en de naam van de resource groep op.To lock a resource, provide the name of the resource, its resource type, and its resource group name.

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

Als u een resource groep wilt vergren delen, geeft u de naam van de resource groep op.To lock a resource group, provide the name of the resource group.

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

Gebruik Get-AzResourceLockom informatie over een vergren deling op te halen.To get information about a lock, use Get-AzResourceLock. Als u alle vergren delingen in uw abonnement wilt ophalen, gebruikt u:To get all the locks in your subscription, use:

Get-AzResourceLock

Als u alle vergren delingen voor een resource wilt ophalen, gebruikt u:To get all locks for a resource, use:

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

Als u alle vergren delingen voor een resource groep wilt ophalen, gebruikt u:To get all locks for a resource group, use:

Get-AzResourceLock -ResourceGroupName exampleresourcegroup

Als u een vergren deling wilt verwijderen, gebruikt u:To delete a lock, use:

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

Azure-CLIAzure CLI

U vergrendelt geïmplementeerde resources met Azure CLI met behulp van de opdracht AZ Lock Create .You lock deployed resources with Azure CLI by using the az lock create command.

Als u een resource wilt vergren delen, geeft u de naam van de resource, het resource type en de naam van de resource groep op.To lock a resource, provide the name of the resource, its resource type, and its resource group name.

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

Als u een resource groep wilt vergren delen, geeft u de naam van de resource groep op.To lock a resource group, provide the name of the resource group.

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

Gebruik AZ Lock Listom informatie over een vergren deling op te halen.To get information about a lock, use az lock list. Als u alle vergren delingen in uw abonnement wilt ophalen, gebruikt u:To get all the locks in your subscription, use:

az lock list

Als u alle vergren delingen voor een resource wilt ophalen, gebruikt u:To get all locks for a resource, use:

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

Als u alle vergren delingen voor een resource groep wilt ophalen, gebruikt u:To get all locks for a resource group, use:

az lock list --resource-group exampleresourcegroup

Als u een vergren deling wilt verwijderen, gebruikt u:To delete a lock, use:

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

REST-APIREST API

U kunt geïmplementeerde resources vergren delen met de rest API voor beheer vergrendelingen.You can lock deployed resources with the REST API for management locks. Met de REST API kunt u vergren delingen maken en verwijderen, en informatie over bestaande vergren delingen ophalen.The REST API enables you to create and delete locks, and retrieve information about existing locks.

Voer de volgende handelingen uit om een vergren deling te maken:To create a lock, run:

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

Het bereik kan een abonnement, een resource groep of een resource zijn.The scope could be a subscription, resource group, or resource. De naam van de vergren deling is datgene wat u aan de vergren deling wilt aanroepen.The lock-name is whatever you want to call the lock. Gebruik 2016-09-01voor de API-versie.For api-version, use 2016-09-01.

Neem in de aanvraag een JSON-object op waarmee de eigenschappen voor de vergren deling worden opgegeven.In the request, include a JSON object that specifies the properties for the lock.

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

Volgende stappenNext steps