Backup completo, restauração e restauração seletiva de chaves
Observação
Este 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, marcações 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 do plano de dados. O chamador que inicia a operação de backup deve ter permissão para executar a ação de dados Microsoft.KeyVault/managedHsm/backup/start/action.
Somente as seguintes funções internas têm permissão para executar um backup completo:
- Administrador de HSM Gerenciado
- Backup do HSM Gerenciado
Há duas maneiras de executar um backup/restauração completo:
- Atribuindo uma UAMI (Identidade Gerenciada Atribuída pelo Usuário) 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.
- Usando o token SAS do contêiner de armazenamento com permissões 'crdw'. Fazer backup e restauração usando o token SAS do contêiner de armazenamento requer que sua conta de armazenamento tenha o 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 pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.
Para iniciar o Azure Cloud Shell:
Opção | Exemplo/Link |
---|---|
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. | |
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. | |
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.
Pressione Enter para executar o código ou comando.
Pré-requisitos se estiver fazendo backup e restaurando usando a identidade gerenciada atribuída pelo usuário:
- 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, confira Instalar a CLI do Azure. - Criar uma identidade gerenciada atribuída pelo usuário.
- Crie uma conta de armazenamento (ou use uma conta de armazenamento existente).
- 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".
- Forneça acesso à função 'colaborador de dados de blob de armazenamento' à identidade gerenciada atribuída pelo usuário criada na etapa 2 acessando a guia "Controle de Acesso" no portal –> Adicionar Atribuição de Função. Em seguida, selecione "identidade gerenciada" e selecione a identidade gerenciada criada na etapa nº 2 –> Examinar + Atribuir
- Crie o HSM gerenciado e associe a identidade gerenciada ao comando abaixo.
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 de execução longa, mas retorna imediatamente uma ID do trabalho. Você pode verificar o status do processo de backup usando essa ID de Trabalho. O processo de backup cria uma pasta dentro do contêiner designada com o seguinte padrão de nomenclatura: mhsm-{HSM_NAME}-{YYYY}{MM}{DD}{HH}{mm}{SS}
, em que HSM_NAME é o nome do HSM Gerenciado cujo backup está sendo realizado e AAAA, MM, DD, HH, MM, mm, SS são o ano, o mês, o dia, a hora, os minutos e os segundos da data/hora em UTC quando o comando de backup foi recebido.
Enquanto o backup estiver em andamento, o HSM não poderá operar com a taxa de transferência total, pois algumas partições do HSM estarão ocupadas executando a operação de backup.
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 base em um backup anterior, incluindo todas as chaves, versões, atributos, marcações e atribuições de função. Tudo o que estiver armazenado no momento no HSM será apagado e ele retornará ao mesmo estado em que se encontrava quando o backup de origem foi criado.
Importante
A restauração completa é uma operação bastante destrutiva e robusta. Portanto, é obrigatório ter concluído um backup completo do HSM que você está restaurando pelo menos 30 minutos antes de a operação restore
ser executada.
A restauração é uma operação do plano de dados. O chamador que inicia a operação de restauração deve ter permissão para executar a ação de dados 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. Confira mais informações 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 blobs 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 está armazenado
A restauração é uma operação de execução prolongada, mas que retorna imediatamente uma ID de Trabalho. Você pode verificar o status do processo de restauração usando essa ID de Trabalho. Quando o processo de restauração estiver em andamento, o HSM entrará em modo de restauração e todos os comandos do plano de dados (exceto verificar status da restauração) serã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 seletiva de chaves
A restauração seletiva de chaves permite restaurar uma chave individual com todas as versões de chave com base em um backup anterior em 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 de forma reversível, use a recuperação de chave. Saiba mais sobre a chave de recuperação.
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
- Confira Gerenciar um HSM Gerenciado usando a CLI do Azure.
- Confira mais informações sobre o Domínio de Segurança do HSM Gerenciado