

Le AWS SDK pour Java 1.x a été atteint end-of-support le 31 décembre 2025. Nous vous recommandons de migrer vers le pour continuer [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html)à bénéficier des nouvelles fonctionnalités, des améliorations de disponibilité et des mises à jour de sécurité.

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.

# Fournissez des informations d'identification temporaires au AWS SDK pour Java
<a name="credentials"></a>

Pour faire des demandes à Amazon Web Services, vous devez fournir des informations d'identification AWS temporaires AWS SDK pour Java à utiliser lorsqu'il appelle les services. Vous pouvez effectuer cette opération de différentes manières :
+ Utilisez la chaîne de fournisseur d'informations d'identification par défaut *(recommandé)*.
+ Utilisez un fournisseur ou une chaîne de fournisseur d'informations d'identification spécifique (ou créez le vôtre).
+ Fournissez vous-même les informations d'identification temporaires sous forme de code.

## Utilisation de la chaîne de fournisseur d'informations d'identification par défaut
<a name="credentials-default"></a>

Lorsque vous initialisez un nouveau client de service sans fournir d'arguments, il AWS SDK pour Java tente de trouver des informations d'identification temporaires en utilisant la *chaîne de fournisseurs d'informations d'identification par défaut* implémentée par la classe [AWSCredentialsProviderChainDefault](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html). La chaîne de fournisseur d'informations d'identification par défaut recherche les informations d'identification dans l'ordre suivant :

1.  **Variables d'environnement** -`AWS_ACCESS_KEY_ID`, `AWS_SECRET_KEY` ou`AWS_SECRET_ACCESS_KEY`, et`AWS_SESSION_TOKEN`. AWS SDK pour Java Utilise la [EnvironmentVariableCredentialsProvider](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/EnvironmentVariableCredentialsProvider.html)classe pour charger ces informations d'identification.

1.  **Propriétés du système Java** -`aws.accessKeyId`, `aws.secretKey` (mais pas`aws.secretAccessKey`), et`aws.sessionToken`. AWS SDK pour Java Utilise le [SystemPropertiesCredentialsProvider](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/SystemPropertiesCredentialsProvider.html)pour charger ces informations d'identification.

1.  **Informations d'identification du jeton d'identité web** à partir de l'environnement ou du conteneur.

1.  **Le fichier de profils d'identification par défaut**, généralement situé dans `~/.aws/credentials` (l'emplacement peut varier selon la plate-forme), et partagé par de nombreux AWS SDKs et par le AWS CLI. AWS SDK pour Java Utilise le [ProfileCredentialsProvider](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/profile/ProfileCredentialsProvider.html)pour charger ces informations d'identification.

   Vous pouvez créer un fichier d'informations d'identification à l'aide de la `aws configure` commande fournie par le AWS CLI, ou vous pouvez le créer en modifiant le fichier à l'aide d'un éditeur de texte. Pour plus d'informations sur le format de fichier d'informations d'identification, voir Format de [fichier AWS d'informations d'identification](#credentials-file-format).

1.  **Informations d'identification du conteneur Amazon ECS** : chargées depuis Amazon ECS si la variable d'environnement `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` est définie. AWS SDK pour Java Utilise le [ContainerCredentialsProvider](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/ContainerCredentialsProvider.html)pour charger ces informations d'identification. Vous pouvez spécifier l'adresse IP de cette valeur.

1.  **Informations d'identification du profil d'instance** : utilisées sur les instances EC2 et fournies via le service de Amazon EC2 métadonnées. AWS SDK pour Java Utilise le [InstanceProfileCredentialsProvider](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/InstanceProfileCredentialsProvider.html)pour charger ces informations d'identification. Vous pouvez spécifier l'adresse IP de cette valeur.
**Note**  
Les informations d'identification de profil d'instance sont utilisées uniquement si la variable d'environnement `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` n'est pas définie. Pour plus d’informations, consultez [EC2ContainerCredentialsProviderWrapper](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/EC2ContainerCredentialsProviderWrapper.html).

### Définissez des informations d'identification temporaires
<a name="setting-credentials"></a>

Pour pouvoir utiliser des informations d'identification AWS temporaires, elles doivent être définies dans *au moins l'un* des emplacements précédents. Pour plus d'informations sur la définition des informations d'identification, consultez les rubriques suivantes :
+ Pour spécifier les informations d'identification dans l'*environnement* ou dans le *fichier de profils d'identification* par défaut, consultez[Configurer les informations d'identification temporaires](setup-credentials.md#setup-credentials-setting).
+ Pour définir les *propriétés système* Java, consultez le didacticiel [System Properties](http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html) sur le site web *Java Tutorials* officiel.
+ Pour configurer et utiliser les *informations d'identification du profil d'instance* avec vos instances EC2, consultez la section [Utilisation des rôles IAM pour accorder l'accès aux AWS ressources sur](java-dg-roles.md). Amazon EC2

### Définir un autre profil d'identification
<a name="setting-an-alternate-credentials-profile"></a>

 AWS SDK pour Java *Utilise le profil par défaut, mais il existe des moyens de personnaliser le profil qui provient du fichier d'informations d'identification.*

Vous pouvez utiliser la variable d'environnement AWS Profile pour modifier le profil chargé par le SDK.

Par exemple, sous Linux, macOS ou Unix, vous devez exécuter la commande suivante pour remplacer le profil par *MyProfile*.

```
export AWS_PROFILE="myProfile"
```

Sous Windows, utilisez la commande suivante.

```
set AWS_PROFILE="myProfile"
```

La définition de la variable d'`AWS_PROFILE`environnement affecte le chargement des informations d'identification pour tous les outils officiellement pris en charge AWS SDKs (y compris le AWS CLI et le AWS Tools for Windows PowerShell). Pour modifier uniquement le profil d'une application Java, vous pouvez utiliser la propriété système à la `aws.profile` place.

**Note**  
La variable d'environnement est prioritaire sur la propriété système.

### Définir un autre emplacement pour le fichier d'informations d'identification
<a name="setting-an-alternate-credentials-file-location"></a>

 AWS SDK pour Java Charge automatiquement les informations d'identification AWS temporaires à partir de l'emplacement du fichier d'informations d'identification par défaut. Cependant, vous pouvez également spécifier l'emplacement en définissant la variable d'environnement `AWS_CREDENTIAL_PROFILES_FILE` avec le chemin d'accès complet au fichier d'informations d'identification.

Vous pouvez utiliser cette fonctionnalité pour modifier temporairement l'emplacement où AWS SDK pour Java recherche votre fichier d'informations d'identification (par exemple, en définissant cette variable avec la ligne de commande). Vous pouvez également définir la variable d'environnement dans votre environnement utilisateur ou système pour modifier l'emplacement pour l'utilisateur ou l'ensemble du système.

#### Pour remplacer l'emplacement du fichier d'informations d'identification par défaut
<a name="w3aab9c15b9c11b7b1"></a>
+ Définissez la variable d'`AWS_CREDENTIAL_PROFILES_FILE`environnement sur l'emplacement de votre fichier AWS d'informations d'identification.
  + Sous Linux, macOS ou Unix, utilisez :

    ```
    export AWS_CREDENTIAL_PROFILES_FILE=path/to/credentials_file
    ```
  + Sous Windows, utilisez :

    ```
    set AWS_CREDENTIAL_PROFILES_FILE=path/to/credentials_file
    ```

### `Credentials`format de fichier
<a name="credentials-file-format"></a>

En suivant les [instructions de la section Configuration de base](signup-create-iam-user.md#setup-temp-creds) de ce guide, votre fichier d'informations d'identification doit avoir le format de base suivant.

```
[default]
aws_access_key_id=<value from AWS access portal>
aws_secret_access_key=<value from AWS access portal>
aws_session_token=<value from AWS access portal>

[profile2]
aws_access_key_id=<value from AWS access portal>
aws_secret_access_key=<value from AWS access portal>
aws_session_token=<value from AWS access portal>
```

Le nom de profil est spécifié entre crochets (par exemple, `[default]`), suivi par les champs configurables de ce profil sous la forme de paires clé-valeur. Vous pouvez avoir plusieurs profils dans votre `credentials` fichier, qui peuvent être ajoutés ou modifiés en `aws configure --profile PROFILE_NAME ` sélectionnant le profil à configurer.

Vous pouvez spécifier des champs supplémentaires, tels que`metadata_service_timeout`, et`metadata_service_num_attempts`. Ils ne sont pas configurables avec la CLI : vous devez modifier le fichier manuellement si vous souhaitez les utiliser. Pour plus d'informations sur le fichier de configuration et les champs disponibles, consultez [la section Configuration du AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) dans le guide de AWS Command Line Interface l'utilisateur.

### Charger les identifiants
<a name="loading-credentials"></a>

Une fois que vous avez défini des informations d'identification temporaires, le SDK les charge en utilisant la chaîne de fournisseurs d'informations d'identification par défaut.

Pour ce faire, vous instanciez un Service AWS client sans fournir explicitement d'informations d'identification au générateur, comme suit.

```
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                       .withRegion(Regions.US_WEST_2)
                       .build();
```

## Spécifiez un fournisseur d'informations d'identification ou une chaîne de fournisseurs
<a name="credentials-specify-provider"></a>

Vous pouvez spécifier un fournisseur d'informations d'identification autre que la chaîne de fournisseur d'informations d'identification *par défaut* à l'aide du générateur client.

Vous fournissez une instance d'un fournisseur d'informations d'identification ou d'une chaîne de fournisseurs à un générateur de clients qui prend une interface [AWSCredentialsProvider](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/AWSCredentialsProvider.html) en entrée. L'exemple suivant montre comment utiliser des informations d'identification d'*environnement*.

```
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                       .withCredentials(new EnvironmentVariableCredentialsProvider())
                       .build();
```

[Pour la liste complète des fournisseurs d'informations d'identification et des chaînes de fournisseurs AWS SDK pour Java fournis, voir **Toutes les classes d'implémentation connues** dans AWSCredentials Provider.](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/AWSCredentialsProvider.html)

**Note**  
Vous pouvez utiliser cette technique pour fournir des fournisseurs d'informations d'identification ou des chaînes de fournisseurs que vous créez en utilisant votre propre fournisseur d'informations d'identification qui implémente l'`AWSCredentialsProvider`interface, ou en sous-classant la classe. [AWSCredentialsProviderChain](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/AWSCredentialsProviderChain.html)

## Spécifiez explicitement les informations d'identification temporaires
<a name="credentials-explicit"></a>

Si la chaîne d'informations d'identification par défaut, ou un fournisseur ou une chaîne de fournisseur spécifique ou personnalisé ne fonctionne pas pour votre code, vous pouvez définir des informations d'identification que vous spécifiez explicitement. Si vous avez récupéré des informations d'identification temporaires à l'aide de AWS STS, utilisez cette méthode pour spécifier les informations d'identification pour AWS l'accès.

1. Instanciez la [BasicSessionCredentials](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/BasicSessionCredentials.html)classe et fournissez-lui la clé d' AWS accès, la clé AWS secrète et le jeton de AWS session que le SDK utilisera pour la connexion.

1. Créez un [AWSStaticCredentialsProvider](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/auth/AWSStaticCredentialsProvider.html)avec l'`AWSCredentials`objet.

1. Configurez le générateur client avec l'interface `AWSStaticCredentialsProvider` et générez le client.

Voici un exemple.

```
BasicSessionCredentials awsCreds = new BasicSessionCredentials("access_key_id", "secret_key_id", "session_token");
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                        .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
                        .build();
```

## Plus d'informations
<a name="more-info"></a>
+  [Inscrivez-vous AWS et créez un utilisateur IAM](signup-create-iam-user.md) 
+  [Configurer les AWS informations d'identification et la région pour le développement](setup-credentials.md) 
+  [Utilisation des rôles IAM pour accorder l'accès aux AWS ressources sur Amazon EC2](java-dg-roles.md) 