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 AWS KMS cria o material de chave por padrão). 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 chave 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
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:
-
Para criar chaves de dados para a criptografia do cliente do, use a operação GenerateDataKey.
-
Para criar uma chave do KMS assimétrica para criptografia ou assinatura, consulte Criar chaves do KMS assimétricas.
-
Para criar uma chave do KMS de HMAC, consulte Criar chaves do KMS de HMAC.
-
Para criar uma chave KMS com material de chave importado (“traga sua própria chave”), consulte Etapa 1 da importação de material de chave: criar uma AWS KMS key sem material de chave.
-
Para criar uma chave primária ou uma chave de réplica de várias regiões, consulte Criar chaves de várias regiões.
-
Para criar uma chave do KMS em um armazenamento personalizado de chaves (a origem do material de chave é o armazenamento personalizado de chaves [CloudHSM]), consulte Criar chaves do KMS em um armazenamento de chaves do AWS CloudHSM.
-
Para usar um modelo do AWS CloudFormation para criar uma chave do KMS, consulte AWS::KMS::Key no Guia do usuário do AWS CloudFormation.
-
Para determinar se uma chave do KMS existente é simétrica ou assimétrica, consulte Identificar chaves do KMS assimétricas.
-
Para usar sua chave do KMS de forma programática e em operações da interface da linha de comando, é necessário um ID de chave ou um ARN de chave. Para obter instruções detalhadas, consulte Como encontrar o ID e o ARN da chave.
-
Para obter informações sobre cotas que se aplicam a chaves do KMS, consulte Cotas.
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.
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.
-
kms:CreateKey é necessária.
-
kms:CreateAlias é necessária para criar uma chave do KMS no console no qual um alias é necessário para cada nova chave do KMS.
-
kms:TagResource é necessária para adicionar etiquetas ao criar a chave do KMS.
-
iam:CreateServiceLinkedRole é necessária para criar chaves primárias de várias regiões. Para obter mais detalhes, consulte Controlar o acesso a chaves de várias Regiões.
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 chave 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).
-
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
. -
Para alterar a Região da AWS, use o Region selector (Seletor de regiões) no canto superior direito da página.
-
No painel de navegação, escolha Customer managed keys (Chaves gerenciadas pelo cliente).
-
Escolha Create key (Criar chave).
-
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).
-
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.
-
Escolha Next (Próximo).
Para mais informações sobre as opções avançadas, consulte Chaves para fins especiais.
-
Digite um alias para a chave do KMS. O nome do alias não pode começar com
aws/
. O prefixoaws/
é 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.
-
(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
ouPending 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. -
(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.
-
Escolha Next (Próximo).
-
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.
As práticas recomendadas do IAM não encorajam o uso de usuários do IAM com credenciais de longo prazo. Sempre que possível, use os perfis do IAM, por fornecerem credenciais temporárias. Para obter detalhes, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.
-
(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).
-
Escolha Next (Próximo).
-
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.
As práticas recomendadas do IAM não encorajam o uso de usuários do IAM com credenciais de longo prazo. Sempre que possível, use os perfis do IAM, por fornecerem credenciais temporárias. Para obter detalhes, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.
-
(Opcional) Você pode permitir que outras Contas da AWS usem essa chave do KMS para operações de criptografia. Para fazer isso, na seção Other Contas da AWS (Outras Contas da AWS) disponível na parte inferior da página, 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 obter mais informações, consulte Permitir que usuários de outras contas usem uma chave do KMS.
-
Escolha Next (Próximo).
-
Revise as configurações que você escolheu. Ainda é possível voltar e alterar todas as configurações.
-
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)
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" : "*" } ] }