Protéger les ressources Azure Quantum avec des verrous Azure Resource Manager (ARM)
Microsoft recommande de verrouiller tous vos espaces de travail Azure Quantum et comptes de stockage liés avec un verrou de ressource Azure Resource Manager (ARM) afin d’éviter toute suppression accidentelle ou malveillante. Par exemple, les professeurs peuvent vouloir empêcher les étudiants de modifier les références SKU du fournisseur, tout en leur permettant d’utiliser des notebooks et d’envoyer des travaux.
Il existe deux types de verrous de ressources ARM :
- Un verrou CannotDelete empêche les utilisateurs de supprimer une ressource, mais autorise la lecture et la modification de sa configuration.
- Un verrou ReadOnly empêche les utilisateurs de modifier la configuration d’une ressource (y compris sa suppression), mais permet de lire sa configuration. Pour plus d'informations sur les verrous de ressources, consultez Verrouiller les ressources pour empêcher les modifications inattendues.
Notes
Si vous utilisez déjà un modèle ARM ou Bicep pour gérer vos espaces de travail Azure Quantum, vous pouvez ajouter les procédures de cet article à vos modèles existants.
Configurations de verrous recommandées
Le tableau suivant montre les configurations de verrous de ressources recommandées à déployer pour un espace de travail Azure Quantum.
Ressource | Type de verrou | Notes |
---|---|---|
Espace de travail | DELETE | Empêche la suppression de l’espace de travail. |
Espace de travail | Lecture seule | Empêche les modifications apportées à l’espace de travail, notamment les ajouts ou les suppressions de fournisseurs, tout en permettant aux utilisateurs de créer et de supprimer des blocs-notes et de soumettre des travaux. Pour modifier les fournisseurs lorsque ce verrou est défini, vous devez supprimer le verrou de ressource, apporter vos modifications, puis redéployer le verrou. |
Compte de stockage | DELETE | Empêche la suppression du compte de stockage. |
Les configurations suivantes doivent être évitées :
Important
La configuration des verrous ARM suivants peut entraîner un fonctionnement incorrect de votre espace de travail.
Ressource | Type de verrou | Notes |
---|---|---|
Compte de stockage | Lecture seule | La configuration d’un verrou de ressource en lecture seule sur le compte de stockage peut entraîner des échecs lors de la création de l’espace de travail, de l’interface Jupyter Notebooks et de la soumission et de l’extraction de travaux. |
Abonnement parent de l’espace de travail ou du groupe de ressources parent de l’espace de travail ou du compte de stockage | Lecture seule | Lorsqu’un verrou de ressource est appliqué à une ressource parente, toutes les ressources sous ce parent héritent du même verrou, y compris les ressources créées à une date ultérieure. Pour un contrôle plus précis, les verrous de ressources doivent être appliqués directement au niveau de la ressource. |
Prérequis
Vous devez être propriétaire ou administrateur de l’accès utilisateur d’une ressource pour appliquer des verrous de ressources ARM. Pour plus d’informations, voir Rôles intégrés Azure.
Déploiement en ligne de commande
Vous avez besoin d’Azure PowerShell ou d’Azure CLI pour déployer le verrou. Si vous utilisez Azure CLI, vous devez disposer de la dernière version. Pour les instructions d’installation, consultez :
Important
Si vous n’avez pas utilisé Azure CLI avec Azure Quantum avant, suivez les étapes décrites dans la section Configuration de l’environnement pour ajouter l’extension quantum
et inscrire l’espace de noms Azure Quantum.
Connexion à Azure
Après avoir installé Azure CLI ou Azure PowerShell, veillez à vous connecter pour la première fois. Choisissez l’un des onglets suivants et exécutez les commandes de ligne de commande correspondantes pour vous connecter à Azure :
az login
Si vous avez plusieurs abonnements Azure, sélectionnez celui avec les ressources que vous souhaitez verrouiller. Remplacez SubscriptionName
par le nom ou l’ID de votre abonnement. Par exemple,
az account set --subscription "Azure subscription 1"
Créer un verrou de ressource ARM
Lorsque vous déployez un verrou de ressource, vous spécifiez un nom pour le verrou, le type de verrou et des informations supplémentaires sur la ressource. Ces informations peuvent être copiées et collées à partir de la page d’accueil de la ressource dans le portail Azure Quantum.
az lock create \
--name <lock> \
--resource-group <resource-group> \
--resource <workspace> \
--lock-type CanNotDelete \
--resource-type Microsoft.Quantum/workspaces
- name: entrez un nom descriptif pour le verrou
- resource-group : nom du groupe de ressources parent.
- resource : nom de la ressource à laquelle appliquer le verrou.
- lock-type : type de verrou à appliquer, CanNotDelete ou ReadOnly.
- resource-type : type de la target ressource.
Par exemple, pour créer un verrou CanNotDelete sur un espace de travail :
az lock create \
--name ArmLockWkspDelete \
--resource-group armlocks-resgrp \
--resource armlocks-wksp \
--lock-type CanNotDelete \
--resource-type Microsoft.Quantum/workspaces
En cas de réussite, Azure retourne la configuration du verrou au format JSON :
{
"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"
}
Pour créer un verrou ReadOnly sur un espace de travail :
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"
}
Pour créer un verrou CanNotDelete sur un compte de stockage :
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"
}
Affichage et suppression de verrous
Pour afficher ou supprimer des verrous :
Pour plus d’informations, voir la référence az lock.
Afficher tous les verrous dans un abonnement
az lock list
Afficher tous les verrous dans un espace de travail
az lock list \
--resource-group armlocks-resgrp \
--resource-name armlocks-wksp \
--resource-type Microsoft.Quantum/workspaces
Afficher tous les verrous pour toutes les ressources d’un groupe de ressources
az lock list --resource-group armlocks-resgrp
Afficher les propriétés d’un verrou unique
az lock show \
--name ArmLockStoreDelete \
--resource-group armlocks-resgrp \
--resource-name armlocksstorage \
--resource-type Microsoft.Storage/storageAccounts
Supprimer un verrou
az lock delete \
--name ArmLockStoreDelete \
--resource-group armlocks-resgrp \
--resource-name armlocksstorage \
--resource-type Microsoft.Storage/storageAccounts
Si la suppression réussit, Azure ne retourne pas de message. Pour vérifier la suppression, vous pouvez exécuter az lock list
.