Compartilhar via


Backup completo, restauração e restauração seletiva de chaves

Observação

Esse recurso só está disponível para o tipo de recurso HSM gerenciado.

O HSM gerenciado dá suporte à criação de um backup completo de todo o conteúdo do HSM, incluindo todas as chaves, versões, atributos, marcas e atribuições de função. O backup é criptografado com chaves criptográficas associadas ao domínio de segurança do HSM.

O backup é uma operação de plano de dados. O chamador que inicia a operação de backup deve ter permissão para executar dataAction Microsoft.KeyVault/managedHsm/backup/start/action.

Somente as seguintes funções internas têm permissão para executar o backup completo:

  • Administrador de HSM Gerenciado
  • Backup do HSM Gerenciado

Há duas maneiras de executar um backup/restauração completo:

  1. Atribuir uma Identidade Gerenciada Atribuída pelo Usuário (UAMI) ao serviço HSM gerenciado. Você pode fazer backup e restaurar seu MHSM usando uma identidade gerenciada atribuída pelo usuário, independentemente de sua conta de armazenamento ter acesso à rede pública ou acesso à rede privada habilitado. Se a conta de armazenamento estiver atrás de um ponto de extremidade privado, o método UAMI funcionará com bypass de serviço confiável para permitir backup e restauração.
  2. Usando o token SAS do contêiner de armazenamento com permissões crdw. Fazer backup e restaurar usando o token SAS do contêiner de armazenamento requer que sua conta de armazenamento tenha acesso à rede pública habilitado.

Você deve fornecer as seguintes informações para executar um backup completo:

  • Nome ou URL do HSM
  • Nome da conta de armazenamento
  • Contêiner de armazenamento de blobs da conta de armazenamento
  • Identidade gerenciada atribuída pelo usuário OU token SAS do contêiner de armazenamento com permissões crdw

Azure Cloud Shell

O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que você pode usar por meio do navegador. Você pode usar o Bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. Você pode usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada em seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Link
Selecione Experimente no canto superior direito de um código ou bloco de comando. Selecionar Try It não copia automaticamente o código ou o comando para o Cloud Shell. Captura de tela que mostra um exemplo da funcionalidade 'Experimente' do Azure Cloud Shell.
https://shell.azure.comAcesse ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no navegador. Botão para iniciar o Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus no canto superior direito no portal do Azure. Captura de tela que mostra o botão Cloud Shell no portal do Azure

Para usar o Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.

  3. Cole o código ou o comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e Linux ou selecionando Cmd+Shift+V no macOS.

  4. Selecione Enter para executar o código ou o comando.

Pré-requisitos se estiver fazendo backup e restaurando usando a identidade gerenciada atribuída pelo usuário:

  1. Verifique se você tem a CLI do Azure versão 2.56.0 ou posterior. Execute az --version para encontrar a versão. Se você precisar instalar ou atualizar, consulte Instalar a CLI do Azure.
  2. Criar uma identidade gerenciada atribuída pelo usuário.
  3. Crie uma conta de armazenamento (ou use uma conta de armazenamento existente). A conta de armazenamento não pode ter uma política de imutabilidade aplicada a ela.
  4. Se o acesso à rede pública estiver desabilitado em sua conta de armazenamento, habilite o bypass de serviço confiável na conta de armazenamento na guia "Rede", em "Exceções".
  5. Forneça acesso à função 'colaborador de dados de blob de armazenamento' ao usuário que recebeu a identidade gerenciada criada na etapa 2 acessando a guia "Controle de acesso" no portal e selecionando "Adicionar atribuição de função". Em seguida, selecione "identidade gerenciada" e selecione a identidade gerenciada criada na etapa nº 2 –> Examinar + Atribuir
  6. Crie o HSM Gerenciado e associe a identidade gerenciada:
    az keyvault create --hsm-name mhsmdemo2 –l mhsmlocation -- retention-days 7 --administrators "initialadmin" --mi-user-assigned "/subscriptions/subid/resourcegroups/mhsmrgname/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userassignedidentitynamefromstep2" 
    

Se você tiver um HSM gerenciado existente, associe a identidade gerenciada atualizando o MHSM com o comando abaixo.

 az keyvault update-hsm --hsm-name mhsmdemo2 --mi-user-assigned "/subscriptions/subid/resourcegroups/mhsmrgname/providers/Microsoft.ManagedIdentity/userAssignedIdentities/userassignedidentitynamefromstep2" 

Backup completo

O backup é uma operação que leva tempo para ser concluída, mas retorna imediatamente uma ID do trabalho. Você pode verificar o status do processo de backup usando essa ID do trabalho. O processo de backup cria uma pasta dentro do contêiner designado com o seguinte padrão de nomenclatura: mhsm-{HSM_NAME}-{YYYY}{MM}{DD}{HH}{mm}{SS}, onde HSM_NAME é o nome do HSM gerenciado que está sendo respaldado e YYYY, MM, DD, HH, MM, mm, SS representam o ano, mês, dia, hora, minutos e segundos da data/hora em UTC quando o comando de backup foi recebido.

Enquanto o backup está em andamento, o HSM pode não operar em taxa de transferência total, pois algumas partições de HSM estão ocupadas executando a operação de backup.

Observação

Não há suporte para backups em contas de armazenamento com uma política de imutabilidade aplicada.

Fazer backup do HSM usando a identidade gerenciada atribuída pelo usuário

az keyvault backup start --use-managed-identity true --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer

Fazer backup do HSM usando o token SAS

# time for 500 minutes later for SAS token expiry

end=$(date -u -d "500 minutes" '+%Y-%m-%dT%H:%MZ')

# Get storage account key

skey=$(az storage account keys list --query '[0].value' -o tsv --account-name mhsmdemobackup --subscription {subscription-id})

# Create a container

az storage container create --account-name  mhsmdemobackup --name mhsmdemobackupcontainer  --account-key $skey

# Generate a container sas token

sas=$(az storage container generate-sas -n mhsmdemobackupcontainer --account-name mhsmdemobackup --permissions crdw --expiry $end --account-key $skey -o tsv --subscription {subscription-id})

# Backup HSM

az keyvault backup start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --subscription {subscription-id}

Restauração completa

A restauração completa permite restaurar completamente o conteúdo do HSM com um backup anterior, incluindo todas as chaves, versões, atributos, marcas e atribuições de função. Tudo atualmente armazenado no HSM é apagado e retorna ao mesmo estado em que estava quando o backup de origem foi criado.

Importante

A restauração completa é uma operação destrutiva e disruptiva. Portanto, é obrigatório concluir um backup completo do HSM que você está restaurando pelo menos 30 minutos antes de realizar uma operação restore.

A restauração é uma operação de plano de dados. O chamador que inicia a operação de restauração deve ter permissão para executar dataAction Microsoft.KeyVault/managedHsm/restore/start/action. O HSM de origem em que o backup foi criado e o HSM de destino em que a restauração será executada devem ter o mesmo Domínio de Segurança. Veja mais sobre o Domínio de Segurança do HSM Gerenciado.

Há duas maneiras de executar uma restauração completa. Você deve fornecer as seguintes informações para executar uma restauração completa:

  • Nome ou URL do HSM
  • Nome da conta de armazenamento
  • Contêiner de blob da conta de armazenamento
  • Identidade gerenciada atribuída pelo usuário OU token SAS do contêiner de armazenamento com permissões rl
  • Nome da pasta do contêiner de armazenamento em que o backup de origem é armazenado

A restauração é uma operação de execução prolongada, mas retornará imediatamente um ID da tarefa. Você pode verificar o status do processo de restauração usando essa ID do trabalho. Quando o processo de restauração está em andamento, o HSM entra em um modo de restauração e todos os comandos do plano de dados (exceto verificar o status da restauração) são desabilitados.

Restaurar o HSM usando a identidade gerenciada atribuída pelo usuário

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --backup-folder mhsm-backup-foldername --use-managed-identity true

Restaurar o HSM usando o token SAS

# time for 500 minutes later for SAS token expiry

end=$(date -u -d "500 minutes" '+%Y-%m-%dT%H:%MZ')

# Get storage account key

skey=$(az storage account keys list --query '[0].value' -o tsv --account-name mhsmdemobackup --subscription {subscription-id})

# Generate a container sas token

sas=$(az storage container generate-sas -n mhsmdemobackupcontainer --account-name mhsmdemobackup --permissions rl --expiry $end --account-key $skey -o tsv --subscription {subscription-id})

# Restore HSM

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --backup-folder mhsm-mhsmdemo-2020083120161860

Restauração de chave seletiva

A restauração seletiva de chave permite restaurar uma chave individual com todas as suas versões de chave de um backup anterior para um HSM. A chave deve ser limpa para que a restauração de chave seletiva funcione. Se você estiver tentando recuperar uma chave excluída no modo reversível, use a recuperação de chaves. Saiba mais sobre a recuperação de chave.

Restauração de chave seletiva usando a identidade gerenciada atribuída pelo usuário

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --backup-folder mhsm-backup-foldername --use-managed-identity true --key-name rsa-key2

Restauração seletiva de chave usando o token SAS

az keyvault restore start --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer --storage-container-SAS-token $sas --backup-folder mhsm-mhsmdemo-2020083120161860 -–key-name rsa-key2

Próximas etapas