

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 토큰 교환 서비스
<a name="token-exchange-service-component"></a>

토큰 교환 서비스 구성 요소(`aws.greengrass.TokenExchangeService`)는 사용자 지정 구성 요소의 AWS 서비스와 상호 작용하는 데 사용할 수 있는 자격 증명을 제공합니다 AWS .

토큰 교환 서비스는 로컬 서버로 실행됩니다. 이 로컬 서버는 [Greengrass 코어 핵 구성](greengrass-nucleus-component.md) 요소에서 구성하는 AWS IoT 역할 별칭을 사용하여 AWS IoT 자격 증명 공급자에 연결합니다. 구성 요소는 두 가지 환경 변수(`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)
+ [Type](#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)
+ [Changelog](#token-exchange-service-component-changelog)

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

이 구성 요소에는 다음과 같은 버전이 있습니다.
+ 2.0.x

## Type
<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
+ Windows

## 종속성
<a name="token-exchange-service-component-dependencies"></a>

이 구성 요소에는 종속성이 없습니다.

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

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음 구성 파라미터를 제공합니다.

`port`  
토큰 교환 서비스 연결에 사용할 포트입니다. 포트 구성 변경 후 토큰 교환 서비스가 재시작됩니다.

`credentialRetryInSec`  
토큰 교환 서비스에서 자격 증명 요청 오류가 발생할 때 재시도 간격을 초 단위로 지정합니다.    
`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:\\greengrass\\v2}}를 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
  ```

------

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

다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.


|  **버전**  |  **변경 사항**  | 
| --- | --- | 
| 2.0.3 | 초기 버전입니다. | 