Como resolvo o erro “A nova política de chaves não permitirá que você atualize a política de chaves no futuro” quando tento criar uma chave do AWS KMS usando o AWS CloudFormation?
Quando eu crio uma chave do AWS KMS e defino uma política de chave do AWS Key Management Service (AWS KMS) usando o AWS CloudFormation, a criação da chave do AWS KMS falha. Em seguida, recebo a seguinte mensagem de erro: “A nova política de chaves não permitirá que você atualize a política de chaves no futuro.”
Breve descrição
O AWS KMS realiza verificações de segurança quando uma política importante é criada. Uma verificação de segurança confirma que o diretor na política de chaves tem as permissões necessárias para criar a API CreateKey e a API PutKeyPolicy. Essa verificação elimina a possibilidade de a chave do AWS KMS se tornar incontrolável, o que significa que você não pode alterar a política da chave nem excluir a chave.
Importante: Certifique-se de que a política de chaves que você criou permita que o usuário atual administre a chave do AWS KMS.
Resolução
Quando você cria uma pilha do AWS CloudFormation, um usuário ou perfil do AWS Identity and Access Management (IAM) é usado para fazer a chamada da API CreateStack. Esse usuário também é usado para criar recursos especificados no modelo do AWS CloudFormation.
1. Ao criar uma chave do AWS KMS usando o AWS CloudFormation, escolha o mesmo usuário ou perfil do IAM que é o administrador principal da chave do AWS KMS.
No exemplo a seguir, a pilha do AWS CloudFormation é criada pelo usuário do IAM arn:aws:iam::123456789012:user/alice. O diretor é designado como administrador da chave. Agora, o usuário do IAM “Alice” pode modificar a política de chaves após a criação da política de chaves.
"Type" : "AWS::KMS::Key", "Properties" : { "Description" : "A sample key", "KeyPolicy" : { "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Allow administration of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Alice" }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Bob" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" } ] } } }
2. Defina o administrador principal da chave ou defina o usuário raiz da conta da AWS como administrador principal da chave.
Para definir o administrador principal da chave, use o nome do recurso da Amazon (ARN):
Se sua pilha do AWS CloudFormation for criada por uma conta de usuário SAML ou federada pela web, defina o principal como o perfil assumido pelo usuário para o ARN. Por exemplo:
"Principal": { "AWS": "arn:aws:sts::123456789012:assumed-role/FederatedAccess/FederatedUsername" }
Observação: o nome do perfil do IAM é FederatedAccess e o nome do usuário federado é FederatedUsername.
Se o perfil de serviço do AWS CloudFormation for usado para criar a pilha, defina a entidade principal como o ARN do perfil de serviço. Por exemplo:
"Principal": { "AWS": "arn:aws:iam::123456789012:role/ServiceRoleName” }
Observação: o nome do perfil de serviço do AWS CloudFormation é ServiceRoleName.
Para definir o usuário raiz da conta da AWS como administrador principal da chave, veja o exemplo a seguir:
"Principal": { "AWS": "arn:aws:iam::123456789012:root" }
Observação: se o administrador principal da chave estiver configurado como o ARN raiz, verifique se você tem as permissões corretas. O usuário, perfil ou perfil de serviço do IAM que cria a pilha do AWS CloudFormation deve ter as permissões do IAM para fazer as chamadas de API CreateKey e PutKeyPolicy.
Informações relacionadas
Vídeos relacionados
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há um mês
- AWS OFICIALAtualizada há 7 meses