Esta documentación es para la versión actual de GKE en AWS, publicada en noviembre de 2021. Consulta las notas de la versión para obtener más información.
Los volúmenes de EBS para la encriptación en reposo de los datos del plano de control y del grupo de nodos
En entornos de producción, recomendamos usar diferentes claves para la configuración y la encriptación de volumen. Para minimizar aún más los riesgos si una clave se vulnera, también puedes crear claves diferentes para cada uno de los siguientes elementos:
Para mayor seguridad, puedes crear una política de claves de AWS KMS que asigne solo el conjunto mínimo de permisos necesarios. Para obtener más información, consulta Crea claves de KMS con permisos específicos.
Crear una clave de KMS de AWS
Para crear una clave, ejecuta el siguiente comando:
Por cada clave que crees, guarda el valor llamado KeyMetadata.Arn en el resultado de este comando para usarlo más adelante.
Crea claves de KMS con permisos específicos
Si creas claves separadas para diferentes funciones, debes proporcionar una política de clave de KMS para cada clave que otorgue los permisos adecuados en esa clave. Si no especificas una política de clave cuando creas una clave, AWS KMS creará una política de clave predeterminada que otorgue a todas las principales de la cuenta propietaria acceso ilimitado a todas las operaciones de la clave.
Cuando creas una política de clave, debes permitir que una política de IAM de AWS acceda a la política de clave. La política de claves también debe otorgar permisos a tu cuenta para usar políticas de IAM. Sin el permiso de la política de claves, las políticas de IAM que permiten permisos no tienen ningún efecto. Para obtener más información, consulta Políticas clave en AWS KMS.
En la siguiente tabla, se describen los permisos para cada uno de los roles de IAM de AWS que usa GKE en AWS.
Rol del agente de servicio de la API de GKE Multi-Cloud
Rol del plano de control
Rol del grupo de nodos
Rol del servicio de AWS para el ajuste de escala automático
Encriptación de configuración del plano de control del clúster
kms:Encrypt
kms:Decrypt
N/A
N/A
Encriptación de la base de datos del plano de control del clúster
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2024-07-02 (UTC)"],[],[],null,["# Create an AWS KMS key\n\nOverview\n--------\n\nGKE on AWS uses customer-managed\n[AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)\n(KMS) symmetric keys to encrypt:\n\n- Kubernetes state data in [etcd](https://kubernetes.io/docs/concepts/overview/components/#etcd)\n- EC2 instance [user data](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)\n- EBS volumes for [at-rest encryption](/kubernetes-engine/multi-cloud/docs/aws/concepts/security#at-rest_data_encryption) of control plane and node pool data\n\nFor production environments, we recommend using different keys for configuration\nand volume encryption. To further minimize risks if a key is compromised, you\ncan also create different keys for each of the following:\n\n- Cluster control plane [configuration](/sdk/gcloud/reference/container/aws/clusters/create#--config-encryption-kms-key-arn)\n- Cluster control plane [database](/sdk/gcloud/reference/container/aws/clusters/create#--database-encryption-kms-key-arn)\n- Cluster control plane [main volume](/sdk/gcloud/reference/container/aws/clusters/create#--main-volume-kms-key-arn)\n- Cluster control plane [root volume](/sdk/gcloud/reference/container/aws/clusters/create#--root-volume-kms-key-arn)\n- Node pool [configuration](/sdk/gcloud/reference/container/aws/node-pools/create#--config-encryption-kms-key-arn)\n- Node pool [root volume](/sdk/gcloud/reference/container/aws/node-pools/create#--root-volume-kms-key-arn)\n\nFor additional security, you can create an AWS KMS key policy that assigns only\nthe minimum required set of permissions. For more information, see\n[Creating KMS keys with specific permissions](/kubernetes-engine/multi-cloud/docs/aws/how-to/create-aws-kms-key#specific-permissions).\n\nCreate an AWS KMS key\n---------------------\n\nTo create a key, run the following command: \n\n aws --region \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eAWS_REGION\u003c/span\u003e\u003c/var\u003e kms create-key \\\n --description \"\u003cvar translate=\"no\"\u003eKEY_DESC\u003c/var\u003e\"\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eAWS_REGION\u003c/var\u003e with the name of your AWS region\n- \u003cvar translate=\"no\"\u003eKEY_DESC\u003c/var\u003e with a text description of your key\n\nFor each key you create, save the value named `KeyMetadata.Arn` in the output of\nthis command for later use.\n\nCreating KMS keys with specific permissions\n-------------------------------------------\n\nIf you create separate keys for different functions, you need to provide a\n[KMS key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)\nfor each key that grants appropriate permissions on that key. If you don't\nspecify a key policy when you create a key, AWS KMS will create a default key\npolicy that gives all\n[principals](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-principal)\nin the owning account unlimited access to all operations for the key.\n\nWhen you create a key policy, you must allow an AWS IAM policy access to the key\npolicy. The key policy must also give your account permissions to use IAM\npolicies. Without permission from the key policy, IAM policies that allow\npermissions have no effect. For more information, see\n[Key policies in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html).\n\nThe following table describes the permissions for each of the\n[AWS IAM roles](/kubernetes-engine/multi-cloud/docs/aws/concepts/aws-iam-roles) GKE on AWS\nuses.\n\nWhat's next\n-----------\n\n- [Create an SSH key pair](/kubernetes-engine/multi-cloud/docs/aws/how-to/create-ssh-keypair)."]]