

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.

# `env`fournisseur dans le SDK pour PHP
<a name="env-provider"></a>

L'utilisation de variables d'environnement pour contenir vos informations d'identification vous empêche de partager accidentellement votre clé d'accès AWS secrète. Nous vous recommandons de ne jamais ajouter vos clés AWS d'accès directement au client dans les fichiers de production.

Pour vous authentifier auprès d'Amazon Web Services, le SDK vérifie d'abord les informations d'identification dans vos variables d'environnement. Le kit SDK utilise la fonction `getenv()` pour rechercher les variables d'environnement `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` et `AWS_SESSION_TOKEN`. Ces informations d’identification sont appelées informations d’identification d’environnement. Pour savoir comment obtenir ces valeurs, voir [Authentifier à l'aide d'informations d'identification à court terme](https://docs.aws.amazon.com/sdkref/latest/guide/access-temp-idc.html) dans le *guide de référence AWS SDKs and Tools*.

Si vous hébergez votre application sur [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_PHP_eb.html), vous pouvez définir les variables d'`AWS_SESSION_TOKEN`environnement `AWS_ACCESS_KEY_ID``AWS_SECRET_KEY`, et [via la AWS Elastic Beanstalk console](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-softwaresettings.html#environments-cfg-softwaresettings-console) afin que le SDK puisse utiliser ces informations d'identification automatiquement.

Pour plus d'informations sur la définition des variables d'environnement, consultez la section [Prise en charge des variables d'environnement](https://docs.aws.amazon.com/sdkref/latest/guide/environment-variables.html) dans le *Guide de référence des outils AWS SDKs et*. De plus, pour une liste de toutes les variables d'environnement prises en charge par la plupart AWS SDKs, voir [Liste des variables d'environnement](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html#EVarSettings).

Vous pouvez également définir les variables d'environnement dans la ligne de commande, comme indiqué ici.

 **Linux** 

```
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
   # The access key for your Compte AWS.
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   # The secret access key for your Compte AWS.
$ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of security token>
   # The temporary session key for your Compte AWS. 
   # The AWS_SECURITY_TOKEN environment variable can also be used, but is only supported for backward compatibility purposes.
   # AWS_SESSION_TOKEN is supported by multiple AWS SDKs other than PHP.
```

 **Windows** 

```
C:\> SET  AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
   # The access key for your Compte AWS.
C:\> SET  AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   # The secret access key for your Compte AWS.
C:\> SET AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of security token>
   # The temporary session key for your Compte AWS. 
   # The AWS_SECURITY_TOKEN environment variable can also be used, but is only supported for backward compatibility purposes.
   # AWS_SESSION_TOKEN is supported by multiple AWS SDKs besides PHP.
```

 `Aws\Credentials\CredentialProvider::env` tente de charger les informations d'identification à partir des variables d'environnement.

```
use Aws\Credentials\CredentialProvider;
use Aws\S3\S3Client;

$client = new S3Client([
    'region'      => 'us-west-2',
    'version'     => '2006-03-01',
    'credentials' => CredentialProvider::env()
]);
```