Créer une clé AWS KMS

Présentation

GKE sur AWS utilise des clés symétriques AWS Key Management Service (KMS) gérées par le client pour chiffrer les éléments suivants :

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 :

aws --region AWS_REGION kms create-key \
    --description "KEY_DESC"

Remplacez les éléments suivants :

  • AWS_REGION par le nom de votre région AWS
  • 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 N/A kms:Encrypt
kms:Decrypt
N/A N/A
Chiffrement du volume principal du plan de contrôle du cluster kms:GenerateDataKeyWithoutPlaintext kms:CreateGrant N/A N/A
Chiffrement du volume racine du plan de contrôle du cluster N/A N/A N/A Consultez les sections concernant les règles de clé qui autorisent l'accès à la clé gérée par le client.
Chiffrement de la configuration du pool de nœuds kms:Encrypt N/A kms:Decrypt N/A
Chiffrement du volume racine du pool de nœuds N/A N/A N/A Consultez les sections concernant les règles de clé qui autorisent l'accès à la clé gérée par le client.
Autres conditions requises kms:DescribeKey N/A N/A N/A

Étape suivante