Como o WorkSpaces usa o AWS KMS - AWS Key Management Service

Como o WorkSpaces usa o AWS KMS

Você pode usar o WorkSpaces para provisionar um desktop baseado em nuvem (um WorkSpace) para cada um dos seus usuários finais. Ao executar um novo WorkSpace, é possível criptografar seus volumes e decidir qual AWS KMS key deve ser usada para a criptografia. É possível escolher a Chave gerenciada pela AWS para o WorkSpace (aws/workspaces) ou uma chave simétrica gerenciada pelo cliente.

Importante

O WorkSpaces só é compatível com chaves do KMS de criptografia simétrica. Não é possível usar uma chave do KMS assimétrica para criptografar os volumes em um WorkSpaces. Para obter ajuda para determinar se uma chave do KMS é simétrica ou assimétrica, consulte Identificar chaves do KMS assimétricas.

Para obter mais informações sobre a criação de WorkSpaces com volumes criptografados, acesse Criptografar um WorkSpace, no Guia de Administração do Amazon WorkSpaces.

Visão geral da criptografia do WorkSpaces usando o AWS KMS

Quando você cria WorkSpaces com volumes criptografados, o WorkSpaces usa o Amazon Elastic Block Store (Amazon EBS) para criar e gerenciar esses volumes. Ambos os serviços usam sua AWS KMS key para trabalhar com os volumes criptografados. Para obter mais informações sobre criptografia de volume do EBS, consulte a documentação a seguir:

Quando você executa WorkSpaces com volumes criptografados, o processo completo funciona desta forma:

  1. Você especifica a chave do KMS a ser usada para criptografia, bem como o usuário e o diretório do WorkSpace. Essa ação cria uma concessão que permite ao WorkSpaces usar sua chave do KMS apenas para esse WorkSpace, ou seja, apenas para o WorkSpace associado ao usuário e ao diretório especificados.

  2. O WorkSpaces cria um volume do EBS criptografado para o WorkSpace e especifica a chave do KMS a ser usada, bem como o usuário e o diretório do volume (as mesmas informações especificadas na Passo 1). Essa ação cria uma concessão que permite ao Amazon EBS usar sua chave do KMS apenas para esse WorkSpace e volume, ou seja, apenas para o WorkSpace associado ao usuário e ao diretório especificados e apenas para o volume especificado.

  3. O Amazon EBS solicita uma chave de dados de volume que é criptografada com sua chave do KMS e especifica o Sid e o ID de diretório do usuário do WorkSpace, bem como o ID do volume como contexto de criptografia.

  4. O AWS KMS cria uma nova chave de dados, criptografa essa chave com sua chave do KMS e, em seguida, envia a chave de dados criptografada ao Amazon EBS.

  5. O WorkSpaces usa o Amazon EBS para anexar o volume criptografado ao seu WorkSpace. O Amazon EBS envia a chave de dados criptografada ao AWS KMS com uma solicitação Decrypt e especifica o usuário do WorkSpace Sid, seu ID de diretório e o ID do volume, que é usado como o contexto de criptografia.

  6. O AWS KMS usa sua chave do KMS para descriptografar a chave de dados e, em seguida, envia a chave de dados em texto simples ao Amazon EBS.

  7. O Amazon EBS usa a chave de dados em texto simples para criptografar todos os dados enviados e recebidos do volume criptografado. O Amazon EBS mantém a chave de dados de texto simples na memória enquanto o volume está conectado ao WorkSpace.

  8. O Amazon EBS armazena a chave de dados criptografada (recebida no Passo 4) com os metadados do volume para uso futuro, caso você reinicialize ou recrie o WorkSpace.

  9. Ao usar o AWS Management Console para remover um WorkSpace (ou usar a ação TerminateWorkspaces na API do WorkSpaces), o WorkSpaces e o Amazon EBS retiram as concessões que os permitiram usar sua chave do KMS para esse WorkSpace.

Contexto de criptografia do WorkSpaces

O WorkSpaces não usa sua AWS KMS key diretamente para operações de criptografia (como Encrypt, Decrypt, GenerateDataKey, etc.), o que significa que ele não envia solicitações ao AWS KMS que incluem um contexto de criptografia. No entanto, quando o Amazon EBS solicita uma chave de dados criptografada para os volumes criptografados de seus WorkSpaces (Passo 3 no Visão geral da criptografia do WorkSpaces usando o AWS KMS) e quando ele solicita uma cópia de texto simples dessa chave de dados (Passo 5), ele inclui o contexto de criptografia na solicitação. O contexto de criptografia fornece dados autenticados adicionais (AAD) que o AWS KMS usa para garantir a integridade dos dados. O contexto de criptografia também é gravado em seus arquivos de log do AWS CloudTrail, o que pode ajudar você a entender por que uma determinada AWS KMS key foi usada. O Amazon EBS usa o seguinte como contexto de criptografia:

  • O sid do usuário do AWS Directory Service que é associado ao WorkSpace

  • O ID do diretório do AWS Directory Service que é associado ao WorkSpace

  • O ID do volume criptografado

O exemplo a seguir mostra uma representação JSON do contexto de criptografia usado pelo Amazon EBS:

{ "aws:workspaces:sid-directoryid": "[S-1-5-21-277731876-1789304096-451871588-1107]@[d-1234abcd01]", "aws:ebs:id": "vol-1234abcd" }

Conceder permissão ao WorkSpaces para usar uma chave do KMS em seu nome

Você pode proteger os dados do seu espaço de trabalho na seçãoChave gerenciada pela AWS para o WorkSpaces (aws/workspaces) ou uma chave gerenciada pelo cliente. Se você usar uma chave gerenciada pelo cliente, precisará conceder permissão ao WorkSpaces para usar essa chave do KMS em nome dos administradores do WorkSpaces na sua conta. A Chave gerenciada pela AWS para o WorkSpaces tem as permissões necessárias por padrão.

Para preparar sua chave gerenciada pelo cliente para uso com o WorkSpaces, use o procedimento a seguir.

Os administradores do WorkSpaces também precisam de permissão para usar o WorkSpaces. Para obter mais informações sobre essas permissões, acesse Controlar o acesso a recursos do WorkSpaces, no Guia de Administração do Amazon WorkSpaces.

Parte 1: Adicionar administradores do WorkSpaces aos usuários de chaves da chave do KMS

Para conceder aos administradores do WorkSpace as permissões que eles exigem, você pode usar o AWS Management Console ou a API do AWS KMS.

Para adicionar administradores do WorkSpaces como usuários de uma chave do KMS (console)

  1. Faça login no AWS Management Console e abra o console do AWS Key Management Service (AWS KMS) em https://console.aws.amazon.com/kms.

  2. Para alterar a Região da AWS, use o Region selector (Seletor de regiões) no canto superior direito da página.

  3. No painel de navegação, escolha Customer managed keys (Chaves gerenciadas pelo cliente).

  4. Escolha o ID de chave ou alias da sua chave gerenciada pelo cliente preferida

  5. Selecione a guia Key policy (Política de chaves). Em Key users (Usuários de chaves), escolhaAdd (Adicionar).

  6. Na lista de usuários e funções do IAM, selecione os usuários e as funções que correspondem aos seus administradores de WorkSpaces e, em seguida, escolha Attach (Anexar).

Para adicionar administradores do WorkSpaces como usuários de uma chave do KMS (API do AWS KMS)

  1. Use a operação GetKeyPolicy para obter a política de chaves existente e salve o documento em um arquivo.

  2. Abra o documento de política no editor de texto de sua preferência. Adicione os usuários e as funções do IAM que correspondem aos seus administradores de WorkSpaces às declarações de política que dão permissão para usuários de chave. Salve o arquivo.

  3. Use a operação PutKeyPolicy para aplicar a política de chaves à chave do KMS.

Parte 2: Conceder aos administradores de WorkSpaces permissões extras

Se você estiver usando uma chave gerenciada pelo cliente para proteger seus dados do WorkSpaces, além das permissões na seção Usuários de chaves da política de chaves padrão, os administradores do WorkSpaces precisarão de permissão para criar concessões na chave do KMS. Além disso, se eles usam o AWS Management Console para criar WorkSpaces com volumes criptografados, os administradores de WorkSpaces precisam de permissão para listar aliases e chaves. Para obter mais informações sobre como criar e editar políticas de usuário do IAM, consulte Políticas gerenciadas e em linha, no Manual do usuário do IAM.

Para conceder essas permissões aos administradores do WorkSpaces, use uma política do IAM. Adicione uma instrução de política semelhante ao exemplo a seguir à política do IAM para cada administrador do WorkSpaces. Substitua o ARN da chave do KMS de exemplo (arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab) por um válido. Se os seus administradores do WorkSpaces usarem apenas a API do WorkSpaces (e não o console), você poderá omitir a instrução de política com as permissões "kms:ListAliases" e "kms:ListKeys".

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:ListKeys" ], "Resource": "*" } ] }