Openflow BYOC - Configurer les volumes EBS chiffrés¶
Ce chapitre décrit les étapes de la configuration d’un déploiement Openflow BYOC avec des volumes EBS (Elastic Block Storage) chiffrés en utilisant l’une des méthodes suivantes :
Fournir une clé AWS KMS spécifique pour les volumes EBS chiffrés
Activer les volumes EBS chiffrés par défaut pour votre compte AWS
Ces deux solutions fournissent des volumes EBS chiffrés qui répondent aux exigences de stockage d’Openflow BYOC suivantes :
Volume racine pour l’instance Openflow Agent EC2
Volumes racines pour les instances EC2 dans chaque groupe de nœuds de cluster EKS
Volumes persistants pour les environnements d’exécution d’Openflow et les composants de soutien
Note
$AWS_ACCOUNT_IDreprésente l’ID du compte AWS où Openflow est déployé.$AWS_REGIONreprésente la région AWS du compte, par exempleus-west-2.$AWS_KMS_KEY_ARNreprésente le nom de la ressource Amazon (ARN, Amazon, Resource Name) du service de gestion des clés (AWS KMS, Amazon Key Management Service) qu’Openflow utilisera pour les volumes EBS chiffrés.$DEPLOYMENT_KEYreprésente l’identificateur unique Openflow appliqué aux ressources Cloud créées et gérées par Openflow pour un déploiement particulier. Cet identificateur se trouve dans le paramètreDataPlaneKeydu modèle CloudFormation, également disponible dans Openflow via l’option de menu View Details pour le déploiement.
Conditions préalables¶
Cette rubrique suppose que vous avez rempli les conditions préalables pour la configuration d’Openflow BYOC. Pour plus d’informations, voir Configuration d’Openflow - BYOC.
Vous devez également avoir accès à une clé AWS KMS qu’Openflow utilisera pour les volumes EBS chiffrés.
Fournir une clé AWS KMS spécifique pour les volumes EBS chiffrés¶
Lors du chargement du modèle CloudFormation pour votre déploiement Openflow BYOC, vous pouvez fournir l’ARN pour la clé AWS KMS qu’Openflow utilise pour les volumes EBS chiffrés.
En utilisant cette configuration, Openflow effectue des requêtes pour des volumes EBS chiffrés pour garantir que toutes les politiques SCP sont satisfaites. Snowflake recommande cette approche à la plupart des clients.
Cela vous permet d’utiliser différentes clés KMS pour différentes applications, réduisant ainsi le risque qu’une clé soit compromise.
Pour vous assurer qu’Openflow dispose des autorisations nécessaires pour utiliser cette clé, effectuez les tâches suivantes :
Assurez-vous que la clé AWS KMS accorde des autorisations au rôle du service de mise à l’échelle automatique AWS. La politique de clés doit inclure l’instruction suivante :
{ "Sid": "Allow Autoscaling to use the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::$AWS_ACCOUNT_ID:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling" }, "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }
Entrez l’ARN de la clé AWS KMS dans le paramètre
EBSKMSKeyArnde la pile CloudFormation lors du chargement du modèle.Par exemple,
arn:aws:kms:$AWS_REGION:$AWS_ACCOUNT_ID:key/1a1a11aa-aa1a-aaa1a-a1a1-000000000000.Environ 20 minutes après le chargement du modèle CloudFormation, le déploiement d’Openflow BYOC crée un nouveau rôle IAM avec le nom
$DEPLOYMENT_KEY-eks-role.Ajoutez l’instruction suivante à la politique de clés KMS pour autoriser Openflow à utiliser la clé :
{ "Sid": "Allow Openflow Deployment to encrypt EBS volumes", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::$AWS_ACCOUNT_ID:role/$DEPLOYMENT_KEY-eks-role" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*" }
Openflow détecte automatiquement les nouvelles autorisations pour la clé KMS et poursuit le processus d’installation. Le déploiement d’Openflow BYOC aura le statut Active au bout d’environ 20 minutes.
Activer les volumes EBS chiffrés par défaut pour votre compte AWS¶
Les comptes AWS peuvent chiffrer de nouveaux volumes EBS par défaut en suivant la documentation sur le chiffrement par défaut AWS EBS.
Avec cette configuration, Openflow effectue des requêtes pour des volumes EBS non chiffrés, mais l’API AWS renverra un volume EBS chiffré. Les étapes suivantes permettent d’accorder à Openflow les autorisations nécessaires pour utiliser la clé KMS pour ces volumes chiffrés.
Si vous choisissez d’utiliser la clé gérée AWS aws/ebs ou votre propre clé KMS, vous devez joindre une politique IAM au rôle IAM d’Openflow $DEPLOYMENT_KEY-eks-role qui accorde les autorisations nécessaires pour utiliser la clé.
Créez une politique IAM pour permettre à Openflow d’utiliser la clé KMS en remplaçant
$AWS_KMS_KEY_ARNpar l’ARN de la clé KMS.{ "Sid": "Allow Openflow EKS Role to encrypt EBS volumes", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "$AWS_KMS_KEY_ARN" }
Assurez-vous que la clé AWS KMS accorde des autorisations au rôle du service de mise à l’échelle automatique AWS. La politique de clés doit inclure l’instruction suivante :
{ "Sid": "Allow Autoscaling to use the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::$AWS_ACCOUNT_ID:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling" }, "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }
Lors du chargement du modèle CloudFormation d’Openflow BYOC :
Laissez le paramètre facultatif
EBSKMSKeyArnvide.Définissez le paramètre
AdditionalEksRolePolicyArnsavec l’ARN de la nouvelle politique IAM créée précédemment. Par exemple,arn:aws:iam::$AWS_ACCOUNT_ID:policy/openflow-kms-key-access-policy.
Environ 20 minutes après le chargement du modèle CloudFormation, le déploiement d’Openflow BYOC crée un nouveau rôle IAM avec le nom
$DEPLOYMENT_KEY-eks-role.Ajoutez l’instruction suivante à la politique de clés KMS pour autoriser Openflow à utiliser la clé :
{ "Sid": "Allow Openflow Deployment to encrypt EBS volumes", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::$AWS_ACCOUNT_ID:role/$DEPLOYMENT_KEY-eks-role" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*" }
Openflow détecte automatiquement les nouvelles autorisations pour la clé KMS et poursuit le processus d’installation. Le déploiement d’Openflow BYOC aura le statut Active au bout d’environ 20 minutes.