¿Por qué no puedo lanzar instancias de EC2 desde mi AMI copiada?

4 minutos de lectura
0

He copiado mi imagen de máquina de Amazon (AMI) a otra cuenta o región de AWS. Sin embargo, no puedo lanzar instancias de Amazon Elastic Compute Cloud (Amazon EC2) desde la AMI copiada.

Descripción corta

Si no tiene los siguientes permisos, no podrá lanzar instancias desde una AMI copiada con un Amazon Elastic Block Store (Amazon EBS) cifrado:

  • La política de claves administradas por el cliente de AWS Key Management Service (AWS KMS) carece de las entidades principales correspondientes para permitir que la cuenta solicitante acceda a la AMI.
  • La entidad de AWS Identity and Access Management (IAM) de la cuenta solicitante no tiene los permisos de AWS KMS necesarios para la clave de AWS KMS entre cuentas del volumen.

Resolución

Activar el acceso entre cuentas a las claves personalizadas de AWS KMS existentes en la AMI copiada

Para obtener instrucciones detalladas, consulte Compartir claves de cifrado personalizadas de forma más segura entre cuentas mediante AWS Key Management Service.

Configurar los permisos para que las instancias de EC2 puedan acceder a la clave de AWS KMS

1.    Abra la consola de AWS KMS.
Nota: Asegúrese de estar en la región correcta.

2.    Elija Claves administradas por el cliente y, a continuación, seleccione la clave correspondiente.

3.    En Política de claves, desplácese hacia abajo hasta Usuarios clave. Compruebe que en la sección Usuarios clave se enumeren todas las cuentas y usuarios internos y externos que necesitan acceso a la clave.

4.    Si falta alguna cuenta o usuario en la sección Usuarios clave, seleccione Cambiar a vista de política en Política de claves.
Nota: Si ha editado manualmente la política de claves de AWS KMS en algún momento, esta solo estará disponible en la vista de la política (JSON).

5.    Compruebe que la instrucción Permitir el uso de la clave en la política de claves es correcta. La instrucción debe incluir el ARN de todas las cuentas y usuarios que necesitan acceder a la clave.

El siguiente es un fragmento de ejemplo de la instrucción Permitir el uso de la clave en la política de claves predeterminada. El ejemplo incluye los siguientes ARN:

  • La cuenta de AWS externa que contiene la AMI copiada.
  • La cuenta principal de la AMI.
  • Un usuario de la cuenta externa.

Para obtener una descripción general y un ejemplo de toda la política de claves predeterminada, consulte Política de claves predeterminada.

{
	"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.    Cree y asigne una política de IAM.

Crear la política de IAM y adjuntarla al usuario o grupo de IAM

Para crear una política de IAM y adjuntarla a su usuario o grupo de IAM, siga estos pasos:

Nota: Si ya ha creado una política de IAM, continúe con el paso 7 para adjuntarla. 

1.    Inicie sesión en la consola de IAM con el usuario que tiene permisos de administrador.

2.    Elija Políticas.

3.    Elija Crear política.

4.    Elija la pestaña JSON. Copie el siguiente ejemplo de política JSON y péguelo en el cuadro de texto JSON. Sustituya arn:aws:kms:REGION:MAINACCOUNTNUMBER:key/1a345678-1234-1234-1234-EXAMPLE por el ARN de la clave de 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.    Elija Revisar política. El validador de políticas informa de cualquier error de sintaxis.

6.    En la página Revisión, escriba KmsKeyUsagePolicy en el nombre de la política. Revise el resumen de la política para ver los permisos que otorga la política y, a continuación, elija Crear política para guardarla. La nueva política aparece en la lista de políticas administradas y está lista para adjuntarla a su usuario o grupo de IAM.

7.    En el panel de navegación de la consola de IAM, seleccione Políticas.

8.    En el cuadro de búsqueda, escriba KmsKeyUsagePolicy. Luego, marque la casilla que está al lado de KmsKeyUsagePolicy.

9.    Elija Acciones de la política y, a continuación, elija Adjuntar.

10.   En Filtrar, seleccione Usuarios.

11.    En el cuadro de búsqueda, introduzca su nombre de usuario. Luego, marque la casilla que está al lado del nombre.

12.    Elija Adjuntar política.

Información relacionada

Copiar una AMI

Edición de claves

Tutorial: crear y asociar su primera política administrada por el cliente

Validación de políticas de IAM

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 7 meses