Partilhar via


Proteja os recursos do Azure Quantum com bloqueios do Azure Resource Manager (ARM)

A Microsoft recomenda bloquear todos os seus espaços de trabalho do Azure Quantum e contas de armazenamento vinculadas com um bloqueio de recursos do Azure Resource Manager (ARM) para evitar exclusão acidental ou mal-intencionada. Por exemplo, os professores podem querer restringir os alunos de modificar SKUs de fornecedores, mas ainda permitir que eles enviem tarefas.

Existem dois tipos de bloqueios de recursos ARM:

  • Um bloqueio CannotDelete impede que os utilizadores apaguem um recurso, mas permite ler e modificar a sua configuração.
  • Um bloqueio de ReadOnly impede que os utilizadores modifiquem a configuração de um recurso (incluindo excluí-lo), mas permite a leitura da sua configuração. Para obter mais informações sobre bloqueios de recursos, consulte Bloquear recursos para evitar alterações inesperadas.

Observação

Se você já usa um modelo ARM ou Bicep para gerenciar seus espaços de trabalho do Azure Quantum, você pode adicionar os procedimentos neste artigo aos seus modelos existentes.

A tabela a seguir mostra as configurações de bloqueio de recursos recomendadas para implantar em um espaço de trabalho do Azure Quantum.

Recurso Tipo de cadeado Observações
Espaço de trabalho Suprimir Impede que o espaço de trabalho seja excluído.
Espaço de trabalho Somente leitura Impede quaisquer modificações no espaço de trabalho, incluindo adições ou exclusões de provedores, enquanto ainda permite que os usuários enviem trabalhos. Para modificar provedores quando esse bloqueio é definido, você precisa remover o bloqueio de recursos, fazer as alterações e, em seguida, reimplantar o bloqueio.
Conta de armazenamento Suprimir Impede que a conta de armazenamento seja excluída.

Devem ser evitadas as seguintes configurações:

Importante

Definir os seguintes bloqueios ARM pode fazer com que seu espaço de trabalho funcione incorretamente.

Recurso Tipo de cadeado Observações
Conta de armazenamento Somente leitura Definir um bloqueio de recurso somente leitura na conta de armazenamento pode causar falhas na criação do espaço de trabalho, envio de trabalhos e busca de trabalhos.
Assinatura principal do espaço de trabalho ou o grupo de recursos principal do espaço de trabalho ou da conta de armazenamento Somente leitura Quando um bloqueio de recursos é aplicado a um recurso pai, todos os recursos sob esse pai herdam o mesmo bloqueio, incluindo recursos criados posteriormente. Para um controle mais granular, os bloqueios de recursos devem ser aplicados diretamente no nível do recurso.

Pré-requisitos

Você deve ser um Proprietário ou um Administrador de Acesso de Usuário de um recurso para aplicar bloqueios de recursos ARM. Para obter mais informações, consulte Funções incorporadas do Azure.

Implantação de linha de comando

Você precisará do Azure PowerShell ou da CLI do Azure para implantar o bloqueio. Se você usar a CLI do Azure, deverá ter a versão mais recente. Para obter instruções de instalação, consulte:

Importante

Se você não tiver usado a CLI do Azure com o Azure Quantum antes, siga as etapas na seção de configuração do Ambiente para adicionar a extensão quantum e registrar o namespace do Azure Quantum.

Iniciar sessão no Azure

Depois de instalar a CLI do Azure ou o Azure PowerShell, certifique-se de entrar pela primeira vez. Escolha uma das seguintes guias e execute os comandos de linha de comando correspondentes para entrar no Azure:

az login

Se tiver várias subscrições do Azure, selecione a subscrição com os recursos que pretende bloquear. Substitua SubscriptionName pelo nome ou ID da sua subscrição. Por exemplo

az account set --subscription "Azure subscription 1"

Criar um bloqueio de recursos ARM

Ao implantar um bloqueio de recurso, você especifica um nome para o bloqueio, o tipo de bloqueio e informações adicionais sobre o recurso. Essas informações podem ser copiadas e coladas da home page do recurso no portal do Azure Quantum.

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

  • name: um nome descritivo para o cadeado
  • resource-group: O nome do grupo de recursos principal.
  • resource: O nome do recurso ao qual aplicar o bloqueio.
  • lock-type: O tipo de bloqueio a ser aplicado, CanNotDelete ou ReadOnly.
  • Tipo de recurso: O tipo de recurso target.

Por exemplo, para criar um CanNotDelete bloqueio num espaço de trabalho:

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

Se for bem-sucedida, o Azure retornará a configuração de bloqueio no 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 criar um bloqueio ReadOnly em um espaço de trabalho:

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 criar um bloqueio CanNotDelete em uma conta de armazenamento:

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

Visualizando e excluindo bloqueios

Para visualizar ou excluir bloqueios:

Para mais informações, consulte a referência do az lock .

Ver todos os bloqueios numa subscrição

az lock list

Exibir todos os bloqueios em um espaço de trabalho

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

Exibir todos os bloqueios de todos os recursos em um grupo de recursos

az lock list --resource-group armlocks-resgrp

Ver os detalhes de um único cadeado

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

Excluir um bloqueio

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

Se a exclusão for bem-sucedida, o Azure não retornará uma mensagem. Para verificar a exclusão, você pode executar az lock list.

Próximos passos