

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

# 보안 암호 관리자
<a name="secret-manager-component"></a>

보안 암호 관리자 구성 요소(`aws.greengrass.SecretManager`)는 Greengrass 코어 디바이스에 AWS Secrets Manager 의 보안 암호를 배포합니다. 이 구성 요소를 사용하면 Greengrass 코어 디바이스의 사용자 지정 구성 요소에서 암호와 같은 자격 증명을 안전하게 사용할 수 있습니다. Secrets Manager에 대한 자세한 내용은 *AWS Secrets Manager 사용 설명서*의 [AWS Secrets Manager란 무엇입니까?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)를 참조하세요.

사용자 지정 Greengrass 구성 요소에서 이 구성 요소의 보안 암호에 액세스하려면 AWS IoT Device SDK에서 [GetSecretValue](ipc-secret-manager.md#ipc-operation-getsecretvalue) 작업을 사용합니다. 자세한 내용은 [AWS IoT Device SDK 를 사용하여 Greengrass nucleus, 기타 구성 요소 및와 통신합니다. AWS IoT CoreGreengrass nucleus, 기타 구성 요소 및와 통신 AWS IoT Core](interprocess-communication.md) 및 [보안 암호 값 검색](ipc-secret-manager.md) 섹션을 참조하세요.

이 구성 요소는 코어 디바이스의 보안 암호를 암호화하여 자격 증명과 보안 암호를 사용해야 할 때까지 이를 안전하게 보관합니다. 코어 디바이스의 프라이빗 키를 사용하여 보안 암호를 암호화하고 해독합니다.

**Topics**
+ [버전](#secret-manager-component-versions)
+ [유형](#secret-manager-component-type)
+ [운영 체제](#secret-manager-component-os-support)
+ [요구 사항](#secret-manager-component-requirements)
+ [종속성](#secret-manager-component-dependencies)
+ [구성](#secret-manager-component-configuration)
+ [로컬 로그 파일](#secret-manager-component-log-file)
+ [Changelog](#secret-manager-component-changelog)

## 버전
<a name="secret-manager-component-versions"></a>

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

## 유형
<a name="secret-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>이 구성 요소는 플러그인 구성 요소(`aws.greengrass.plugin`)입니다. [Greengrass nucleus는](greengrass-nucleus-component.md) 이 구성 요소를 nucleus와 동일한 Java 가상 머신(JVM)에서 실행합니다. 코어 디바이스에서 구성 요소의 버전을 변경하면 nucleus가 다시 시작됩니다.

<a name="public-component-type-plugin-para2"></a>이 구성 요소에서는 Greengrass nucleus와 동일한 로그 파일이 사용됩니다. 자세한 내용은 [AWS IoT Greengrass 로그 모니터링](monitor-logs.md) 단원을 참조하십시오.

<a name="public-component-type-more-information"></a>자세한 내용은 [구성 요소 유형](develop-greengrass-components.md#component-types) 단원을 참조하십시오.

## 운영 체제
<a name="secret-manager-component-os-support"></a>

이 구성 요소는 다음 운영 체제를 실행하는 코어 디바이스에 설치할 수 있습니다.
+ Linux
+ Windows

## 요구 사항
<a name="secret-manager-component-requirements"></a>

이 구성 요소에는 다음과 같은 요구 사항이 있습니다.
+ 다음 예제 IAM 정책에 표시된 대로 [Greengrass 디바이스 역할](device-service-role.md)은 `secretsmanager:GetSecretValue` 작업을 허용해야 합니다.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "secretsmanager:GetSecretValue"
        ],
        "Effect": "Allow",
        "Resource": [
        "arn:aws:secretsmanager:us-east-1:123456789012:secret:MySecret"
        ]
      }
    ]
  }
  ```

------

  ```
  ```
**참고**  
고객 관리형 AWS Key Management Service 키를 사용하여 보안 암호를 암호화하는 경우 디바이스 역할도 `kms:Decrypt` 작업을 허용해야 합니다.

  Secrets Manager의 IAM 정책에 대한 자세한 내용은 *AWS Secrets Manager 사용 설명서*에서 다음을 참조하세요.
  + [에 대한 인증 및 액세스 제어 AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html)
  + [Actions, resources, and context keys you can use in an IAM policy or secret policy for AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html)
+ 사용자 지정 구성 요소는 `aws.greengrass#GetSecretValue`가 이 구성 요소에 저장한 보안 암호를 가져올 수 있도록 허용하는 권한 부여 정책을 정의해야 합니다. 이 권한 부여 정책에서 특정 보안 암호에 대한 구성 요소의 액세스를 제한할 수 있습니다. 자세한 내용은 [보안 암호 관리자 IPC 권한 부여](ipc-secret-manager.md#ipc-secret-manager-authorization)를 참조하세요.
+ (선택 사항) 코어 디바이스의 프라이빗 키와 인증서를 [하드웨어 보안 모듈](hardware-security.md)(HSM)에 저장하는 경우 HSM은 RSA 키를 지원해야 하며 프라이빗 키에는 `unwrap` 권한이 있어야 하고 퍼블릭 키에는 `wrap` 권한이 있어야 합니다.

### 엔드포인트 및 포트
<a name="secret-manager-component-endpoints"></a>

이 구성 요소는 기본 작업에 필요한 엔드포인트 및 포트 외에 다음 엔드포인트 및 포트에 대한 아웃바운드 요청도 수행할 수 있어야 합니다. 자세한 내용은 [프록시 또는 방화벽을 통해 디바이스 트래픽 허용](allow-device-traffic.md) 단원을 참조하십시오.


| 엔드포인트 | 포트 | 필수 | 설명 | 
| --- | --- | --- | --- | 
|  `secretsmanager.region.amazonaws.com`  | 443 | 예 |  코어 디바이스에 보안 암호를 다운로드합니다.  | 

## 종속성
<a name="secret-manager-component-dependencies"></a>

구성 요소를 배포할 때는 호환되는 버전의 종속성 AWS IoT Greengrass 도 배포합니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 모든 해당 종속성에 대한 요구 사항을 충족해야 합니다. 이 섹션에는 이 구성 요소의 [릴리스된 버전](#secret-manager-component-changelog)에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 의미 체계 버전 제약 조건이 나열되어 있습니다. [AWS IoT Greengrass 콘솔](https://console.aws.amazon.com//greengrass)에서도 각 구성 요소 버전에 대한 종속성을 볼 수 있습니다. 구성 요소 세부 정보 페이지에서 **종속성** 목록을 찾습니다.

------
#### [ 2.2.7 ]

다음 표에는 이 구성 요소의 버전 2.2.7에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.17.0 | 소프트 | 

------
#### [ 2.2.6 ]

다음 표에는 이 구성 요소의 버전 2.2.6에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.16.0 | 소프트 | 

------
#### [ 2.2.2 – 2.2.5 ]

다음 표에는이 구성 요소의 버전 2.2.2\$12.2.5에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.15.0 | 소프트 | 

------
#### [ 2.2.0 ]

다음 표에는 이 구성 요소의 버전 2.2.0에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.13.0 <2.14.0 | 소프트 | 

------
#### [ 2.1.7 – 2.1.8 ]

다음 표에는 이 구성 요소의 버전 2.1.7 및 2.1.8에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.13.0 | 소프트 | 

------
#### [ 2.1.6 ]

다음 표에는 이 구성 요소의 버전 2.1.6에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.12.0 | 소프트 | 

------
#### [ 2.1.5 ]

다음 표에는 이 구성 요소의 버전 2.1.5에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.11.0 | 소프트 | 

------
#### [ 2.1.4 ]

다음 표에는 이 구성 요소의 버전 2.1.4에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.10.0 | 소프트 | 

------
#### [ 2.1.3 ]

다음 표에는 이 구성 요소의 버전 2.1.3에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.9.0 | 소프트 | 

------
#### [ 2.1.2 ]

다음 표에는 이 구성 요소의 버전 2.1.2에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.8.0 | 소프트 | 

------
#### [ 2.1.1 ]

다음 표에는 이 구성 요소의 버전 2.1.1에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.7.0 | 소프트 | 

------
#### [ 2.1.0 ]

다음 표에는 이 구성 요소의 버전 2.1.0에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.5.0 <2.6.0 | 소프트 | 

------
#### [ 2.0.9 ]

다음 표에는 이 구성 요소의 버전 2.0.9에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.5.0  | 소프트 | 

------
#### [ 2.0.8 ]

다음 표에는 이 구성 요소의 버전 2.0.8에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.4.0  | 소프트 | 

------
#### [ 2.0.7 ]

다음 표에는 이 구성 요소의 버전 2.0.7에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.3.0  | 소프트 | 

------
#### [ 2.0.6 ]

다음 표에는 이 구성 요소의 버전 2.0.6에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.0 <2.2.0  | 소프트 | 

------
#### [ 2.0.4 and 2.0.5 ]

다음 표에는 이 구성 요소의 버전 2.0.4 및 2.0.5에 대한 종속성이 나열되어 있습니다.


| 종속성 | 호환 버전 | 종속성 유형 | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | 소프트 | 

------

구성 요소 종속성에 대한 자세한 내용은 [구성 요소 레시피 참조](component-recipe-reference.md#recipe-reference-component-dependencies)를 참조하세요.

## 구성
<a name="secret-manager-component-configuration"></a>

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

`periodicRefreshIntervalMin` (선택 사항)  
이 구성 요소가 코어 디바이스에 구성된 보안 암호를 AWS Secrets Manager 서비스의 최신 보안 암호 값과 동기화하는 분 단위 간격입니다. 이 간격이 구성되지 않은 경우 보안 암호 관리자가 구성된 보안 암호를 주기적으로 새로 고치지 않습니다.  

```
{
  "cloudSecrets": [
    {
      "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef"
    }
  ],
  "periodicRefreshIntervalMin" : 60
}
```

`cloudSecrets`  
코어 디바이스에 배포할 Secrets Manager 보안 암호의 목록. 레이블을 지정하여 배포할 각 암호의 버전을 정의할 수 있습니다. 버전을 지정하지 않으면 이 구성 요소는 스테이징 레이블 `AWSCURRENT`가 연결된 버전을 배포합니다. 자세한 내용은 *AWS Secrets Manager 사용 설명서*의 [Staging labels](https://docs.aws.amazon.com/secretsmanager/latest/userguide/terms-concepts.html#term_staging-label)를 참조하세요.  
보안 암호 관리자 구성 요소는 보안 암호를 로컬에 캐시합니다. Secrets Manager에서 보안 암호 값이 변경되는 경우 이 구성 요소는 새로운 값을 자동으로 검색하지 않습니다. 로컬 복사본을 업데이트하려면 암호에 새 레이블을 지정하고 새 레이블로 식별된 암호를 검색하도록 이 구성 요소를 구성합니다.  
각 객체에는 다음 정보가 포함되어 있습니다.    
`arn`  
배포할 암호의 ARN. 암호의 ARN은 전체 ARN 또는 부분 ARN일 수 있습니다. 부분 ARN이 아닌 전체 ARN을 지정하는 것이 좋습니다. 자세한 내용은 [Finding a secret from a partial ARN](https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot.html#ARN_secretnamehyphen)을 참조하세요. 다음은 전체 ARN과 부분 ARN의 예제입니다.  
+ 전체 ARN: `arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName-abcdef`
+ 부분 ARN: `arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName`  
`labels`  
(선택 사항) 코어 디바이스에 배포할 암호의 버전을 식별하기 위한 레이블의 목록.  
각 레이블은 문자열이어야 합니다.

**Example 예: 구성 병합 업데이트**  

```
{
  "cloudSecrets": [
    {
      "arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyGreengrassSecret-abcdef"
    }
  ]
}
```

## 로컬 로그 파일
<a name="secret-manager-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
  ```

------

## Changelog
<a name="secret-manager-component-changelog"></a>

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


|  **버전**  |  **변경 사항**  | 
| --- | --- | 
|  2.2.8  |  Greengrass nucleus 버전 2.17.0 릴리스의 구성 요소 버전을 업데이트합니다.  | 
|  2.2.7  |  Greengrass nucleus 버전 2.16.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.2.6  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.8  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.7  | Greengrass nucleus 버전 2.12.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.6  | Greengrass nucleus 버전 2.11.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.5  | Greengrass nucleus 버전 2.10.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.1.3  | Greengrass nucleus 버전 2.8.0 릴리스용으로 업데이트된 버전입니다. | 
|  2.1.2  |  Greengrass nucleus 버전 2.7.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.1.1  |  Greengrass nucleus 버전 2.6.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.0.9  |  Greengrass nucleus 버전 2.4.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.0.8  |  Greengrass nucleus 버전 2.3.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.0.7  |  Greengrass nucleus 버전 2.2.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.0.6  |  Greengrass nucleus 버전 2.1.0 릴리스용으로 업데이트된 버전입니다.  | 
|  2.0.5  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/secret-manager-component.html)  | 
|  2.0.4  |  초기 버전입니다.  | 