Backup e restauração completos e restauração seletiva de chaves
Nota
Esse recurso só está disponível para HSM gerenciado por tipo de recurso.
O HSM gerenciado oferece suporte à criação de um backup completo de todo o conteúdo do HSM, incluindo todas as chaves, versões, atributos, tags e atribuições de função. O backup é criptografado com chaves criptográficas associadas ao domínio de segurança do HSM.
A cópia de segurança é uma operação do 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 do HSM Gerido
- Cópia de Segurança do HSM Gerido
Há duas maneiras de executar um backup/restauração completo:
- Atribuição de 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 ao usuário, independentemente de sua conta de armazenamento ter acesso à rede pública ou 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'. O backup e a restauração usando o token SAS do contêiner de armazenamento exigem 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
- Contentor de armazenamento de blobs da conta de armazenamento
- Identidade gerenciada atribuída pelo usuário OU contêiner de armazenamento SAS token com permissões 'crdw'
Azure Cloud Shell
O Azure aloja o Azure Cloud Shell, um ambiente de shell interativo que pode utilizar através do seu browser. Pode utilizar 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/Ligação |
---|---|
Selecione Experimentar no canto superior direito de um código ou bloco de comandos. Selecionar Experimentar não copia automaticamente o código ou comando para o Cloud Shell. | |
Aceda a https://shell.azure.com ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no browser. | |
Selecione o botão Cloud Shell na barra de menus, na parte direita 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 comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e Linux ou selecionando Cmd+Shift+V no macOS.
Selecione Enter para executar o código ou comando.
Pré-requisitos se fizer backup e restauração usando a identidade gerenciada atribuída pelo usuário:
- Verifique se você tem a CLI do Azure versão 2.56.0 ou posterior. Executar
az --version
para localizar a versão. Se precisar de instalar ou atualizar, veja Instalar a CLI do Azure. - Crie uma identidade gerida atribuída pelo utilizador.
- Crie uma conta de armazenamento (ou use uma conta de armazenamento existente).
- Se o acesso à rede pública estiver desativado na sua conta de armazenamento, ative o bypass de serviço confiável na conta de armazenamento na guia "Rede", em "Exceções".
- Forneça acesso à função 'contribuidor de dados de blob de armazenamento' para a identidade gerenciada atribuída ao usuário criada na etapa #2 indo para 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 #2 -> Revisão + 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"
Cópia de segurança completa
O backup é uma operação de longa execução, mas retorna imediatamente uma ID de trabalho. Você pode verificar o status do processo de backup usando este ID de trabalho. O processo de backup cria uma pasta dentro do contêiner designado com um padrão mhsm-{HSM_NAME}-{YYYY}{MM}{DD}{HH}{mm}{SS}
de nomenclatura a seguir, onde HSM_NAME é o nome do HSM gerenciado que está sendo copiado e AAAA, MM, DD, HH, MM, mm, SS são o ano, mês, data, hora, minutos e segundos de data/hora em UTC quando o comando de backup foi recebido.
Enquanto o backup estiver em andamento, o HSM pode não operar com taxa de transferência total, pois algumas partições HSM estarão ocupadas executando a operação de backup.
Backup do HSM usando a identidade gerenciada atribuída ao usuário
az keyvault backup start --use-managed-identity true --hsm-name mhsmdemo2 --storage-account-name mhsmdemobackup --blob-container-name mhsmdemobackupcontainer
Backup HSM usando 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, tags e atribuições de função. Tudo o que está atualmente armazenado no HSM será apagado e voltará ao mesmo estado em que estava quando o backup de origem foi criado.
Importante
A restauração completa é uma operação muito destrutiva e perturbadora. Portanto, é obrigatório ter concluído um backup completo do HSM que você está restaurando para pelo menos 30 minutos antes de uma restore
operação poder 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 dataAction Microsoft.KeyVault/managedHsm/restore/start/action. O HSM de origem onde o backup foi criado e o HSM de destino onde a restauração será executada devem ter o mesmo domínio de segurança. Veja mais sobre o Managed HSM Security Domain.
Existem 2 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 de contêiner de armazenamento com permissões
rl
- Nome da pasta do contêiner de armazenamento onde o backup de origem está armazenado
A restauração é uma operação de longa execução, mas retornará imediatamente uma ID de trabalho. Você pode verificar o status do processo de restauração usando este ID de 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 desativados.
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 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 chave
A restauração seletiva de chaves 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 seletiva da chave funcione. Se você estiver tentando recuperar uma chave excluída por software, use a recuperação de chave. Saiba mais sobre a recuperação de chaves.
Restauração seletiva de chave 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 chaves usando 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
Passos Seguintes
- Consulte Gerenciar um HSM gerenciado usando a CLI do Azure.
- Saiba mais sobre o Managed HSM Security Domain