Stockage sécurisé des clés privées dans Amazon S3 - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Stockage sécurisé des clés privées dans Amazon S3

La clé privée qui vous permet de vous connecter à votre certificat public est privée et ne doit pas être validée dans le code source. Vous pouvez éviter de stocker les clés privées dans les fichiers de configuration en les chargeant dans Amazon S3 et en configurant Elastic Beanstalk pour télécharger le fichier à partir d'Amazon S3 lors du déploiement de l'application.

L'exemple suivant décrit les sections Ressourceset fichiers d'un fichier de configuration, qui télécharge un fichier de clé privée à partir d'un compartiment Amazon S3.

Exemple .ebextensions/privatekey.config
Resources: AWSEBAutoScalingGroup: Metadata: AWS::CloudFormation::Authentication: S3Auth: type: "s3" buckets: ["elasticbeanstalk-us-west-2-123456789012"] roleName: "Fn::GetOptionSetting": Namespace: "aws:autoscaling:launchconfiguration" OptionName: "IamInstanceProfile" DefaultValue: "aws-elasticbeanstalk-ec2-role" files: # Private key "/etc/pki/tls/certs/server.key": mode: "000400" owner: root group: root authentication: "S3Auth" source: https://elasticbeanstalk-us-west-2-123456789012.s3.us-west-2.amazonaws.com/server.key

Remplacez l'URL et le nom de compartiment figurant dans l'exemple par vos propres valeurs. La première entrée du fichier ajoute une méthode d'authentification nommée S3Auth aux métadonnées du groupe Auto Scaling de l'environnement. Si vous avez configuré un profil d'instance personnalisé pour votre environnement, il est utilisé. Sinon, c'est la valeur par défaut du fichier aws-elasticbeanstalk-ec2-role qui s'applique. Le profil d'instance par défaut est autorisé à lire les données du compartiment de stockage Elastic Beanstalk. Si vous utilisez un autre compartiment, ajoutez des autorisations au profil d'instance.

La deuxième entrée utilise la méthode d'authentification S3Auth pour télécharger la clé privée à partir de l'URL spécifiée et pour l'enregistrer dans /etc/pki/tls/certs/server.key. Le serveur proxy peut ensuite lire la clé privée à partir de cet emplacement afin de mettre les connexions HTTPS hors service dans l'instance.

Le profil d'instance affecté aux instances EC2 de votre environnement doit être autorisé à lire l'objet clé à partir du compartiment spécifié. Assurez-vous que le profil d'instance est autorisé à lire l'objet dans IAM, et que les autorisations sur le compartiment et l'objet n'entraînent pas d'interdiction pour le profil d'instance.

Pour afficher les autorisations d'un compartiment
  1. Ouvrez la console de gestion Amazon S3.

  2. Choisissez un compartiment.

  3. Choisissez Properties, puis Autorisations.

  4. Vérifiez que votre compte bénéficie d'une autorisation de lecture sur le compartiment.

  5. Si une stratégie de compartiment est attachée, choisissez Stratégie de compartiment pour afficher les autorisations attribuées au compartiment.