Azure Quantum-resources beveiligen met ARM-vergrendelingen (Azure Resource Manager)
Microsoft raadt u aan al uw Azure Quantum-werkruimten en gekoppelde opslagaccounts te vergrendelen met een Arm-resourcevergrendeling (Azure Resource Manager) om onbedoelde of schadelijke verwijdering te voorkomen. Professoren willen bijvoorbeeld voorkomen dat studenten SKU's van providers wijzigen, maar ze toch in staat stellen notitieblokken te gebruiken en taken in te dienen.
Er zijn twee soorten ARM-resourcevergrendelingen:
- Een CannotDelete-vergrendeling voorkomt dat gebruikers een resource verwijderen, maar staat het lezen en wijzigen van de configuratie toe.
- Een ReadOnly-vergrendeling voorkomt dat gebruikers de configuratie van een resource wijzigen (inclusief verwijderen), maar staat het lezen van de configuratie toe. Zie Resources vergrendelen om onverwachte wijzigingen te voorkomen voor meer informatie over resourcevergrendelingen.
Notitie
Als u al een ARM- of Bicep-sjabloon gebruikt om uw Azure Quantum-werkruimten te beheren, kunt u de procedures in dit artikel toevoegen aan uw bestaande sjablonen.
Aanbevolen vergrendelingsconfiguraties
De volgende tabel bevat de aanbevolen configuraties voor resourcevergrendeling die moeten worden geïmplementeerd voor een Azure Quantum-werkruimte.
Resource | Type vergrendeling | Notities |
---|---|---|
Werkruimte | Verwijderen | Hiermee voorkomt u dat de werkruimte wordt verwijderd. |
Werkruimte | Alleen-lezen | Hiermee voorkomt u eventuele wijzigingen in de werkruimte, inclusief toevoegingen of verwijderingen van providers, terwijl gebruikers nog steeds notitieblokken kunnen maken en verwijderen en taken kunnen verzenden. Als u providers wilt wijzigen wanneer deze vergrendeling is ingesteld, moet u de resourcevergrendeling verwijderen, uw wijzigingen aanbrengen en de vergrendeling vervolgens opnieuw implementeren. |
Storage-account | Verwijderen | Hiermee voorkomt u dat het opslagaccount wordt verwijderd. |
De volgende configuraties moeten worden vermeden:
Belangrijk
Als u de volgende ARM-vergrendelingen instelt, werkt uw werkruimte mogelijk niet goed.
Resource | Type vergrendeling | Notities |
---|---|---|
Storage-account | Alleen-lezen | Het instellen van een alleen-lezen resourcevergrendeling voor het opslagaccount kan leiden tot fouten bij het maken van werkruimten, de Interface van Jupyter Notebooks en het verzenden en ophalen van taken. |
Bovenliggend abonnement van de werkruimte of de bovenliggende resourcegroep van de werkruimte of het opslagaccount | Alleen-lezen | Wanneer een resourcevergrendeling wordt toegepast op een bovenliggende resource, nemen alle resources onder die bovenliggende resource dezelfde vergrendeling over, inclusief resources die op een later tijdstip zijn gemaakt. Voor een gedetailleerdere controle moeten resourcevergrendelingen rechtstreeks op resourceniveau worden toegepast. |
Vereisten
U moet een eigenaar of beheerder van gebruikerstoegang van een resource zijn om ARM-resourcevergrendelingen toe te passen. Zie Ingebouwde rollen in Azure voor meer informatie.
Implementatie via opdrachtregels
U hebt Azure PowerShell of Azure CLI nodig om de vergrendeling te implementeren. Als u Azure CLI gebruikt, moet u de nieuwste versie hebben. Zie voor installatie-instructies:
Belangrijk
Als u Azure CLI nog niet eerder met Azure Quantum hebt gebruikt, volgt u de stappen in de sectie Omgeving instellen om de quantum
extensie toe te voegen en de Azure Quantum-naamruimte te registreren.
Aanmelden bij Azure
Nadat u Azure CLI of Azure PowerShell hebt geïnstalleerd, moet u zich voor het eerst aanmelden. Kies een van de volgende tabbladen en voer de bijbehorende opdrachtregelopdrachten uit om u aan te melden bij Azure:
az login
Als u meerdere Azure-abonnementen hebt, selecteert u het abonnement met de resources die u wilt vergrendelen. Vervang door SubscriptionName
uw abonnementsnaam of abonnements-id. Bijvoorbeeld:
az account set --subscription "Azure subscription 1"
Een ARM-resourcevergrendeling maken
Wanneer u een resourcevergrendeling implementeert, geeft u een naam op voor de vergrendeling, het type vergrendeling en aanvullende informatie over de resource. Deze informatie kan worden gekopieerd en geplakt vanaf de startpagina van de resource in de Azure Quantum-portal.
az lock create \
--name <lock> \
--resource-group <resource-group> \
--resource <workspace> \
--lock-type CanNotDelete \
--resource-type Microsoft.Quantum/workspaces
- name: een beschrijvende naam voor de vergrendeling
- resourcegroep: de naam van de bovenliggende resourcegroep.
- resource: de naam van de resource om de vergrendeling op toe te passen.
- lock-type: het type vergrendeling dat moet worden toegepast, CanNotDelete of ReadOnly.
- resource-type: het type resource target .
Als u bijvoorbeeld een CanNotDelete-vergrendeling voor een werkruimte wilt maken:
az lock create \
--name ArmLockWkspDelete \
--resource-group armlocks-resgrp \
--resource armlocks-wksp \
--lock-type CanNotDelete \
--resource-type Microsoft.Quantum/workspaces
Als dit lukt, retourneert Azure de vergrendelingsconfiguratie in JSON-indeling:
{
"id": "/subscriptions/<ID>/resourcegroups/armlocks-resgrp/providers/Microsoft.Quantum/workspaces/armlocks-wksp/providers/Microsoft.Authorization/locks/ArmLockWkspDelete",
"level": "CanNotDelete",
"name": "ArmLockWkspDelete",
"notes": null,
"owners": null,
"resourceGroup": "armlocks-resgrp",
"type": "Microsoft.Authorization/locks"
}
Een ReadOnly-vergrendeling maken voor een werkruimte:
az lock create \
--name ArmLockWkspRead \
--resource-group armlocks-resgrp \
--resource armlocks-wksp \
--lock-type ReadOnly \
--resource-type Microsoft.Quantum/workspaces
{
"id": "/subscriptions/<ID>/resourcegroups/armlocks-resgrp/providers/Microsoft.Quantum/workspaces/armlocks-wksp/providers/Microsoft.Authorization/locks/ArmLockWkspRead",
"level": "ReadOnly",
"name": "ArmLockWkspRead",
"notes": null,
"owners": null,
"resourceGroup": "armlocks-resgrp",
"type": "Microsoft.Authorization/locks"
}
Een CanNotDelete-vergrendeling maken voor een opslagaccount:
az lock create \
--name ArmLockStoreDelete \
--resource-group armlocks-resgrp \
--resource armlocksstorage \--lock-type CanNotDelete \
--resource-type Microsoft.Storage/storageAccounts
{
"id": "/subscriptions/<ID>/resourcegroups/armlocks-resgrp/providers/Microsoft.Storage/storageAccounts/armlocksstorage/providers/Microsoft.Authorization/locks/ArmLockStoreDelete",
"level": "CanNotDelete",
"name": "ArmLockStoreDelete",
"notes": null,
"owners": null,
"resourceGroup": "armlocks-resgrp",
"type": "Microsoft.Authorization/locks"
}
Vergrendelingen weergeven en verwijderen
Vergrendelingen weergeven of verwijderen:
Zie de naslaginformatie over az lock voor meer informatie.
Alle vergrendelingen in een abonnement weergeven
az lock list
Alle vergrendelingen in een werkruimte weergeven
az lock list \
--resource-group armlocks-resgrp \
--resource-name armlocks-wksp \
--resource-type Microsoft.Quantum/workspaces
Alle vergrendelingen voor alle resources in een resourcegroep weergeven
az lock list --resource-group armlocks-resgrp
De eigenschappen van één vergrendeling weergeven
az lock show \
--name ArmLockStoreDelete \
--resource-group armlocks-resgrp \
--resource-name armlocksstorage \
--resource-type Microsoft.Storage/storageAccounts
Een vergrendeling verwijderen
az lock delete \
--name ArmLockStoreDelete \
--resource-group armlocks-resgrp \
--resource-name armlocksstorage \
--resource-type Microsoft.Storage/storageAccounts
Als het verwijderen is geslaagd, retourneert Azure geen bericht. Als u de verwijdering wilt controleren, kunt u uitvoeren az lock list
.