

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.

# Service d'échange de jetons
<a name="token-exchange-service-component"></a>

Le composant de service d'échange de jetons (`aws.greengrass.TokenExchangeService`) fournit des AWS informations d'identification que vous pouvez utiliser pour interagir avec les AWS services de vos composants personnalisés.

Le service d'échange de jetons fonctionne comme un serveur local. Ce serveur local se connecte au fournisseur AWS IoT d'informations d'identification à l'aide de l'alias de AWS IoT rôle que vous configurez dans le composant central du [noyau de Greengrass](greengrass-nucleus-component.md). Le composant fournit deux variables d'environnement, `AWS_CONTAINER_CREDENTIALS_FULL_URI` et`AWS_CONTAINER_AUTHORIZATION_TOKEN`. `AWS_CONTAINER_CREDENTIALS_FULL_URI`définit l'URI de ce serveur local. Lorsqu'un composant crée un client AWS SDK, le client reconnaît cette variable d'environnement URI et utilise le jeton contenu dans le `AWS_CONTAINER_AUTHORIZATION_TOKEN` pour se connecter au service d'échange de jetons et récupérer les AWS informations d'identification. Cela permet aux appareils principaux de Greengrass d'appeler les opérations de AWS service. Pour plus d'informations sur l'utilisation de ce composant dans des composants personnalisés, consultez[Interagissez avec les AWS services](interact-with-aws-services.md).

**Important**  <a name="token-exchange-service-aws-sdk-requirement"></a>
Support pour acquérir des AWS informations d'identification de cette manière a été ajouté AWS SDKs le 13 juillet 2016. Votre composant doit utiliser une version du AWS SDK créée à cette date ou après cette date. Pour plus d'informations, consultez la section [Utilisation d'un AWS SDK compatible](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#task-iam-roles-minimum-sdk) dans le manuel *Amazon Elastic Container Service Developer Guide*.

**Note**  
Les composants utilisant la chaîne d'informations d'identification AWS par défaut peuvent découvrir et utiliser d'autres sources d'informations d'identification, si elles existent. Au sein d'Amazon Amazon Elastic Container Service (Amazon ECS), les `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` informations d'identification du conteneur seront prioritaires`AWS_CONTAINER_CREDENTIALS_FULL_URI`, ce qui signifie que les informations d'identification du service d'échange de jetons peuvent ne pas fonctionner au sein d'Amazon Elastic Container Service (Amazon ECS). Pour en savoir plus, consultez les [fournisseurs d'identifiants standardisés](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) 

**Topics**
+ [Versions](#token-exchange-service-component-versions)
+ [Type](#token-exchange-service-component-type)
+ [Système d’exploitation](#token-exchange-service-component-os-support)
+ [Dépendances](#token-exchange-service-component-dependencies)
+ [Configuration](#token-exchange-service-component-configuration)
+ [Fichier journal local](#token-exchange-service-component-log-file)
+ [Journal des modifications](#token-exchange-service-component-changelog)

## Versions
<a name="token-exchange-service-component-versions"></a>

Les versions de ce composant sont les suivantes :
+ 2.0.x

## Type
<a name="token-exchange-service-component-type"></a>

<a name="public-component-type-generic"></a>Ce <a name="public-component-type-generic-phrase"></a>composant est un composant générique (`aws.greengrass.generic`). Le [noyau Greengrass](greengrass-nucleus-component.md) exécute les scripts de cycle de vie du composant.

<a name="public-component-type-more-information"></a>Pour de plus amples informations, veuillez consulter [Types de composant](develop-greengrass-components.md#component-types).

## Système d’exploitation
<a name="token-exchange-service-component-os-support"></a>

Ce composant peut être installé sur les appareils principaux qui exécutent les systèmes d'exploitation suivants :
+ Linux
+ Windows

## Dépendances
<a name="token-exchange-service-component-dependencies"></a>

Ce composant n'a aucune dépendance.

## Configuration
<a name="token-exchange-service-component-configuration"></a>

Ce composant fournit les paramètres de configuration suivants que vous pouvez personnaliser lorsque vous déployez le composant.

`port`  
Port à utiliser pour les connexions au service d'échange de jetons. Le service d'échange de jetons redémarrera une fois la configuration du port modifiée.

`credentialRetryInSec`  
Spécifie les intervalles entre les tentatives en secondes lorsque le service Token Exchange rencontre des erreurs de demande d'informations d'identification.    
`clientError`  
Intervalle entre les tentatives en secondes pour les erreurs du client (4xx codes d'état HTTP).  
Par défaut: `120`  
Valeurs valides : de `10` à `42900`  
`serverError`  
Intervalle entre les tentatives en secondes pour les erreurs du serveur (5xx codes d'état HTTP).  
Par défaut: `60`  
Valeurs valides : de `10` à `42900`  
`unknownError`  
Intervalle entre les tentatives en secondes pour les erreurs inconnues (erreurs de connexion et codes d'état HTTP en dehors des plages 4xx et 5xx).  
Par défaut: `300`  
Valeurs valides : de `10` à `42900`

**Example Exemple : mise à jour de la fusion de configurations**  

```
{
   "port": 2020,
   "credentialRetryInSec": {
    "clientError": 30,
    "serverError": 45,
    "unknownError": 60
   }
}
```

## Fichier journal local
<a name="token-exchange-service-component-log-file"></a>

Ce composant utilise le même fichier journal que le composant [Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
{{/greengrass/v2}}/logs/greengrass.log
```

------
#### [ Windows ]

```
{{C:\greengrass\v2}}\logs\greengrass.log
```

------

**Pour consulter les journaux de ce composant**
+ Exécutez la commande suivante sur le périphérique principal pour afficher le fichier journal de ce composant en temps réel. Remplacez `{{/greengrass/v2}}` ou {{C:\\greengrass\\v2}} par le chemin d'accès au dossier AWS IoT Greengrass racine.

------
#### [ Linux ]

  ```
  sudo tail -f {{/greengrass/v2}}/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content {{C:\greengrass\v2}}\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Journal des modifications
<a name="token-exchange-service-component-changelog"></a>

Le tableau suivant décrit les modifications apportées à chaque version du composant.


|  **Version**  |  **Modifications**  | 
| --- | --- | 
| 2.0.3 | Première version. | 