

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Servicio de intercambio de token
<a name="token-exchange-service-component"></a>

El componente del servicio de intercambio de tokens (`aws.greengrass.TokenExchangeService`) proporciona AWS credenciales que puede usar para interactuar con AWS los servicios de sus componentes personalizados.

El servicio de intercambio de fichas se ejecuta como un servidor local. Este servidor local se conecta al proveedor de AWS IoT credenciales mediante el alias de AWS IoT rol que usted configura en el componente [core core de Greengrass.](greengrass-nucleus-component.md) El componente proporciona dos variables de entorno, `AWS_CONTAINER_CREDENTIALS_FULL_URI` y `AWS_CONTAINER_AUTHORIZATION_TOKEN`. `AWS_CONTAINER_CREDENTIALS_FULL_URI` define el URI de este servidor local. Cuando un componente crea un cliente AWS SDK, el cliente reconoce esta variable de entorno URI y utiliza el token que contiene `AWS_CONTAINER_AUTHORIZATION_TOKEN` para conectarse al servicio de intercambio de fichas y recuperar AWS las credenciales. Esto permite que los dispositivos principales de Greengrass llamen a las operaciones de servicio de AWS . Para obtener más información sobre cómo utilizar este componente en componentes personalizados, consulte [Interacción con servicios de AWS](interact-with-aws-services.md).

**importante**  <a name="token-exchange-service-aws-sdk-requirement"></a>
El 13 de julio de 2016 se agregó el AWS SDKs soporte para adquirir AWS credenciales de esta manera. Su componente debe usar una versión AWS del SDK que se haya creado en esa fecha o después. Para obtener más información, consulte [Uso de un AWS SDK compatible](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#task-iam-roles-minimum-sdk) en la *Guía para desarrolladores de Amazon Elastic Container Service*.

**nota**  
Los componentes que utilizan la cadena de credenciales AWS predeterminada pueden descubrir y utilizar otras fuentes de credenciales, si existen. Dentro del Amazon Elastic Container Service (Amazon ECS), las credenciales de contenedor prevalecerán `AWS_CONTAINER_CREDENTIALS_FULL_URI` sobre `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` las credenciales, lo que significa que las credenciales del servicio de intercambio de fichas pueden no funcionar en Amazon Elastic Container Service (Amazon ECS). Para obtener más información, consulte los proveedores de [credenciales estandarizados](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) 

**Topics**
+ [Versiones](#token-exchange-service-component-versions)
+ [Tipo](#token-exchange-service-component-type)
+ [Sistema operativo](#token-exchange-service-component-os-support)
+ [Dependencias](#token-exchange-service-component-dependencies)
+ [Configuración](#token-exchange-service-component-configuration)
+ [Archivo de registro local](#token-exchange-service-component-log-file)
+ [Registros de cambios](#token-exchange-service-component-changelog)

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

Este componente tiene las siguientes versiones:
+ 2.0.x

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

<a name="public-component-type-generic"></a>Este <a name="public-component-type-generic-phrase"></a>componente es un componente genérico (`aws.greengrass.generic`). El [núcleo de Greengrass](greengrass-nucleus-component.md) ejecuta los scripts del ciclo de vida del componente.

<a name="public-component-type-more-information"></a>Para obtener más información, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

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

Este componente se puede instalar en los dispositivos principales que ejecutan los siguientes sistemas operativos:
+ Linux
+ Windows

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

Este componente no tiene ninguna dependencia.

## Configuración
<a name="token-exchange-service-component-configuration"></a>

Este componente ofrece los siguientes parámetros de configuración que puede personalizar cuando implemente el componente.

`port`  
Puerto que se utilizará para las conexiones del servicio de intercambio de token. El servicio de intercambio de tokens se reiniciará tras los cambios en la configuración del puerto.

`credentialRetryInSec`  
Especifica los intervalos de reintento en segundos cuando Token Exchange Service detecta errores en la solicitud de credenciales.    
`clientError`  
El intervalo de reintento en segundos para los errores del cliente (4 xx códigos de estado HTTP).  
Valor predeterminado: `120`  
Valores válidos: de `10` a `42900`  
`serverError`  
El intervalo de reintento en segundos para los errores del servidor (5 xx códigos de estado HTTP).  
Valor predeterminado: `60`  
Valores válidos: de `10` a `42900`  
`unknownError`  
El intervalo de reintento en segundos para errores desconocidos (errores de conexión y códigos de estado HTTP fuera de los rangos 4xx y 5xx).  
Valor predeterminado: `300`  
Valores válidos: de `10` a `42900`

**Example Ejemplo: actualización de la combinación de configuraciones**  

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

## Archivo de registro local
<a name="token-exchange-service-component-log-file"></a>

Este componente utiliza el mismo archivo de registro que el componente [núcleo de Greengrass](greengrass-nucleus-component.md).

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

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

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

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

------

**Visualización de los registros de este componente**
+ Ejecute el siguiente comando en el dispositivo de núcleo para ver el archivo de registro de este componente en tiempo real. Sustituya `/greengrass/v2` o *C:\$1greengrass\$1v2* por la ruta a la AWS IoT Greengrass carpeta raíz.

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

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

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

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

------

## Registros de cambios
<a name="token-exchange-service-component-changelog"></a>

En la siguiente tabla, se describen los cambios en cada versión del componente.


|  **Versión**  |  **Cambios**  | 
| --- | --- | 
|  2.0.3  |  Versión inicial.  | 