Por que não consigo executar instâncias do EC2 a partir da minha AMI copiada?

4 minuto de leitura
0

Copiei minha Imagem de Máquina da Amazon (AMI) para uma conta AWS ou região AWS diferente. No entanto, não consigo iniciar instâncias do Amazon Elastic Compute Cloud (Amazon EC2) a partir da AMI copiada.

Breve descrição

Se você não tiver as seguintes permissões, não poderá iniciar instâncias de uma AMI copiada com um Amazon Elastic Block Store (Amazon EBS) criptografado:

  • A política de chave gerenciada pelo cliente do AWS Key Management Service (AWS KMS) não tem as entidades principais corretas que permitem que a conta solicitante acesse a AMI.
  • A entidade do AWS Identity and Access Management (IAM) na conta solicitante não tem as permissões necessárias do AWS KMS para a chave do AWS KMS entre contas do volume.

Resolução

Ative o acesso entre contas às chaves personalizadas do AWS KMS existentes na AMI copiada

Para obter instruções detalhadas, consulte Compartilhar chaves de criptografia personalizadas com mais segurança entre contas usando o AWS Key Management Service.

Defina permissões para que as instâncias do EC2 acessem a chave do AWS KMS

1.    Abra o console do AWS KMS.
Observação: Certifique-se de estar na região correta.

2.    Escolha Chaves gerenciadas pelo cliente e selecione a chave apropriada.

3.    Em Política de chaves, role até Usuários da chave. Verifique se a seção Usuários de chaves lista todas as contas e usuários internos e externos que precisam de acesso à chave.

4.    Se alguma conta ou usuário estiver ausente da seção Usuários de chaves, em Política de chaves, escolha ** Alternar para visualização de política**.
Observação: se você editou manualmente a política de chaves do AWS KMS em algum momento, a política de chaves estará disponível somente na visualização de política (JSON).

5.    Verifique se a declaração Permitir o uso da chave na política da chave está correta. A declaração deve incluir o ARN de todas as contas e usuários que precisam de acesso à chave.

A seguir, um trecho de exemplo da declaração Permitir uso da chave na política de chave padrão. O exemplo inclui os seguintes ARNs:

  • A conta externa da AWS que contém a AMI copiada.
  • A conta principal da AMI.
  • Um usuário dentro da conta externa.

Para ter uma visão geral e um exemplo de toda a política de chave padrão, consulte Política de chave padrão.

{
	"Sid": "Allow use of the key",
	"Effect": "Allow",
	"Principal": {
		"AWS": [
			"arn:aws:iam::111122223333:root",
			"arn:aws:iam::444455556666:root",
			"arn:aws:iam::111122223333:user/UserA"
		]
	},
	"Action": [
		"kms:Encrypt",
		"kms:Decrypt",
		"kms:ReEncrypt*",
		"kms:GenerateDataKey*",
		"kms:DescribeKey"
	],
	"Resource": "*"
},   
{
	"Sid": "Allow attachment of persistent resources",
	"Effect": "Allow",
	"Principal": {
		"AWS": [
			"arn:aws:iam::111122223333:root",
			"arn:aws:iam::444455556666:root",
			"arn:aws:iam::111122223333:user/UserA"
		]
	},
	"Action": [
		"kms:CreateGrant",
		"kms:ListGrants",
		"kms:RevokeGrant"
	],
	"Resource": "*",
	"Condition": {
		"Bool": {
			"kms:GrantIsForAWSResource": "true"
		}
	}
}]
}

6.    Crie e atribua uma política do IAM.

Criar a política do IAM e a atribua ao seu usuário ou grupo do IAM

Para criar uma política do IAM e atribuí-la ao seu usuário ou grupo do IAM, siga as etapas a seguir:

Observação: Se você já criou uma política do IAM, vá para a etapa 7 para atribuir essa política. 

1.    Abra o console do IAM com seu usuário que tem permissões de administrador.

2.    Escolha Políticas.

3.    Escolha Criar política.

4.    Escolha a guia JSON. Copie o exemplo de política JSON a seguir e insira-o na caixa de texto JSON. Substitua arn:aws:kms:REGION:MAINACCOUNTNUMBER:key/1a345678-1234-1234-1234-EXAMPLE pelo ARN da sua chave do AWS KMS.

{
	"Version": "2012-10-17",
	"Statement": [{
		"Sid": "AllowUseOfTheKey",
		"Effect": "Allow",
		"Action": ["kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey"],
		"Resource": ["arn:aws:kms:REGION:MAINACCOUNTNUMBER:key/1a345678-1234-1234-1234-EXAMPLE"]
	}, {
		"Sid": "AllowAttachmentOfPersistentResources",
		"Effect": "Allow",
		"Action": ["kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant"],
		"Resource": ["arn:aws:kms:REGION:MAINACCOUNTNUMBER:key/1a345678-1234-1234-1234-EXAMPLE"],
		"Condition": {
			"Bool": {
				"kms:GrantIsForAWSResource": true
			}
		}
	}]
}

5.    Escolha Revisar política. O Validador da política relatará quaisquer erros de sintaxe.

6.    Na página Revisar, digite KmsKeyUsagePolicy como nome da política. Revise o resumo da política para ver as permissões concedidas por ela e, em seguida, selecione Criar política para salvar a política. A nova política aparece na lista de políticas gerenciadas e está pronta para ser atribuída ao seu usuário ou grupo do IAM.

7.    No painel de navegação do console do IAM, escolha Políticas.

8.    Na caixa de pesquisa, insira KmsKeyUsagePolicy. Em seguida, marque a caixa ao lado de KmsKeyUsagePolicy.

9.    Escolha Ações de política e, em seguida, escolha Atribuir.

10.   Em Filtrar, escolha Usuários.

11.    Na caixa de pesquisa, insira seu nome de usuário. Em seguida, marque a caixa ao lado do seu nome de usuário.

12.    Escolha Atribuir política.

Informações relacionadas

Copiar uma AMI

Edição de chaves

Tutorial: Criar e atribuir a sua primeira política gerenciada pelo cliente

Validação de políticas do IAM

AWS OFICIAL
AWS OFICIALAtualizada há 8 meses