Partilhar via


Configurar chaves geridas pelo cliente para a sua conta Azure Batch com o Azure Key Vault e a Identidade Gerida

Por predefinição, Azure Batch utiliza chaves geridas pela plataforma para encriptar todos os dados do cliente armazenados no Serviço Azure Batch, como certificados, metadados de tarefas/tarefas. Opcionalmente, pode utilizar as suas próprias chaves, ou seja, chaves geridas pelo cliente, para encriptar dados armazenados em Azure Batch.

As chaves que fornecer têm de ser geradas no Azure Key Vault e têm de ser acedidas com identidades geridas para recursos do Azure.

Existem dois tipos de identidades geridas: atribuídas pelo sistema e atribuídas pelo utilizador.

Pode criar a sua conta do Batch com a identidade gerida atribuída pelo sistema ou criar uma identidade gerida atribuída pelo utilizador separada que tenha acesso às chaves geridas pelo cliente. Reveja a tabela de comparação para compreender as diferenças e considere qual a opção que melhor funciona para a sua solução. Por exemplo, se quiser utilizar a mesma identidade gerida para aceder a vários recursos do Azure, é necessária uma identidade gerida atribuída pelo utilizador. Caso contrário, uma identidade gerida atribuída pelo sistema associada à sua conta do Batch pode ser suficiente. A utilização de uma identidade gerida atribuída pelo utilizador também lhe dá a opção de impor chaves geridas pelo cliente na criação da conta do Batch, conforme mostrado a seguir.

Criar uma conta do Batch com a identidade gerida atribuída pelo sistema

Se não precisar de uma identidade gerida atribuída pelo utilizador separada, pode ativar a identidade gerida atribuída pelo sistema quando criar a sua conta do Batch.

Importante

Uma identidade gerida atribuída pelo sistema criada para uma conta do Batch para encriptação de dados do cliente, conforme descrito neste documento, não pode ser utilizada como uma identidade gerida atribuída pelo utilizador num conjunto do Batch. Se quiser utilizar a mesma identidade gerida na conta do Batch e no conjunto do Batch, utilize uma identidade gerida atribuída pelo utilizador comum.

Portal do Azure

No portal do Azure, quando criar contas do Batch, selecione Sistema atribuído no tipo de identidade no separador Avançadas.

Captura de ecrã de uma nova conta do Batch com o tipo de identidade atribuído pelo sistema.

Após a criação da conta, pode encontrar um GUID exclusivo no campo ID do principal de identidade na secção Propriedades . O Tipo de Identidade irá mostrar System assigned.

Captura de ecrã a mostrar um GUID exclusivo no campo ID do principal de identidade.

Precisa deste valor para conceder a esta conta do Batch acesso ao Key Vault.

CLI do Azure

Quando criar uma nova conta do Batch, especifique SystemAssigned para o --identity parâmetro .

resourceGroupName='myResourceGroup'
accountName='mybatchaccount'

az batch account create \
    --name $accountName \
    --resource-group $resourceGroupName \
    --locations regionName='West US 2' \
    --identity 'SystemAssigned'

Após a criação da conta, pode verificar se a identidade gerida atribuída pelo sistema foi ativada nesta conta. Certifique-se de que anota o PrincipalId, uma vez que este valor é necessário para conceder a esta conta do Batch acesso ao Key Vault.

az batch account show \
    --name $accountName \
    --resource-group $resourceGroupName \
    --query identity

Nota

A identidade gerida atribuída pelo sistema criada numa conta do Batch só é utilizada para obter chaves geridas pelo cliente do Key Vault. Esta identidade não está disponível em conjuntos do Batch. Para utilizar uma identidade gerida atribuída pelo utilizador num conjunto, veja Configurar identidades geridas em conjuntos do Batch.

Criar uma identidade gerida atribuída pelo utilizador

Se preferir, pode criar uma identidade gerida atribuída pelo utilizador que pode ser utilizada para aceder às chaves geridas pelo cliente.

Precisa do valor ID de Cliente desta identidade para que esta aceda ao Key Vault.

Configurar a instância do Azure Key Vault

O Azure Key Vault em que as chaves são geradas têm de ser criadas no mesmo inquilino que a sua conta do Batch. Não precisa de estar no mesmo grupo de recursos ou mesmo na mesma subscrição.

Criar um Azure Key Vault

Ao criar uma instância do Azure Key Vault com chaves geridas pelo cliente para Azure Batch, certifique-se de que a Eliminação Recuperável e a Proteção contra Remoção estão ativadas.

Captura de ecrã a mostrar o ecrã de criação do Key Vault.

Adicionar uma política de acesso à instância do Azure Key Vault

No portal do Azure, após a criação do Key Vault, na Política de Acesso em Definição, adicione o acesso à conta do Batch com a identidade gerida. Em Permissões de Chave, selecione Obter, Moldar Tecla e Desembrulhar Chave.

Captura de ecrã a mostrar o ecrã Adicionar política de acesso.

No campo Selecionar em Principal, preencha um dos seguintes procedimentos:

  • Para a identidade gerida atribuída pelo sistema: introduza o principalId que obteve anteriormente ou o nome da conta do Batch.
  • Para a identidade gerida atribuída pelo utilizador: introduza o ID de Cliente que obteve anteriormente ou o nome da identidade gerida atribuída pelo utilizador.

Captura de ecrã do ecrã Principal.

Gerar uma chave no Azure Key Vault

Na portal do Azure, aceda à instância Key Vault na secção de chave, selecione Gerar/Importar. Selecione o Tipo de Chave a ser RSA e Tamanho da Chave RSA para ter, pelo menos 2048 , bits. EC Atualmente, os tipos de chave não são suportados como uma chave gerida pelo cliente numa conta do Batch.

Criar uma chave

Após a criação da chave, clique na chave recentemente criada e na versão atual, copie o Identificador de Chave na secção propriedades . Certifique-se de que, em Operações Permitidas, a Tecla de Moldagem e a Tecla de Moldagem estão ambas selecionadas.

Ativar chaves geridas pelo cliente numa conta do Batch

Agora que os pré-requisitos estão implementados, pode ativar chaves geridas pelo cliente na sua conta do Batch.

Portal do Azure

Na portal do Azure, aceda à página conta do Batch. Na secção Encriptação , ative a chave gerida pelo cliente. Pode utilizar diretamente o Identificador de Chave ou pode selecionar o cofre de chaves e, em seguida, clicar em Selecionar um cofre de chaves e uma chave.

Captura de ecrã a mostrar a secção Encriptação e a opção para ativar a chave gerida pelo cliente

CLI do Azure

Depois de a conta do Batch ser criada com a identidade gerida atribuída pelo sistema e o acesso ao Key Vault ser concedido, atualize a conta do Batch com o {Key Identifier} URL no keyVaultProperties parâmetro . Também definido --encryption-key-source como Microsoft.KeyVault.

az batch account set \
    --name $accountName \
    --resource-group $resourceGroupName \
    --encryption-key-source Microsoft.KeyVault \
    --encryption-key-identifier {YourKeyIdentifier}

Criar uma conta do Batch com identidade gerida atribuída pelo utilizador e chaves geridas pelo cliente

Como exemplo, com o cliente .NET de gestão do Batch, pode criar uma conta do Batch com uma identidade gerida atribuída pelo utilizador e chaves geridas pelo cliente.

EncryptionProperties encryptionProperties = new EncryptionProperties()
{
    KeySource = KeySource.MicrosoftKeyVault,
    KeyVaultProperties = new KeyVaultProperties()
    {
        KeyIdentifier = "Your Key Azure Resource Manager Resource ID"
    }
};

BatchAccountIdentity identity = new BatchAccountIdentity()
{
    Type = ResourceIdentityType.UserAssigned,
    UserAssignedIdentities = new Dictionary<string, BatchAccountIdentityUserAssignedIdentitiesValue>
    {
            ["Your Identity Azure Resource Manager ResourceId"] = new BatchAccountIdentityUserAssignedIdentitiesValue()
    }
};
var parameters = new BatchAccountCreateParameters(TestConfiguration.ManagementRegion, encryption:encryptionProperties, identity: identity);

var account = await batchManagementClient.Account.CreateAsync("MyResourceGroup",
    "mynewaccount", parameters);

Atualizar a versão da chave gerida pelo cliente

Quando criar uma nova versão de uma chave, atualize a conta do Batch para utilizar a nova versão. Siga estes passos:

  1. Navegue para a sua conta do Batch no portal do Azure e apresente as definições de Encriptação.
  2. Introduza o URI da nova versão da chave. Em alternativa, pode selecionar o Key Vault e a chave novamente para atualizar a versão.
  3. Guarde as alterações.

Também pode utilizar a CLI do Azure para atualizar a versão.

az batch account set \
    --name $accountName \
    --resource-group $resourceGroupName \
    --encryption-key-identifier {YourKeyIdentifierWithNewVersion}

Dica

Pode fazer com que as chaves rodem automaticamente ao criar uma política de rotação de chaves no Key Vault. Ao especificar um Identificador de Chave para a conta do Batch, utilize o identificador de chave sem versões para ativar a autorotação com uma política de rotação válida. Para obter mais informações, veja como configurar a rotação de chaves no Key Vault.

Utilizar uma chave diferente para encriptação do Batch

Para alterar a chave utilizada para a encriptação do Batch, siga estes passos:

  1. Navegue para a sua conta do Batch e apresente as definições de Encriptação.
  2. Introduza o URI da nova chave. Em alternativa, pode selecionar o Key Vault e escolher uma nova chave.
  3. Guarde as alterações.

Também pode utilizar a CLI do Azure para utilizar uma chave diferente.

az batch account set \
    --name $accountName \
    --resource-group $resourceGroupName \
    --encryption-key-identifier {YourNewKeyIdentifier}

Perguntas mais frequentes

  • As chaves geridas pelo cliente são suportadas para contas existentes do Batch? N.º As chaves geridas pelo cliente só são suportadas para novas contas do Batch.
  • Posso selecionar tamanhos de chave RSA superiores a 2048 bits? Sim, também são suportados tamanhos de chaves RSA e 30724096 bits.
  • Que operações estão disponíveis depois de uma chave gerida pelo cliente ser revogada? A única operação permitida é a eliminação de conta se o Batch perder o acesso à chave gerida pelo cliente.
  • Como devo restaurar o acesso à minha conta do Batch se eliminar acidentalmente a chave de Key Vault? Uma vez que a proteção contra remoção e a eliminação recuperável estão ativadas, pode restaurar as chaves existentes. Para obter mais informações, veja Recuperar um Key Vault do Azure.
  • Posso desativar as chaves geridas pelo cliente? Pode definir o tipo de encriptação da Conta do Batch como "Chave gerida da Microsoft" em qualquer altura. Pode eliminar ou alterar a chave posteriormente.
  • Como posso rodar as minhas teclas? As chaves geridas pelo cliente não são rodadas automaticamente, a menos que a chave não tenha versões com uma política de rotação de chaves adequada definida no Key Vault. Para rodar manualmente a chave, atualize o Identificador de Chave ao qual a conta está associada.
  • Depois de restaurar o acesso, quanto tempo demorará a conta do Batch a funcionar novamente? Pode demorar até 10 minutos para que a conta volte a estar acessível assim que o acesso for restaurado.
  • Embora a Conta do Batch não esteja disponível, o que acontece aos meus recursos? Todos os conjuntos que estejam ativos quando o acesso do Batch à chave gerida pelo cliente é perdido continuarão a ser executados. No entanto, os nós nestes conjuntos passarão para um estado indisponível e as tarefas deixarão de ser executadas (e serão colocadas em fila). Depois de o acesso ser restaurado, os nós ficam novamente disponíveis e as tarefas são reiniciadas.
  • Este mecanismo de encriptação aplica-se a discos de VM num conjunto do Batch? N.º Para Serviços Cloud conjuntos de Configuração (preteridos), não é aplicada encriptação para o SO e o disco temporário. Para conjuntos de Configuração de Máquinas Virtuais, o SO e quaisquer discos de dados especificados são encriptados com uma chave gerida de plataforma da Microsoft por predefinição. Atualmente, não pode especificar a sua própria chave para estes discos. Para encriptar o disco temporário de VMs para um conjunto do Batch com uma chave gerida da plataforma Microsoft, tem de ativar a propriedade diskEncryptionConfiguration no Conjunto de Configuração da Máquina Virtual . Para ambientes altamente confidenciais, recomendamos que ative a encriptação temporária do disco e evite armazenar dados confidenciais no SO e nos discos de dados. Para obter mais informações, veja Criar um conjunto com a encriptação de disco ativada
  • A identidade gerida atribuída pelo sistema na conta do Batch está disponível nos nós de computação? N.º Atualmente, a identidade gerida atribuída pelo sistema é utilizada apenas para aceder ao Key Vault do Azure para a chave gerida pelo cliente. Para utilizar uma identidade gerida atribuída pelo utilizador em nós de computação, veja Configurar identidades geridas em conjuntos do Batch.

Passos seguintes