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.

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.

Étapes suivantes