Configurar as chaves gerenciadoras pelo cliente da sua conta do Lote do Azure com o Azure Key Vault e a identidade gerenciada

Por padrão, o Lote do Microsoft Azure usa as chaves de criptografia gerenciadas pela plataforma todos os dados armazenados do cliente no Serviço em Lote do Microsoft Azure, como certificados, metadados do trabalho/tarefa. Opcionalmente, use suas próprias chaves, ou seja, as chaves gerenciadas pelo cliente, para criptografar os dados armazenados no Lote do Azure.

As chaves que você fornecer devem ser geradas noAzure Key Vaulte devem ser acessadas com asidentidades gerenciadas para recursos do Azure.

Há dois tipos de identidades gerenciadas:atribuídos pelo sistema e atribuída pelo usuário.

É possível criar sua conta do Lote com a identidade gerenciada atribuída pelo sistema ou criar uma identidade gerenciada atribuída pelo usuário separada que tenha acesso às chaves gerenciadas pelo cliente. Revise atabela de comparaçãopara o reconhecimento das diferenças e considerar qual opção funciona melhor para a solução. Por exemplo, caso queira usar a mesma identidade gerenciada para acessar vários recursos no Azure, é necessária uma identidade gerenciada atribuída pelo usuário. Caso contrário, uma identidade gerenciada atribuída pelo sistema associada à sua conta do Lote pode ser suficiente. O uso de uma identidade gerenciada atribuída pelo usuário também oferece a opção de aplicar as chaves gerenciadas pelo cliente na criação da conta do Lote, conforme mostrado a seguir.

Criar uma conta do Lote com a identidade gerenciada atribuída ao sistema

Se você não precisar de uma identidade gerenciada atribuída ao usuário separada, poderá habilitar a identidade gerenciada atribuída ao sistema ao criar sua conta do Lote.

Importante

Uma identidade gerenciada atribuída pelo sistema criada para uma conta do Lote para criptografia de dados do cliente, conforme descrito neste documento, não pode ser usada como uma identidade gerenciada atribuída pelo usuário em um pool do Lote. Se você quiser usar a mesma identidade gerenciada na conta do Lote e no pool do Lote, use uma identidade gerenciada comum atribuída pelo usuário.

Portal do Azure

Noportal do Microsoft Azure, ao criar as contas do Lote, escolhaAtribuído ao sistemano tipo de identidade na guiaAvançado.

Captura de tela de uma nova conta em Lote do tipo de identidade atribuído pelo sistema.

Assim que a conta for criada, você pode encontrar um GUID exclusivo no campoID da Entidade de Segurançana seçãoPropriedades. OTipo de identidadeserá exibidoSystem assigned.

Captura de tela mostrando uma GUID exclusiva no campo ID da Entidade de Segurança.

Esse valor é necessário para conceder à conta do Lote o acesso ao Key Vault.

CLI do Azure

Ao criar uma nova conta em Lote, especifiqueSystemAssignedpara o--identity parâmetro.

resourceGroupName='myResourceGroup'
accountName='mybatchaccount'

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

Assim que a conta for criada, você poderá verificar se a identidade gerenciada atribuída ao sistema foi habilitada nesta conta. Tenha certeza de anotar o PrincipalId, pois esse valor é necessário para conceder à conta do Lote o acesso ao Key Vault.

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

Observação

A identidade gerenciada atribuída ao sistema criada em uma conta do Lote é usada somente para recuperar as chaves gerenciadas pelo cliente do Azure Key Vault. Esta identidade não está disponível em pools do Lote. Para usar uma identidade gerenciada atribuída ao usuário em um pool, consulteConfigurar identidades gerenciadas em pools do Lote.

Criar uma identidade gerenciada atribuída ao usuário

Se preferir, é possível criar uma identidade gerenciada atribuída pelo usuário que pode ser usada para acessar as chaves gerenciadas pelo cliente.

É necessário o valor da ID do cliente desta identidade para acessar o Azure Key Vault.

Configurar sua instância do Azure Key Vault

O Azure Key Vault no qual suas chaves são geradas deve ser criado no mesmo locatário que a sua conta do Lote. Ele não precisa estar no mesmo grupo de recursos nem sequer na mesma assinatura.

Criar um Cofre de chaves do Azure

Aocriar uma instância do Azure Key Vaultcom as chaves gerenciadas pelo cliente para o Lote do Azure, verifique se aexclusão reversívele aproteção de limpezaambas estão habilitadas.

Capatura de tela da criação da tela do Azure Key Vault.

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

No portal do Azure, assim que o Azure Key Vault for criado, naPolítica de AcessoemConfiiração,adicione o acesso à conta do Lote usando a identidade gerenciada. EmPermissões da Chave,selecione “Obter” , “Encapsular Chave” e “Desencapsular chave” .

Captura de tela mostrando o botão Adicionar tela da política de acesso.

No campoSelecionar,emPrincipal, preencha um dos seguintes:

  • Para a identidade gerenciada atribuída ao sistema: Insira o principalIdque você recuperou anteriormente ou o nome da conta do Lote.
  • Para a identidade gerenciada atribuída ao usuário: Insira aID do clienteque você recuperou anteriormente ou o nome da identidade gerenciada atribuída pelo usuário.

Captura da tela da tela de entidade de segurança.

Gerar uma chave no Azure Key Vault

No portal do Microsoft Azure,vá para a instância do Azure Key Vault na seçãoChave,selecioneGerar/Importar. Selecione oTipo de chavea serRSAo Tamanho daChave RSA e para que sejam pelo menos2048 bits. ECAtualmente, não há suporte para os tipos de chave como uma chave gerenciada pelo cliente em uma conta do Lote.

Criar uma chave

Depois que a chave for criada, clique na chave recém-criada e na versão atual, copie oIdentificador de Chavena seção Propriedades. Confira se em Operações permitidas,encapsular chave e desencapsular chave estejam marcados.

Habilitar as chaves gerenciadas pelo cliente em uma conta do Lote

Agora que os pré-requisitos estão em vigor, habilite as chaves gerenciadas pelo cliente em sua conta do Lote.

Portal do Azure

NoPortal do Azure,vá para a página da conta do Lote. Na seçãoCriptografia, habilite achave gerenciada pelo cliente. Você pode usar o Identificador de Chave diretamente ou pode selecionar o cofre de chaves e, em seguida, clicar em Selecionar um cofre de chaves e uma chave.

Captura de tela mostrando a seção de criptografia e a opção de habilitar a chave gerenciada pelo cliente

CLI do Azure

Depois que a conta do Lote for criada com a identidade gerenciada atribuída ao sistema e o acesso ao Azure Key Vault for concedido, atualize a conta do Lote com a{Key Identifier}URL em keyVaultPropertiesparâmetro. Além disso, defina --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 Lote com a identidade gerenciada atribuída ao usuário e as chaves gerenciadas pelo cliente

Como exemplo, usando o cliente .NET de gerenciamento de lote, é possível criar uma conta do Lote que tenha uma identidade gerenciada atribuída pelo usuário e as chaves gerenciadas 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);

Atualização da versão da chave gerenciada pelo cliente

Ao criar uma versão de uma chave, atualize a conta do Lote para usar a nova versão. Siga estas etapas:

  1. Navegue até sua conta do Lote no portal do Microsoft Azure e exiba as configurações de criptografia.
  2. Insira o URI da nova versão da chave. Como alternativa, você pode selecionar o Azure Key Vault e a chave novamente para atualizar a versão.
  3. Salve suas alterações.

Você também poderá usar o CLI do Azure para atualizar a versão.

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

Dica

É possível fazer com que suas chaves girem automaticamente criando uma política de rotação de chaves dentro de Key Vault. Ao especificar um identificador de chave para a conta do Lote, use o identificador de chave sem versão para habilitar o giro automático com uma política de rotação válida. Para saber mais, confira Como configurar a rotação de chaves no Key Vault.

Usar uma chave diferente da criptografia em Lote

Para alterar a chave usada para a criptografia em Lote, siga estas etapas:

  1. Navegue até sua conta do Lote e exiba as configurações de Criptografia.
  2. Insira o URI da nova chave. Como alternativa, você pode selecionar o Azure Key Vault e escolher uma nova chave.
  3. Salve suas alterações.

Você também pode usar o CLI do Azure para usar uma chave diferente.

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

Perguntas frequentes

  • As chaves gerenciadas pelo cliente têm suporte para as contas do Lote existentes? Não. As chaves gerenciadas pelo cliente só têm suporte para novas contas do Lote.
  • Posso selecionar os tamanhos das chaves RSA com mais de 2048 bits? Sim, 3072também há suporte para os tamanhos das chaves RSA e4096 bits.
  • Quais operações estão disponíveis depois que uma chave gerenciada pelo cliente é revogada? A única operação permitida será a exclusão da conta se o Lote do Azure perder o acesso à chave gerenciada pelo cliente.
  • Como devo restaurar o acesso à minha conta do Lote se eu excluir acidentalmente a chave do Azure Key Vault? Já que a proteção de limpeza e a exclusão reversível estão habilitadas, você pode restaurar as chaves existentes. Para obter mais informações, consulteRecuperar o Azure Key Vault.
  • Posso desabilitar as chaves gerenciadas pelo cliente? Você pode definir o tipo de criptografia da conta do Lote de volta à "chave gerenciada da Microsoft" a qualquer momento. Você estará livre para excluir ou alterar a chave posteriormente.
  • Como posso girar as chaves? As chaves gerenciadas pelo cliente não são giradas automaticamente, a menos que a chave seja sem versão com uma política de rotação de chave apropriada definida dentro de Key Vault. Para girar a chave manualmente, atualize o identificador da chave ao qual a conta está associada.
  • Depois de restaurar o acesso, quanto tempo levará para que a conta do Lote funcione novamente? Pode levar até 10 minutos para que a conta fique acessível novamente assim que o acesso for restaurado.
  • Enquanto a conta do Lote não está disponível, o que acontece com meus recursos? Todos os pools que estejam em execução quando o acesso ao Lote para a chave gerenciada pelo cliente for perdido continuarão em execução. No entanto, os nós nesses pools farão a transição para um estado indisponível e as tarefas deixarão de ser executadas (e colocadas novamente na fila). Logo que o acesso for restaurado, os nós ficam disponíveis novamente e as tarefas são reiniciadas.
  • Este mecanismo de criptografia aplica-se a discos de VM em um pool do Lote? Não. Para os pools de Configuração de Serviços de Nuvem (preteridos), nenhuma criptografia é aplicada ao sistema operacional e ao disco temporário. Para os pools de Configuração da Máquina Virtual, o sistema operacional e todos os discos de dados especificados são, por padrão, criptografados com uma chave gerenciada da plataforma Microsoft. No momento, não é possível especificar sua própria chave para estes discos. Para criptografar o disco temporário das VMs para um pool do Lote com uma chave gerenciada pea plataforma Microsoft, você deve habilitar a propriedadediskEncryptionConfigurationem seu pool deConfiguração de Máquina Virtual. Para ambientes altamente confidenciais, nós recomendamos habilitar a criptografia de disco temporária e evitar o armazenamento de dados confidenciais no sistema operacional e nos discos de dados. Para obter mais informações, consulteCriar um pool com criptografia de disco habilitada
  • A identidade gerenciada atribuída ao sistema na conta do Lote está disponível nos nós de computação? Não. A identidade gerenciada atribuída ao sistema é atualmente usada somente para acessar o Azure Key Vault para a chave gerenciada pelo cliente. Para usar uma identidade gerenciada atribuída ao usuário nos nós de computação, consulteConfigurar identidades gerenciadas em pools do Lote.

Próximas etapas