Compartir a través de


Protección de recursos de Azure Quantum con bloqueos de Azure Resource Manager (ARM)

Microsoft recomienda bloquear todas las áreas de trabajo de Azure Quantum y las cuentas de almacenamiento vinculadas con un bloqueo de recursos de Azure Resource Manager (ARM) para evitar la eliminación accidental o malintencionada. Por ejemplo, es posible que los profesores quieran impedir que los alumnos modifiquen las SKU del proveedor, pero aún así les permitan enviar trabajos.

Hay dos tipos de bloqueos de recursos de ARM:

  • Un bloqueo CannotDelete impide que los usuarios eliminen un recurso, pero permiten leer y modificar su configuración.
  • Un bloqueo ReadOnly impide que los usuarios modifiquen la configuración de un recurso (incluida la eliminación), pero permite leer su configuración. Para obtener más información sobre los bloqueos de recursos, consulte Bloqueo de recursos para evitar cambios inesperados.

Nota:

Si ya usa una plantilla de ARM o Bicep para administrar las áreas de trabajo de Azure Quantum, puede agregar los procedimientos de este artículo a las plantillas existentes.

En la tabla siguiente se muestran las configuraciones de bloqueo de recursos recomendadas para implementar para un área de trabajo de Azure Quantum.

Resource Tipo de bloqueo Notas
Workspace Delete Impide que se elimine el área de trabajo.
Workspace Solo lectura Impide las modificaciones en el área de trabajo, incluidas las adiciones o eliminaciones de proveedores, a la vez que permite a los usuarios enviar trabajos. Para modificar proveedores cuando se establece este bloqueo, debe quitar el bloqueo de recursos, realizar los cambios y volver a implementar el bloqueo.
Cuenta de almacenamiento Delete Impide que se elimine la cuenta de almacenamiento.

Se deben evitar las siguientes configuraciones:

Importante

Establecer los siguientes bloqueos de ARM puede hacer que el área de trabajo funcione incorrectamente.

Resource Tipo de bloqueo Notas
Cuenta de almacenamiento Solo lectura Establecer un bloqueo de recursos de solo lectura en la cuenta de almacenamiento puede provocar errores en la creación del área de trabajo, el envío de trabajos y la captura de trabajos.
Suscripción primaria del área de trabajo o el grupo de recursos primario del área de trabajo o la cuenta de almacenamiento Solo lectura Cuando se aplica un bloqueo de recursos a un recurso primario, todos los recursos de ese elemento primario heredan el mismo bloqueo, incluidos los recursos creados en una fecha posterior. Para un control más granular, los bloqueos de recursos se deben aplicar directamente en el nivel de recurso.

Prerrequisitos

Debe ser propietario o administrador de acceso de usuario de un recurso para aplicar bloqueos de recursos de ARM. Para más información, consulte Roles integrados de Azure.

Implementación de la línea de comandos

Necesitará Azure PowerShell o la CLI de Azure para implementar el bloqueo. Si usa la CLI de Azure, debe tener la versión más reciente. Para obtener instrucciones de instalación, consulte:

Importante

Si no ha usado la CLI de Azure con Azure Quantum antes, siga los pasos descritos en la sección Configuración del entorno para agregar la quantum extensión y registrar el espacio de nombres de Azure Quantum.

Inicio de sesión en Azure

Después de instalar la CLI de Azure o Azure PowerShell, asegúrese de iniciar sesión por primera vez. Elija una de las pestañas siguientes y ejecute los comandos de línea de comandos correspondientes para iniciar sesión en Azure:

az login

Si tiene varias suscripciones de Azure, seleccione la suscripción con los recursos que desea bloquear. Reemplace por SubscriptionName el nombre de la suscripción o el identificador de suscripción. Por ejemplo

az account set --subscription "Azure subscription 1"

Creación de un bloqueo de recursos de ARM

Al implementar un bloqueo de recursos, se especifica un nombre para el bloqueo, el tipo de bloqueo y información adicional sobre el recurso. Esta información se puede copiar y pegar desde la página principal del recurso en el portal de Azure Quantum.

az lock create \
    --name <lock> \
    --resource-group <resource-group> \
    --resource <workspace> \
    --lock-type CanNotDelete \
    --resource-type Microsoft.Quantum/workspaces

  • name: un nombre descriptivo para el bloqueo.
  • resource-group: el nombre del grupo de recursos primario.
  • resource: el nombre del recurso al que se va a aplicar el bloqueo.
  • tipo de bloqueo: el tipo de bloqueo que se va a aplicar, ya sea CanNotDelete o ReadOnly.
  • tipo de recurso: el tipo del target recurso.

Por ejemplo, para crear un bloqueo CanNotDelete en un área de trabajo:

az lock create \
    --name ArmLockWkspDelete \
    --resource-group armlocks-resgrp \
    --resource armlocks-wksp \
    --lock-type CanNotDelete \
    --resource-type Microsoft.Quantum/workspaces

Si se ejecuta correctamente, Azure devuelve la configuración de bloqueo en formato 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"
}

Para crear un bloqueo ReadOnly en un área de trabajo:

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"
}

Para crear un bloqueo CanNotDelete en una cuenta de almacenamiento:

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"
}

Visualización y eliminación de bloqueos

Para ver o eliminar bloqueos:

Para obtener más información, consulte la referencia az lock.

Visualización de todos los bloqueos en una suscripción

az lock list

Visualización de todos los bloqueos en un área de trabajo

az lock list \
    --resource-group armlocks-resgrp \
    --resource-name armlocks-wksp  \
    --resource-type Microsoft.Quantum/workspaces

Visualización de todos los bloqueos de todos los recursos de un grupo de recursos

az lock list --resource-group armlocks-resgrp

Visualización de las propiedades de un solo bloqueo

az lock show \
    --name ArmLockStoreDelete \
    --resource-group armlocks-resgrp \
    --resource-name armlocksstorage \
    --resource-type  Microsoft.Storage/storageAccounts

Eliminar un bloqueo

az lock delete \
    --name ArmLockStoreDelete \
    --resource-group armlocks-resgrp \
    --resource-name armlocksstorage \
    --resource-type  Microsoft.Storage/storageAccounts

Si la eliminación se realiza correctamente, Azure no devuelve un mensaje. Para comprobar la eliminación, puede ejecutar az lock list.

Pasos siguientes