

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# トークン交換サービス
<a name="token-exchange-service-component"></a>

トークン交換サービスコンポーネント (`aws.greengrass.TokenExchangeService`) は AWS 、カスタムコンポーネントの AWS サービスとやり取りするために使用できる認証情報を提供します。

トークン交換サービスはローカルサーバーとして実行されます。このローカルサーバーは、[Greengrass コア nucleus コンポーネント](greengrass-nucleus-component.md)で設定した AWS IoT ロールエイリアスを使用して AWS IoT 認証情報プロバイダーに接続します。このコンポーネントは、2 つの環境変数 `AWS_CONTAINER_CREDENTIALS_FULL_URI` および `AWS_CONTAINER_AUTHORIZATION_TOKEN` を提供します。`AWS_CONTAINER_CREDENTIALS_FULL_URI` はこのローカルサーバーへの URI を定義します。コンポーネントが AWS SDK クライアントを作成すると、クライアントはこの URI 環境変数を認識し、 のトークンを使用してトークン交換サービス`AWS_CONTAINER_AUTHORIZATION_TOKEN`に接続し、 AWS 認証情報を取得します。これにより、Greengrass コアデバイスは AWS サービスオペレーションを呼び出すことができます。カスタムコンポーネントでこのコンポーネントを使用する方法の詳細については、「[AWS サービスとやり取り](interact-with-aws-services.md)」を参照してください。

**重要**  <a name="token-exchange-service-aws-sdk-requirement"></a>
この方法で AWS 認証情報を取得するサポートが 2016 年 7 月 13 日に AWS SDKs に追加されました。コンポーネントは、その日以降に作成された AWS SDK バージョンを使用する必要があります。詳細については、*「Amazon Elastic Container Service* [デベロッパーガイド」の「サポートされている AWS SDK](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#task-iam-roles-minimum-sdk) の使用」を参照してください。

**注記**  
 AWS デフォルトの認証情報チェーンを使用するコンポーネントは、存在する場合、他の認証情報のソースを検出して使用することがあります。Amazon Elastic Container Service (Amazon ECS) 内のコンテナ認証情報`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`は、 よりも優先されます。つまり`AWS_CONTAINER_CREDENTIALS_FULL_URI`、トークン交換サービスの認証情報は Amazon Elastic Container Service (Amazon ECS) 内で機能しない可能性があります。詳細については、[「標準化された認証情報プロバイダー](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html)」を参照してください。

**Topics**
+ [バージョン](#token-exchange-service-component-versions)
+ [タイプ](#token-exchange-service-component-type)
+ [オペレーティングシステム](#token-exchange-service-component-os-support)
+ [依存関係](#token-exchange-service-component-dependencies)
+ [設定](#token-exchange-service-component-configuration)
+ [ローカルログファイル](#token-exchange-service-component-log-file)
+ [変更ログ](#token-exchange-service-component-changelog)

## バージョン
<a name="token-exchange-service-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.0.x

## タイプ
<a name="token-exchange-service-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="token-exchange-service-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

## 依存関係
<a name="token-exchange-service-component-dependencies"></a>

このコンポーネントに依存関係はありません。

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

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

`port`  
トークン交換サービス接続に使用するポート。トークン交換サービスは、ポート設定の変更後に再起動します。

`credentialRetryInSec`  
Token Exchange Service で認証情報リクエストエラーが発生した場合の再試行間隔を秒単位で指定します。    
`clientError`  
クライアントエラーの再試行間隔 (4xx HTTP ステータスコード）。  
デフォルト: `120`  
有効な値: `10`～`42900`  
`serverError`  
サーバーエラーの再試行間隔 (5xx HTTP ステータスコード）。  
デフォルト: `60`  
有効な値: `10`～`42900`  
`unknownError`  
不明なエラー (接続エラーと 4xx および 5xx 範囲外の HTTP ステータスコード) の再試行間隔。  
デフォルト: `300`  
有効な値: `10`～`42900`

**Example 例: 設定マージの更新**  

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

## ローカルログファイル
<a name="token-exchange-service-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

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

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

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

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

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

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

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

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

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

------

## 変更ログ
<a name="token-exchange-service-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|  **バージョン**  |  **変更**  | 
| --- | --- | 
|  2.0.3  |  当初のバージョン  | 