Ayude a mejorar esta página
Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.
Habilitación del cifrado de volúmenes de EBS con claves de KMS administradas por el cliente para el modo automático de EKS
Puede cifrar el volumen raíz efímero de las instancias en el modo automático de EKS con una clave de KMS administrada por el cliente.
El modo automático de Amazon EKS utiliza roles vinculados a servicios para delegar permisos a otros servicios de AWS al administrar volúmenes de EBS cifrados para los clústeres de Kubernetes. Este tema describe cómo configurar la política de claves que necesita al especificar una clave administrada por el cliente para el cifrado de Amazon EBS con el modo automático de EKS.
Consideraciones:
-
El modo automático de EKS no necesita autorización adicional para usar la clave administrada por AWS predeterminada para proteger los volúmenes cifrados en la cuenta.
-
Este tema aborda el cifrado de volúmenes efímeros, es decir, los volúmenes raíz de las instancias de EC2. Para obtener más información sobre el cifrado de volúmenes de datos utilizados para cargas de trabajo, consulte Creación de una clase de almacenamiento.
Descripción general
Las siguientes claves de AWS KMS se pueden utilizar para el cifrado del volumen raíz de Amazon EBS cuando el modo automático de EKS lanza instancias:
-
Clave administrada por AWS: una clave de cifrado en la cuenta que Amazon EBS crea, posee y administra. Esta es la clave de cifrado predeterminada en las cuentas nuevas.
-
Clave administrada por el cliente: una clave de cifrado personalizada que usted crea, posee y administra.
nota
La clave debe ser simétrica. Amazon EBS no es compatible con claves asimétricas administradas por el cliente.
Paso 1: configuración de la política de claves
Las claves de KMS deben tener una política de claves que permita al modo automático de EKS lanzar instancias con volúmenes de Amazon EBS cifrados mediante una clave administrada por el cliente.
Configure la política de claves con la siguiente estructura:
nota
Esta política solo incluye permisos para el modo automático de EKS. Es posible que la política de claves necesite permisos adicionales si otras identidades deben usar la clave o administrar concesiones.
{ "Version":"2012-10-17", "Id": "MyKeyPolicy", "Statement": [ { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789012:role/ClusterServiceRole" ] }, "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::123456789012:role/ClusterServiceRole" ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }
Asegúrese de reemplazar <account-id> con el ID real de cuenta de AWS.
Al configurar la política de claves:
-
El
ClusterServiceRoledebe tener los permisos necesarios de IAM para usar la clave de KMS en operaciones de cifrado. -
La condición
kms:GrantIsForAWSResourcegarantiza que las concesiones solo se puedan crear para servicios de AWS.
Paso 2: configuración de NodeClass con la clave administrada por el cliente
Después de configurar la política de claves, haga referencia a la clave de KMS en la configuración de NodeClass del modo automático de EKS:
apiVersion: eks.amazonaws.com/v1 kind: NodeClass metadata: name: my-node-class spec: # Insert existing configuration ephemeralStorage: size: "80Gi" # Range: 1-59000Gi or 1-64000G or 1-58Ti or 1-64T iops: 3000 # Range: 3000-16000 throughput: 125 # Range: 125-1000 # KMS key for encryption kmsKeyID: "arn:aws:kms:<region>:<account-id>:key/<key-id>"
Sustituya los valores de marcador de posición por los valores reales.
-
<region>por la región de AWS -
<account-id>por el ID de cuenta de AWS -
<key-id>por el ID de la clave de KMS
Puede especificar la clave de KMS con cualquiera de los siguientes formatos:
-
ID de clave de KMS:
1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d -
ARN de clave de KMS:
arn:aws:kms:us-west-2:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d -
Nombre del alias de la clave:
alias/eks-auto-mode-key -
ARN del alias de la clave:
arn:aws:kms:us-west-2:111122223333:alias/eks-auto-mode-key
Use kubectl para aplicar la configuración de NodeClass:
kubectl apply -f nodeclass.yaml
Activos relacionados
-
Consulte más información en la Guía para desarrolladores de AWS Key Management Service