Criar chaves - AWS Key Management Service

Criar chaves

Você pode criar AWS KMS keys no AWS Management Console ou usando a operação CreateKey ou um modelo do AWS CloudFormation. Durante esse processo, você escolhe o tipo de chave do KMS, sua regionalidade (região única ou várias regiões) e a origem do material de chave (o padrão é que o AWS KMS crie esse material para você). Não é possível alterar essas propriedades depois que a chave do KMS é criada. Você também define a política de chaves da chave do KMS, que pode ser alterada a qualquer momento.

Este tópico explica como criar a chave básica do KMS, uma chaves do KMS de criptografia simétrica para uma só região com material de chave do AWS KMS. Você pode usar essa chave do KMS para proteger seus recursos em um AWS service (Serviço da AWS). Para obter informações detalhadas sobre chaves do KMS de criptografia simétrica, consulte Especificação da chave SYMMETRIC_DEFAULT. Para obter ajuda na criação de outros tipos de chaves, consulte Chaves para fins especiais.

Se estiver criando uma chave do KMS para criptografar dados que você armazena ou gerencia em um serviço da AWS, crie uma chave do KMS de criptografia simétrica. Os serviços da AWS que são integrados ao AWS KMS usam apenas chaves do KMS de criptografia simétrica para criptografar seus dados. Esses serviços não fornecem suporte para criptografia com chaves do KMS assimétricas. Para ajudar a decidir qual tipo de chave do KMS deve ser criada, consulte Escolha de um tipo de chave do KMS.

nota

Agora as chaves do KMS simétricas são chamadas de chaves do KMS de criptografia simétrica. O AWS KMS é compatível com dois tipos de chaves do KMS simétricas, chaves do KMS de criptografia simétrica (o tipo padrão) e chaves do KMS de Hash-based message authentication code (HMAC – Código de autenticação de mensagem por hash), que também são chaves simétricas.

Quando você cria uma chave do KMS no console do AWS KMS, é necessário fornecer um alias (nome amigável) a ela. A operação CreateKey não cria um alias para a nova chave do KMS. Para criar um alias para uma chave do KMS nova ou existente, use a operação CreateAlias. Para obter informações detalhadas sobre aliases no AWS KMS, consulte Usar aliases.

Este tópico explica como criar uma chave do KMS de criptografia simétrica.

Saiba mais:

Permissões para criar chaves do KMS

Para criar uma chave do KMS no console ou usando as APIs, você deve ter a seguinte permissão em uma política do IAM. Sempre que possível, use chaves de condição para limitar as permissões. Por exemplo, você pode usar a chave de condição kms:KeySpec em uma política do IAM para permitir que entidades principais criem apenas chaves de criptografia simétrica.

Para obter um exemplo de uma política do IAM para entidades principais que criam chaves, consulte Permitir que um usuário crie chaves do KMS.

nota

Tenha cuidado ao conceder permissão a entidades principais para gerenciar etiquetas e aliases. Alterar uma etiqueta ou um alias pode conceder ou negar uma permissão à chave gerenciada pelo cliente. Para obter mais detalhes, consulte ABAC para AWS KMS.

A permissão kms:PutKeyPolicy não é necessária para criar a chave do KMS. A permissão kms:CreateKey inclui permissão para definir a política de chaves inicial. Porém, você deve adicionar essa permissão à política de chaves ao criar a chave do KMS para garantir que seja possível controlar o acesso à chave do KMS. A alternativa é usar o parâmetro BypassLockoutSafetyCheck, o que não é recomendado.

As chaves do KMS pertencem à conta da AWS na qual foram criadas. O usuário do IAM que cria uma chave do KMS não é considerado o proprietário da chave e ele não recebe automaticamente permissão para usar ou gerenciar a chave do KMS que criou. Como qualquer outra entidade principal, o criador da chave precisa obter permissão por meio de uma política de chaves, política do IAM ou concessão. No entanto, as entidades principais que têm a permissão kms:CreateKey podem definir a política de chave inicial e conceder a si mesmas permissão para usar ou gerenciar a chave.

Criar chaves do KMS de criptografia simétrica

É possível criar chaves do KMS no AWS Management Console ou usando a API do AWS KMS.

Este tópico explica como criar a chave básica do KMS, uma chaves do KMS de criptografia simétrica para uma só região com material de chave do AWS KMS. Você pode usar essa chave do KMS para proteger seus recursos em um AWS service (Serviço da AWS). Para obter ajuda na criação de outros tipos de chaves, consulte Chaves para fins especiais.

Criar chaves do KMS de criptografia simétrica (console)

Você pode usar o AWS Management Console para criar AWS KMS keys (chaves do KMS).

  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 Create key (Criar chave).

  5. Para criar uma chave do KMS de criptografia simétrica, em Key type (Tipo de chave), selecione Symmetric (Simétrica).

    Para obter informações sobre como criar uma chave do KMS assimétrica no console do AWS KMS, consulte Criar chaves do KMS assimétricas (console).

  6. Em Key usage (Uso da chave), a opção Encrypt and decrypt (Criptografar e descriptografar) é selecionada para você.

    Para obter informações sobre como criar chaves do KMS que geram e verificam códigos de Message authentication code (MAC – Código de autenticação de mensagem), consulte Criar chaves do KMS de HMAC.

  7. Escolha Next (Próximo).

    Para mais informações sobre as opções avançadas, consulte Chaves para fins especiais.

  8. Digite um alias para a chave do KMS. O nome do alias não pode começar com aws/. O prefixo aws/ é reservado pela Amazon Web Services para representar as Chaves gerenciadas pela AWS na sua conta.

    nota

    Adicionar, excluir ou atualizar um alias pode conceder ou negar uma permissão à chave do KMS. Para obter mais detalhes, consulte ABAC para AWS KMS e Usar aliases para controlar o acesso a chaves do KMS.

    Um alias é um nome de exibição que identifica a chave do KMS. Recomendamos que você escolha um alias que indique o tipo de dados que pretende proteger ou a aplicação a ser usada com a chave do KMS.

    Aliases são necessários ao criar uma chave do KMS no AWS Management Console. Eles são opcionais quando você usa a operação CreateKey.

  9. (Opcional) Digite uma descrição para a chave do KMS.

    Você pode adicionar uma descrição agora ou atualizá-la a qualquer momento, a não ser que o estado da chave seja Pending Deletion ou Pending Replica Deletion. Para adicionar, alterar ou excluir a descrição de uma chave gerenciada pelo cliente existente, edite a descrição na operação AWS Management Console ou use a operação UpdateKeyDescription.

  10. Escolha Next (Próximo).

  11. (Opcional) Digite uma chave de tag e um valor de tag opcional. Para adicionar mais de uma etiqueta à chave do KMS, selecione Add tag (Adicionar etiqueta).

    nota

    Marcar ou desmarcar uma chave do KMS pode conceder ou negar uma permissão a essa chave do KMS. Para obter mais detalhes, consulte ABAC para AWS KMS e Usar etiquetas para controlar o acesso a chaves do KMS.

    Ao adicionar tags aos recursos da AWS, a AWS gera um relatório de alocação de custos com utilização e custos agrupados por tags. Etiquetas também podem ser utilizadas para controlar o acesso a uma chave do KMS. Para informações sobre marcação de chaves do KMS, consulte Marcar chaves e ABAC para AWS KMS.

  12. Escolha Next (Próximo).

  13. Selecione os usuários e as funções do IAM que podem administrar a chave do KMS.

    nota

    Esta política de chave concede controle total dessa chave do KMS à Conta da AWS. Ela permite que os administradores de conta usem políticas do IAM para conceder a outras entidades principais a permissão para gerenciar a chave do KMS. Para obter mais detalhes, consulte Política de chaves padrão.

  14. (Opcional) Para evitar que os usuários e funções do IAM selecionados excluam essa chave do KMS, na seção Key deletion (Exclusão de chaves) na parte inferior da página, desmarque a caixa de seleção Allow key administrators to delete this key (Permitir que os administradores de chaves excluam essa chave).

  15. Escolha Next (Próximo).

  16. Selecione os usuários e as funções do IAM que podem usar a chave em operações de criptografia.

    nota

    Esta política de chave concede controle total dessa chave do KMS à Conta da AWS. Ela permite que os administradores de conta usem políticas do IAM para conceder a outras entidades principais a permissão para usar a chave do KMS em operações de criptografia. Para obter mais detalhes, consulte Política de chaves padrão.

  17. (Opcional) Você pode permitir que outras Contas da AWS usem essa chave do KMS para operações de criptografia. Para fazer isso, na parte inferior da página na seção Other Contas da AWS (Outras Contas da AWS), escolha Add another Conta da AWS (Adicionar outra Conta da AWS) e insira o número de identificação da Conta da AWS de uma conta externa. Para adicionar várias contas externas, repita essa etapa.

    nota

    Para permitir que as entidades principais de contas externas usem a chave do KMS, os administradores da conta externa devem criar políticas do IAM que forneçam essas permissões. Para mais informações, consulte Permitir que usuários de outras contas usem uma chave do KMS.

  18. Escolha Next (Próximo).

  19. Revise as configurações que você escolheu. Ainda é possível voltar e alterar todas as configurações.

  20. Selecione Finish (Concluir) para criar a chave do KMS.

Criar chaves do KMS de criptografia simétrica (API do AWS KMS)

É possível usar a operação CreateKey para criar AWS KMS keys de todos os tipos. Estes exemplos usam a AWS Command Line Interface (AWS CLI), mas você pode usar qualquer linguagem de programação compatível.

A operação a seguir cria a chave do KMS mais usada, uma chave de criptografia simétrica em uma única região com o suporte de material de chave gerado por AWS KMS. Essa operação não tem os parâmetros obrigatórios. No entanto, você também pode usar o parâmetro Policy para especificar uma política de chaves. Você pode alterar a política de chaves (PutKeyPolicy) e adicionar elementos opcionais, como uma descrição e tags a qualquer momento. Você também pode criar chaves assimétricas, chaves de várias Regiões, chaves com material de chave importado, e chaves em armazenamentos de chaves personalizados.

A operação CreateKey não permite que você especifique um alias, mas você pode usar a operação CreateAlias para criar um alias para sua nova chave do KMS.

Veja a seguir um exemplo de uma chamada para a operação CreateKey sem parâmetros. Esse comando usa todos os valores padrão. Ele cria uma chave do KMS de criptografia simétrica com o material de chave gerado pelo AWS KMS.

$ aws kms create-key { "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1502910355.475, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "MultiRegion": false "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], } }

Se você não especificar uma política de chaves para sua nova chave do KMS, a política de chave padrão aplicada por CreateKey será diferente da política de chaves padrão que o console aplica quando você o usa para criar uma nova chave do KMS.

Por exemplo, essa chamada para a operação GetKeyPolicy retorna a política de chave aplicada por CreateKey. Ela dá à Conta da AWS acesso à chave do KMS e permite que ele crie políticas do AWS Identity and Access Management(IAM) para a chave do KMS. Para obter informações detalhadas sobre as políticas do IAM e as políticas de chaves para chaves do KMS, consulte Autenticação e controle de acesso para o AWS KMS

$ aws kms get-key-policy --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --policy-name default --output text { "Version" : "2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM policies", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" } ] }