

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Servizio di scambio di token
<a name="token-exchange-service-component"></a>

Il componente del servizio di scambio di token (`aws.greengrass.TokenExchangeService`) fornisce AWS credenziali che è possibile utilizzare per interagire con AWS i servizi dei componenti personalizzati.

Il servizio di scambio di token funziona come server locale. Questo server locale si connette al provider di AWS IoT credenziali utilizzando l'alias del AWS IoT ruolo configurato nel componente core nucleus di [Greengrass](greengrass-nucleus-component.md). Il componente fornisce due variabili di ambiente e. `AWS_CONTAINER_CREDENTIALS_FULL_URI` `AWS_CONTAINER_AUTHORIZATION_TOKEN` `AWS_CONTAINER_CREDENTIALS_FULL_URI`definisce l'URI di questo server locale. Quando un componente crea un client AWS SDK, il client riconosce questa variabile di ambiente URI e utilizza il token in `AWS_CONTAINER_AUTHORIZATION_TOKEN` per connettersi al servizio di scambio di token e recuperare AWS le credenziali. Ciò consente ai dispositivi core Greengrass di chiamare le operazioni di AWS assistenza. Per ulteriori informazioni su come utilizzare questo componente nei componenti personalizzati, vedere[Interagisci con AWS i servizi](interact-with-aws-services.md).

**Importante**  <a name="token-exchange-service-aws-sdk-requirement"></a>
Il supporto per l'acquisizione di AWS credenziali in questo modo è stato aggiunto il 13 AWS SDKs luglio 2016. Il componente deve utilizzare una versione AWS SDK creata a partire da tale data. Per ulteriori informazioni, consulta [Using a support AWS SDK](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#task-iam-roles-minimum-sdk) nella *Amazon Elastic Container Service Developer Guide*.

**Nota**  
I componenti che utilizzano la catena di credenziali AWS predefinita possono scoprire e utilizzare altre fonti di credenziali, se esistenti. All'interno del container Amazon Elastic Container Service (Amazon ECS), `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` le credenziali del contenitore Amazon Elastic Container Service (Amazon ECS) avranno la precedenza`AWS_CONTAINER_CREDENTIALS_FULL_URI`, il che significa che le credenziali del servizio di scambio di token potrebbero non funzionare all'interno di Amazon Elastic Container Service (Amazon ECS). [Per ulteriori informazioni, consulta i fornitori di credenziali standardizzati](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) 

**Topics**
+ [Versioni](#token-exchange-service-component-versions)
+ [Tipo](#token-exchange-service-component-type)
+ [Sistema operativo](#token-exchange-service-component-os-support)
+ [Dipendenze](#token-exchange-service-component-dependencies)
+ [Configurazione](#token-exchange-service-component-configuration)
+ [File di registro locale](#token-exchange-service-component-log-file)
+ [Changelog](#token-exchange-service-component-changelog)

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

Questo componente ha le seguenti versioni:
+ 2.0.x

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

<a name="public-component-type-generic"></a>Questo <a name="public-component-type-generic-phrase"></a>componente è un componente generico (`aws.greengrass.generic`). Il [nucleo Greengrass](greengrass-nucleus-component.md) esegue gli script del ciclo di vita del componente.

<a name="public-component-type-more-information"></a>Per ulteriori informazioni, consulta [Tipi di componenti](develop-greengrass-components.md#component-types).

## Sistema operativo
<a name="token-exchange-service-component-os-support"></a>

Questo componente può essere installato su dispositivi principali che eseguono i seguenti sistemi operativi:
+ Linux
+ Windows

## Dipendenze
<a name="token-exchange-service-component-dependencies"></a>

Questo componente non ha alcuna dipendenza.

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

Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare quando si distribuisce il componente.

`port`  
La porta da utilizzare per le connessioni al servizio di scambio di token. Il servizio di scambio di token verrà riavviato dopo le modifiche alla configurazione delle porte.

`credentialRetryInSec`  
Speciifica gli intervalli di tentativi in secondi quando il servizio Token Exchange rileva errori di richiesta di credenziali.    
`clientError`  
L'intervallo di tentativi in secondi per gli errori del client (4xx codici di stato HTTP).  
Default: `120`  
Valori validi: da `10` a `42900`  
`serverError`  
L'intervallo di tentativi in secondi per gli errori del server (5xx codici di stato HTTP).  
Default: `60`  
Valori validi: da `10` a `42900`  
`unknownError`  
L'intervallo di tentativi in secondi per errori sconosciuti (errori di connessione e codici di stato HTTP al di fuori degli intervalli 4xx e 5xx).  
Default: `300`  
Valori validi: da `10` a `42900`

**Example Esempio: fusione e aggiornamento della configurazione**  

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

## File di registro locale
<a name="token-exchange-service-component-log-file"></a>

Questo componente utilizza lo stesso file di registro del componente [Greengrass nucleus](greengrass-nucleus-component.md).

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

```
/greengrass/v2/logs/greengrass.log
```

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

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

------

**Per visualizzare i log di questo componente**
+ Esegui il seguente comando sul dispositivo principale per visualizzare il file di registro di questo componente in tempo reale. Sostituisci `/greengrass/v2` o *C:\$1greengrass\$1v2* con il percorso della cartella AWS IoT Greengrass principale.

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

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

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

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

------

## Changelog
<a name="token-exchange-service-component-changelog"></a>

La tabella seguente descrive le modifiche in ogni versione del componente.


|  **Versione**  |  **Modifiche**  | 
| --- | --- | 
|  2.0.3  |  Versione iniziale.  | 