As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Chave KMS | Criar
Solicite uma chave KMS com uma política de chaves predefinida.
Classificação completa: Implantação | Componentes avançados da pilha | Chave KMS | Criar
Detalhes do tipo de alteração
ID do tipo de alteração |
ct-1d84keiri1jhg |
Versão atual |
1,0 |
Duração esperada da execução |
60 minutos |
Aprovação da AWS |
Obrigatório |
Aprovação do cliente |
Não obrigatório |
Modo de execução |
Automatizado |
Informações adicionais
Criar chave KMS
Captura de tela desse tipo de alteração no console AMS:
Como funciona:
Navegue até a página Criar RFC: No painel de navegação esquerdo do console AMS, clique RFCspara abrir a página da RFCs lista e, em seguida, clique em Criar RFC.
Escolha um tipo de alteração popular (CT) na visualização padrão Procurar tipos de alteração ou selecione uma CT na visualização Escolher por categoria.
Navegar por tipo de alteração: você pode clicar em um CT popular na área de criação rápida para abrir imediatamente a página Executar RFC. Observe que você não pode escolher uma versão mais antiga do CT com a criação rápida.
Para classificar CTs, use a área Todos os tipos de alteração na exibição Cartão ou Tabela. Em qualquer exibição, selecione uma CT e clique em Criar RFC para abrir a página Executar RFC. Se aplicável, a opção Criar com versão mais antiga aparece ao lado do botão Criar RFC.
Escolha por categoria: selecione uma categoria, subcategoria, item e operação e a caixa de detalhes do CT será aberta com a opção Criar com uma versão mais antiga, se aplicável. Clique em Criar RFC para abrir a página Executar RFC.
Na página Executar RFC, abra a área do nome do CT para ver a caixa de detalhes do CT. É necessário um Assunto (preenchido se você escolher seu CT na visualização Procurar tipos de alteração). Abra a área Configuração adicional para adicionar informações sobre o RFC.
Na área Configuração de execução, use as listas suspensas disponíveis ou insira valores para os parâmetros necessários. Para configurar parâmetros de execução opcionais, abra a área Configuração adicional.
Ao terminar, clique em Executar. Se não houver erros, a página RFC criada com sucesso será exibida com os detalhes da RFC enviada e a saída inicial de execução.
Abra a área Parâmetros de execução para ver as configurações que você enviou. Atualize a página para atualizar o status de execução do RFC. Opcionalmente, cancele a RFC ou crie uma cópia dela com as opções na parte superior da página.
Como funciona:
Use o Inline Create (você emite um
create-rfccomando com todos os parâmetros de RFC e execução incluídos) ou o Template Create (você cria dois arquivos JSON, um para os parâmetros RFC e outro para os parâmetros de execução) e emita ocreate-rfccomando com os dois arquivos como entrada. Ambos os métodos são descritos aqui.Envie o
aws amscm submit-rfc --rfc-idcomando RFC: com o ID RFC retornado.IDMonitore o
aws amscm get-rfc --rfc-idcomando RFC:.ID
Para verificar a versão do tipo de alteração, use este comando:
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
nota
Você pode usar qualquer CreateRfc parâmetro com qualquer RFC, independentemente de eles fazerem parte do esquema para o tipo de alteração. Por exemplo, para receber notificações quando o status da RFC mudar, adicione essa linha --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}" à parte dos parâmetros da RFC da solicitação (não aos parâmetros de execução). Para obter uma lista de todos os CreateRfc parâmetros, consulte a Referência da API de gerenciamento de alterações do AMS.
CRIAÇÃO EM LINHA:
Execute o comando create RFC com os parâmetros de execução fornecidos em linha (aspas de escape ao fornecer parâmetros de execução em linha) e, em seguida, envie a ID de RFC retornada. Por exemplo, você pode substituir o conteúdo por algo assim:
Somente parâmetros obrigatórios:
aws amscm create-rfc --titlemy-app-key--change-type-id ct-1d84keiri1jhg --change-type-version1.0--execution-parameters '{"Description":"KMS key for my-app","VpcId":"VPC_ID","Name":"my-app-key","StackTemplateId":"stm-enf1j068fhg34vugt","TimeoutInMinutes":60,"Parameters":{"Description":"KMS key for my-app"}}'
CRIAÇÃO DE MODELO:
Envie os parâmetros de execução do esquema JSON para esse tipo de alteração em um arquivo; este exemplo o chama de .json. CreateKmsKeyAutoParams
aws amscm get-change-type-version --change-type-id "ct-1d84keiri1jhg" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateKmsKeyAutoParams.jsonModifique e salve o CreateKmsKeyAutoParams arquivo. Seguem exemplos.
Conceda permissão a um usuário ou função para descriptografar a CMK criada. Parâmetros de execução de exemplo:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID”, "Name": "my-app-key-decrypt", "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "IAMPrincipalsRequiringDecryptPermissions": [ "ARN:role/roleA", "ARN:user/userB", "ARN:role/instanceProfileA" ], "Description": "KMS key for my-app" } }Para ver a política resultante, consulteConcede permissões para descriptografar com a CML para um usuário ou uma função do IAM.
Conceda a um usuário ou função permissão para criptografar usando a CMK criada. Parâmetros de execução de exemplo:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID", "Name": "my-app-key-encrypt", "Tags": [ { "Key": "Name", "Value": "my-app-key" } ], "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "IAMPrincipalsRequiringEncryptPermissions": [ "ARN:role/roleA", "ARN:user/userB", "ARN:role/instanceProfileA" ], "Description": "KMS key for my-app" } }Para ver a política resultante, consulteConcede permissões para criptografar com a CML para um usuário ou uma função do IAM.
Conceda permissão a um usuário, papel ou conta para criar concessões usando a CMK criada. Parâmetros de execução de exemplo:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID", "Name": "my-app-key-create-grants", "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "IAMPrincipalsRequiringGrantsPermissions": [ "arn:aws:iam::999999999999:role/roleA", "888888888888" ], "Description": "KMS key for my-app" } }Para ver a política resultante, consulteConcede permissões para criar concessões com a CMK para um usuário, função ou conta do IAM.
Permita que somente serviços da AWS integrados ao AWS KMS realizem a operação GRANT. Parâmetros de execução de exemplo:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID", "Name": "my-app-key-limit-to-services", "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "IAMPrincipalsRequiringGrantsPermissions": [ "arn:aws:iam::999999999999:role/roleA" ], "LimitGrantsToAWSResources": "true", "Description": "KMS key for my-app" } }Para ver a política resultante, consultePermita que somente serviços da AWS integrados ao AWS KMS executem a operação GRANT.
Imponha o uso de chaves de contexto de criptografia em operações criptográficas. Parâmetros de execução de exemplo:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID", "Name": "my-app-key-encryption-keys", "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "EnforceEncryptionContextKeys": "true", "Description": "KMS key for my-app" } }Para ver a política resultante, consulteImponha o uso de chaves de contexto de criptografia em operações criptográficas.
Aplique uma lista específica de chaves de contexto de criptografia em operações criptográficas. Parâmetros de execução de exemplo:
{ "Description": "KMS key for my-app", "VpcId": "VPC_ID", "Name": "my-app-key-encryption-list", "StackTemplateId": "stm-enf1j068fhg34vugt", "TimeoutInMinutes": 60, "Parameters": { "AllowedEncryptionContextKeys": [ "Name", "Application" ], "Description": "KMS key for my-app" } }Para ver a política resultante, consulteAplique uma lista específica de chaves de contexto de criptografia em operações criptográficas.
Permita que os serviços da AWS acessem a CMK criada. Parâmetros de execução de exemplo:
{ "Description" : "KMS key for my-app", "VpcId" : "VPC_ID", "Name" : "my-app-key-allow-aws-service-access", "StackTemplateId" : "stm-enf1j068fhg34vugt", "TimeoutInMinutes" : 60, "Parameters" : { "AllowServiceRolesAccessKMSKeys": [ "ec2.us-east-1.amazonaws.com", "ecr.us-east-1.amazonaws.com" ], "Description": "KMS key for my-app" } }Para ver a política resultante, consultePermita que os serviços da AWS acessem a CMK criada.
Envie o arquivo JSON do modelo RFC para um arquivo; este exemplo o chama de .json: CreateKmsKeyAutoRfc
aws amscm create-rfc --generate-cli-skeleton > CreateKmsKeyAutoRfc.jsonModifique e salve o CreateKmsKeyAutoRfc arquivo.json. Por exemplo, você pode substituir o conteúdo por algo assim:
{ "ChangeTypeId": "ct-1d84keiri1jhg", "ChangeTypeVersion": "1.0", "Title": "Create KMS Key" }Crie o RFC, especificando o arquivo CreateKmsKeyAuto Rfc e o arquivo: CreateKmsKeyAutoParams
aws amscm create-rfc --cli-input-json file://CreateKmsKeyAutoRfc.json --execution-parameters file://CreateKmsKeyAutoParams.jsonVocê recebe o ID do novo RFC na resposta e pode usá-lo para enviar e monitorar o RFC. Até que você o envie, o RFC permanece no estado de edição e não inicia.
-
Esse CT cria uma CloudFormation pilha que cria uma chave KMS com.
DeletionPolicy: RetainPor padrão, a chave KMS criada persistirá mesmo depois que você excluir a pilha. Se tiver certeza de que deseja excluir a chave KMS, crie uma RFC com o tipo de alteração ct-2zxya20wmf5bf, Gerenciamento | Componentes avançados da pilha | Chave KMS | Excluir (revisão obrigatória). Esse tipo de alteração é ExecutionMode =Automatizado, portanto, esse tipo de alteração não requer revisão manual pelas operações do AMS e deve ser executado mais rapidamente do que Chave KMS: Criar (revisão obrigatória); no entanto, se você tiver uma situação incomum, a versão manual poderá funcionar melhor para você. Consulte Chave KMS | Criar (revisão obrigatória).
Essa CT tem um novo parâmetro, AllowServiceRolesAccessKMSKeys, que fornece aos serviços da AWS especificados acesso à chave KMS. A alteração foi feita porque a função de serviço de grupo de escalonamento automático não conseguiu iniciar as EC2 instâncias com volumes criptografados do EBS devido à falta de permissões para a chave KMS.
Para saber mais sobre as chaves do AWS KMS, consulte AWS Key Management Service (
KMS), AWS Key Management Service e AWS Key Management FAQs Service Concepts .
Chave KMS Crie políticas resultantes
Dependendo de como você criou sua chave KMS, você criou políticas. Esses exemplos de políticas correspondem a vários cenários de criação de chaves KMS fornecidos emCriar chave KMS.
Concede permissões para descriptografar com a CML para um usuário ou uma função do IAM
O exemplo de política resultante concede aos usuários, funções ou perfis de instância do IAM permissão para descriptografar usando a CMK:
{ "Sid": "Allow decrypt using the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::999999999999:role/roleA", "arn:aws:iam::999999999999:user/userB", "arn:aws:iam::999999999999:role/instanceProfileA" ] }, "Action": [ "kms:DescribeKey", "kms:Decrypt" ], "Resource": "*" }
Para obter os parâmetros de execução para criar essa política com a chave KMS Criar tipo de alteração, consulte Criar chave KMS
Concede permissões para criptografar com a CML para um usuário ou uma função do IAM
O exemplo de política resultante concede aos usuários, funções ou perfis de instância do IAM permissão para criptografar usando a CMK:
{ "Sid": "Allow encrypt using the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::999999999999:role/roleA", "arn:aws:iam::999999999999:user/userB", "arn:aws:iam::999999999999:role/instanceProfileA" ] }, "Action": [ "kms:DescribeKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*" }
Para obter os parâmetros de execução para criar essa política com a chave KMS Criar tipo de alteração, consulte Criar chave KMS
Concede permissões para criar concessões com a CMK para um usuário, função ou conta do IAM
Exemplo de política resultante:
{ "Sid": "Allow grants", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::999999999999:role/roleA", "arn:aws:iam::888888888888:root" ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*" }
Para obter os parâmetros de execução para criar essa política com a chave KMS Criar tipo de alteração, consulte Criar chave KMS
Permita que somente serviços da AWS integrados ao AWS KMS executem a operação GRANT
Exemplo de política resultante:
{ "Sid": "Allow grants", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::999999999999:role/roleA" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*" }, { "Sid": "Deny if grant is not for AWS resource", "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "false" } } } } }
Para obter os parâmetros de execução para criar essa política com a chave KMS Criar tipo de alteração, consulte Criar chave KMS
Imponha o uso de chaves de contexto de criptografia em operações criptográficas
Exemplo de política resultante:
{ "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt" ], "Resource": "*", "Condition": { "Null": { "kms:EncryptionContextKeys": "true" } } }
Para obter os parâmetros de execução para criar essa política com a chave KMS Criar tipo de alteração, consulte Criar chave KMS
Aplique uma lista específica de chaves de contexto de criptografia em operações criptográficas
Exemplo de política resultante:
{ "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContextKeys": [ "Name", "Application" ] } } }
Para obter os parâmetros de execução para criar essa política com a chave KMS Criar tipo de alteração, consulte Criar chave KMS
Permita que os serviços da AWS acessem a CMK criada
Exemplo de política resultante:
{ "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:ListGrants", "kms:CreateGrant", "kms:DescribeKey", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "ec2.us-west-2.amazonaws.com", "ecr.us-east-1.amazonaws.com" ], "kms:CallerAccount": "111122223333" } } }
Para obter os parâmetros de execução para criar essa política com a chave KMS Criar tipo de alteração, consulte Criar chave KMS
Parâmetros de entrada de execução
Para obter informações detalhadas sobre os parâmetros de entrada de execução, consulteEsquema para alteração do tipo ct-1d84keiri1jhg.
Exemplo: parâmetros obrigatórios
{ "Description" : "Test description", "VpcId" : "vpc-12345678901234567", "Name" : "TestStack", "StackTemplateId" : "stm-enf1j068fhg34vugt", "TimeoutInMinutes" : 60, "Parameters" : { "Description" : "Test key" } }
Exemplo: Todos os parâmetros
{ "Description" : "Test description", "VpcId" : "vpc-12345678", "Name" : "TestStack", "Tags" : [ { "Key" : "foo", "Value" : "bar" } ], "StackTemplateId" : "stm-enf1j068fhg34vugt", "TimeoutInMinutes" : 60, "Parameters" : { "Alias" : "testkey", "EnableKeyRotation" : "true", "Description" : "Test key", "PendingWindow" : 30, "IAMPrincipalsRequiringDecryptPermissions" : [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "IAMPrincipalsRequiringEncryptPermissions" : [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "IAMPrincipalsRequiringGrantsPermissions" : [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole", "987654321098" ], "LimitGrantsToAWSResources" : "true", "EnforceEncryptionContextKeys" : "true", "AllowedEncryptionContextKeys" : [ "App" ], "AllowServiceRolesAccessKMSKeys": [ "ec2.us-east-1.amazonaws.com" ] } }