

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Layanan pertukaran token
<a name="token-exchange-service-component"></a>

Komponen layanan pertukaran token (`aws.greengrass.TokenExchangeService`) menyediakan AWS kredensil yang dapat Anda gunakan untuk berinteraksi dengan AWS layanan di komponen kustom Anda.

Layanan pertukaran token berjalan sebagai server lokal. [Server lokal ini terhubung ke penyedia AWS IoT kredensial menggunakan alias AWS IoT peran yang Anda konfigurasikan dalam komponen inti inti Greengrass.](greengrass-nucleus-component.md) Komponen ini menyediakan dua variabel lingkungan, `AWS_CONTAINER_CREDENTIALS_FULL_URI` dan`AWS_CONTAINER_AUTHORIZATION_TOKEN`. `AWS_CONTAINER_CREDENTIALS_FULL_URI`mendefinisikan URI ke server lokal ini. Saat komponen membuat klien AWS SDK, klien mengenali variabel lingkungan URI ini dan menggunakan token di dalamnya `AWS_CONTAINER_AUTHORIZATION_TOKEN` untuk terhubung ke layanan pertukaran token dan mengambil AWS kredensil. Hal ini memungkinkan perangkat inti Greengrass untuk memanggil operasi layanan AWS . Untuk informasi lebih lanjut tentang cara menggunakan komponen dalam komponen kustom Anda, lihat [Berinteraksi dengan AWS layanan](interact-with-aws-services.md).

**penting**  <a name="token-exchange-service-aws-sdk-requirement"></a>
Support untuk memperoleh AWS kredensil dengan cara ini ditambahkan AWS SDKs pada tanggal 13 Juli 2016. Komponen Anda harus menggunakan versi AWS SDK yang dibuat pada atau setelah tanggal tersebut. Untuk informasi selengkapnya, lihat [Menggunakan AWS SDK yang didukung](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#task-iam-roles-minimum-sdk) di *Panduan Pengembang Layanan Amazon Elastic Container*.

**catatan**  
Komponen yang menggunakan Rantai Kredenal AWS Default dapat menemukan dan menggunakan sumber kredensil lain, jika ada. Di dalam Amazon Amazon Elastic Container Service (Amazon ECS), `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` kredenal kontainer Elastic Container Service (Amazon ECS) akan `AWS_CONTAINER_CREDENTIALS_FULL_URI` lebih diutamakan, yang berarti bahwa kredensil layanan pertukaran token mungkin tidak berfungsi dalam Amazon Elastic Container Service (Amazon ECS). Untuk selengkapnya, lihat penyedia [kredensi standar](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) 

**Topics**
+ [Versi](#token-exchange-service-component-versions)
+ [Tipe](#token-exchange-service-component-type)
+ [Sistem operasi](#token-exchange-service-component-os-support)
+ [Dependensi](#token-exchange-service-component-dependencies)
+ [Konfigurasi](#token-exchange-service-component-configuration)
+ [File log lokal](#token-exchange-service-component-log-file)
+ [Changelog](#token-exchange-service-component-changelog)

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

Komponen ini memiliki versi berikut:
+ 2.0.x

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

<a name="public-component-type-generic"></a><a name="public-component-type-generic-phrase"></a>Komponen ini adalah komponen generik (`aws.greengrass.generic`). Inti [Greengrass](greengrass-nucleus-component.md) menjalankan skrip siklus hidup komponen.

<a name="public-component-type-more-information"></a>Untuk informasi selengkapnya, lihat [Jenis komponen](develop-greengrass-components.md#component-types).

## Sistem operasi
<a name="token-exchange-service-component-os-support"></a>

Komponen ini dapat diinstal pada perangkat inti yang menjalankan sistem operasi berikut:
+ Linux
+ Windows

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

Komponen ini tidak memiliki dependensi apa pun.

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

Komponen ini menyediakan parameter konfigurasi berikut yang dapat Anda sesuaikan ketika Anda men-deploy komponen.

`port`  
Port yang digunakan untuk koneksi layanan pertukaran token. Layanan pertukaran token akan dimulai ulang setelah konfigurasi port berubah.

`credentialRetryInSec`  
Menentukan interval coba lagi dalam hitungan detik saat Token Exchange Service mengalami kesalahan permintaan kredenal.    
`clientError`  
Interval coba lagi dalam hitungan detik untuk kesalahan klien (kode status HTTP 4xx).  
Default: `120`  
Nilai valid: `10` hingga `42900`  
`serverError`  
Interval coba lagi dalam hitungan detik untuk kesalahan server (kode status HTTP 5xx).  
Default: `60`  
Nilai valid: `10` hingga `42900`  
`unknownError`  
Interval coba lagi dalam hitungan detik untuk kesalahan yang tidak diketahui (kesalahan koneksi dan kode status HTTP di luar rentang 4xx dan 5xx).  
Default: `300`  
Nilai valid: `10` hingga `42900`

**Example Contoh: Pembaruan gabungan konfigurasi**  

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

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

Komponen ini menggunakan file log yang sama dengan komponen inti [Greengrass](greengrass-nucleus-component.md).

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

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

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

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

------

**Untuk melihat log komponen ini**
+ Jalankan perintah berikut pada perangkat inti untuk melihat file log komponen ini secara real time. Ganti `{{/greengrass/v2}}` atau {{C:\\greengrass\\v2}} dengan jalur ke folder AWS IoT Greengrass root.

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

Tabel berikut menjelaskan perubahan dalam setiap versi komponen.


|  **Versi**  |  **Perubahan**  | 
| --- | --- | 
| 2.0.3 | Versi awal. | 