Volumes EBS pour le chiffrement au repos des données du plan de contrôle et du pool de nœuds
Pour les environnements de production, nous vous recommandons d'utiliser différentes clés pour la configuration et le chiffrement du volume. Pour réduire davantage les risques si une clé est compromise, vous pouvez également créer des clés différentes pour chacun des éléments suivants :
Pour renforcer la sécurité, vous pouvez créer une stratégie de clé KMS AWS qui n'attribue que l'ensemble minimal d'autorisations requis. Pour en savoir plus, consultez la page Créer des clés KMS avec des autorisations spécifiques.
Créer une clé AWS KMS
Pour créer une clé, exécutez la commande suivante :
KEY_DESC par une description textuelle de votre clé
Pour chaque clé que vous créez, enregistrez la valeur KeyMetadata.Arn dans la sortie de la commande pour une utilisation ultérieure.
Créer des clés KMS avec des autorisations spécifiques
Si vous créez des clés distinctes pour différentes fonctions, vous devez fournir une règle de clé KMS pour chaque clé, qui accorde les autorisations appropriées. Si vous ne spécifiez pas de stratégie de clé lorsque vous créez une clé, AWS KMS crée une stratégie de clé par défaut qui attribue à tous les comptes principaux du compte propriétaire un accès illimité à toutes les opérations de la clé.
Lorsque vous créez une stratégie de clé, vous devez autoriser une stratégie AWS IAM à accéder à la stratégie de clé. La stratégie de clé doit également autoriser votre compte à utiliser les stratégies IAM. Sans autorisation de la stratégie de clé, les stratégies IAM qui autorisent les autorisations n'ont aucun effet. Pour en savoir plus, consultez la section Règles de clé dans KMS AWS.
Le tableau suivant décrit les autorisations de chacun des rôles AWS IAM utilisés par GKE sur AWS.
Rôle d'agent de service de l'API GKE Multi-cloud
Rôle du plan de contrôle
Rôle du pool de nœuds
Rôle de service AWS pour l'autoscaling
Chiffrement de la configuration du plan de contrôle du cluster
kms:Encrypt
kms:Decrypt
N/A
N/A
Chiffrement des bases de données du plan de contrôle du cluster
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/22 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/22 (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)."]]