

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Serviço de troca de token
<a name="token-exchange-service-component"></a>

O componente do serviço de troca de tokens (`aws.greengrass.TokenExchangeService`) fornece AWS credenciais que você pode usar para interagir com AWS serviços em seus componentes personalizados.

O serviço de troca de tokens é executado como um servidor local. Esse servidor local se conecta ao provedor de AWS IoT credenciais usando o alias de AWS IoT função que você configura no componente núcleo principal do [Greengrass](greengrass-nucleus-component.md). O componente fornece duas variáveis de ambiente. `AWS_CONTAINER_CREDENTIALS_FULL_URI` e `AWS_CONTAINER_AUTHORIZATION_TOKEN`. O `AWS_CONTAINER_CREDENTIALS_FULL_URI` define o URI para esse servidor local. Quando um componente cria um cliente AWS SDK, o cliente reconhece essa variável de ambiente do URI e usa o token no `AWS_CONTAINER_AUTHORIZATION_TOKEN` para se conectar ao serviço de troca de tokens e recuperar AWS as credenciais. Isso permite que os dispositivos principais do Greengrass chamem as operações de serviço da AWS . Para obter mais informações sobre como usar esse componente, consulte [Interaja com AWS os serviços](interact-with-aws-services.md).

**Importante**  <a name="token-exchange-service-aws-sdk-requirement"></a>
Support para adquirir AWS credenciais dessa forma foi adicionado ao AWS SDKs em 13 de julho de 2016. Seu componente deve usar uma versão do AWS SDK criada nessa data ou após essa data. Para obter mais informações, consulte Como [usar um AWS SDK compatível](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#task-iam-roles-minimum-sdk) no *Amazon Elastic Container Service Developer Guide*.

**nota**  
Os componentes que usam a cadeia de credenciais AWS padrão podem descobrir e usar outras fontes de credenciais, se existirem. No Amazon Amazon Elastic Container Service (Amazon ECS), as credenciais de contêiner terão `AWS_CONTAINER_CREDENTIALS_FULL_URI` precedência, o que significa que `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` as credenciais do serviço de troca de tokens podem não funcionar no Amazon Elastic Container Service (Amazon ECS). Para saber mais, consulte provedores de [credenciais padronizados](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) 

**Topics**
+ [Versões](#token-exchange-service-component-versions)
+ [Tipo](#token-exchange-service-component-type)
+ [Sistema operacional](#token-exchange-service-component-os-support)
+ [Dependências](#token-exchange-service-component-dependencies)
+ [Configuração](#token-exchange-service-component-configuration)
+ [Arquivo de log local](#token-exchange-service-component-log-file)
+ [Changelog](#token-exchange-service-component-changelog)

## Versões
<a name="token-exchange-service-component-versions"></a>

Esse componente tem as seguintes versões:
+ 2.0.x

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

<a name="public-component-type-generic"></a>Esse <a name="public-component-type-generic-phrase"></a>é um componente genérico (`aws.greengrass.generic`). O [Greengrass nucleus](greengrass-nucleus-component.md) executa os scripts do ciclo de vida do componente.

<a name="public-component-type-more-information"></a>Para obter mais informações, consulte [Tipos de componente](develop-greengrass-components.md#component-types).

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

Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
+ Linux
+ Windows

## Dependências
<a name="token-exchange-service-component-dependencies"></a>

Esse componente não tem nenhuma dependência.

## Configuração
<a name="token-exchange-service-component-configuration"></a>

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

`port`  
A porta a ser usada para conexões de serviço de troca de tokens. O serviço de troca de tokens será reiniciado após as alterações na configuração da porta.

`credentialRetryInSec`  
Especifica intervalos de repetição em segundos quando o Token Exchange Service encontra erros de solicitação de credencial.    
`clientError`  
O intervalo de repetição em segundos para erros do cliente (códigos de status HTTP 4xx).  
Padrão: `120`  
Valores válidos: `10` a `42900`  
`serverError`  
O intervalo de repetição em segundos para erros do servidor (códigos de status HTTP 5xx).  
Padrão: `60`  
Valores válidos: `10` a `42900`  
`unknownError`  
O intervalo de repetição em segundos para erros desconhecidos (erros de conexão e códigos de status HTTP fora dos intervalos 4xx e 5xx).  
Padrão: `300`  
Valores válidos: `10` a `42900`

**Example Exemplo: atualização da mesclagem de configuração**  

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

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

Esse componente usa o mesmo arquivo de log do componente de [Greengrass nucleus](greengrass-nucleus-component.md).

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

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

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

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

------

**Para ver os logs desse componente**
+ Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz.

------
#### [ 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>

A tabela a seguir descreve as alterações em cada versão do componente.


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
|  2.0.3  |  Versão inicial.  | 