

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
<a name="https-storingprivatekeys"></a>

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 [Ressources](environment-resources.md)et [fichiers](customize-containers-ec2.md#linux-files) d'un [fichier de configuration](ebextensions.md), qui télécharge un fichier de clé privée à partir d'un compartiment Amazon S3.

**Example .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](concepts-roles-instance.md) 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](iam-instanceprofile.md#iam-instanceprofile-addperms).

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](https-singleinstance.md).

Le profil d'instance attribué aux EC2 instances de votre environnement doit être autorisé à lire l'objet clé dans le compartiment spécifié. [Assurez-vous que le profil d'instance est autorisé](iam-instanceprofile.md#iam-instanceprofile-verify) à 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](https://console.aws.amazon.com/s3/home).

1. Choisissez un compartiment.

1. Choisissez **Properties**, puis **Autorisations**.

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

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