

지원 종료 공지: 2026년 10월 7일에는에 대한 지원을 중단할 AWS 예정입니다 AWS IoT Greengrass Version 1. 2026년 10월 7일 이후에는 더 이상 AWS IoT Greengrass V1 리소스에 액세스할 수 없습니다. 자세한 내용은 [에서 마이그레이션 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)을 참조하세요.

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

# Greengrass 서비스 역할
<a name="service-role"></a>

Greengrass 서비스 역할은가 사용자를 대신하여 서비스의 리소스에 액세스할 AWS IoT Greengrass 수 있도록 권한을 부여하는 AWS Identity and Access Management (IAM) AWS 서비스 역할입니다. 이렇게 하면 AWS IoT Greengrass 가 AWS Lambda 함수 검색 및 AWS IoT 섀도우 관리와 같은 필수 작업을 수행할 수 있습니다.

가 리소스 AWS IoT Greengrass 에 액세스하도록 허용하려면 Greengrass 서비스 역할을 AWS 계정 와 연결하고를 신뢰할 수 있는 엔터 AWS IoT Greengrass 티로 지정해야 합니다. 역할에는 [ AWSGreengrassResourceAccessRolePolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy) 관리형 정책 또는 사용하는 AWS IoT Greengrass 기능에 대해 동등한 권한을 정의하는 사용자 지정 정책이 포함되어야 합니다. 이 정책은에서 AWS 유지 관리하며가 AWS 리소스에 액세스하는 데 AWS IoT Greengrass 사용하는 권한 세트를 정의합니다.

에서 동일한 Greengrass 서비스 역할을 재사용할 수 AWS 리전있지만 사용하는 모든 AWS 리전 의 계정과 연결해야 합니다 AWS IoT Greengrass. 현재 AWS 계정 및 리전에 서비스 역할이 없는 경우 그룹 배포가 실패합니다.

다음 섹션에서는 AWS Management Console 또는에서 Greengrass 서비스 역할을 생성하고 관리하는 방법을 설명합니다 AWS CLI.
+ [서비스 역할 관리(콘솔)](#manage-service-role-console)
+ [서비스 역할 관리(CLI)](#manage-service-role-cli)

**참고**  
서비스 수준 액세스를 승인하는 서비스 역할 외에도 *그룹에 그룹 역할을* 할당할 수 있습니다 AWS IoT Greengrass . 그룹 역할은 그룹의 Greengrass Lambda 함수 및 커넥터가 AWS 서비스에 액세스하는 방법을 제어하는 별도의 IAM 역할입니다.

## Greengrass 서비스 역할 관리(콘솔)
<a name="manage-service-role-console"></a>

 AWS IoT 콘솔을 사용하면 Greengrass 서비스 역할을 쉽게 관리할 수 있습니다. 예를 들어 Greengrass 그룹을 생성하거나 배포할 때 콘솔 AWS 계정 은 콘솔에서 현재 선택된의 Greengrass 서비스 역할에 AWS 리전 이 연결되어 있는지 확인합니다. 연결이 되어 있지 않으면 콘솔이 사용자를 대신하여 서비스 역할을 생성 및 구성할 수 있습니다. 자세한 내용은 [Greengrass 서비스 역할 생성(콘솔)](#create-service-role-console) 단원을 참조하십시오.

콘솔을 사용하여 다음 역할 관리 작업을 수행할 수 있습니다 AWS IoT .
+ [Greengrass 서비스 역할 검색](#get-service-role-console)
+ [Greengrass 서비스 역할 생성](#create-service-role-console)
+ [Greengrass 서비스 역할 변경](#update-service-role-console)
+ [Greengrass 서비스 역할 분리](#remove-service-role-console)

**참고**  
콘솔에 로그인한 사용자는 해당 서비스 역할을 보고, 생성하고, 변경할 수 있는 권한을 가져야 합니다.

 

### Greengrass 서비스 역할 검색(콘솔)
<a name="get-service-role-console"></a>

다음 단계에 따라 현재에서 사용 AWS IoT Greengrass 중인 서비스 역할을 찾습니다 AWS 리전.

1. <a name="iot-settings"></a>[AWS IoT 콘솔](https://console.aws.amazon.com/iot/)의 탐색 창에서 **설정**을 선택합니다.

1. **Greengrass service role(Greengrass 서비스 역할)** 섹션으로 스크롤하여 서비스 역할과 그 정책을 확인합니다.

   서비스 역할이 표시되지 않으면 콘솔에게 사용자를 대신해 역할을 생성 또는 구성하도록 할 수 있습니다. 자세한 내용은 [Greengrass 서비스 역할 생성](#create-service-role-console) 단원을 참조하십시오.

 

### Greengrass 서비스 역할 생성(콘솔)
<a name="create-service-role-console"></a>

콘솔이 사용자를 대신하여 기본 Greengrass 서비스 역할을 생성 및 구성할 수 있습니다. 이 역할에는 다음 속성이 있습니다.


| 속성 | 값 | 
| --- | --- | 
| 이름 | Greengrass\_ServiceRole | 
| 신뢰할 수 있는 엔터티. | AWS service: greengrass | 
| 정책 | [AWSGreengrassResourceAccessRolePolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy) | 

**참고**  
[Greengrass 장치 설정](quick-start.md)에서 서비스 역할을 생성하는 경우 역할 이름은 `GreengrassServiceRole_{{random-string}}`입니다.

 AWS IoT 콘솔에서 Greengrass 그룹을 생성하거나 배포할 때 콘솔은 콘솔에서 현재 선택된 AWS 계정 AWS 리전 에서 Greengrass 서비스 역할이와 연결되어 있는지 확인합니다. 그렇지 않은 경우 콘솔에서가 사용자를 대신하여 AWS 서비스를 읽고 쓸 수 AWS IoT Greengrass 있도록 허용하라는 메시지가 표시됩니다.

권한을 부여하는 경우, 콘솔은 `Greengrass_ServiceRole` 이라는 이름의 역할이 AWS 계정계정에 존재하는지 여부를 확인합니다.
+ 역할이 있는 경우 콘솔은 현재의 AWS 계정 에 서비스 역할을 연결합니다 AWS 리전.
+ 역할이 없는 경우 콘솔은 기본 Greengrass 서비스 역할을 생성하여 현재의 AWS 계정 에 연결합니다 AWS 리전.

**참고**  
사용자 지정 역할 정책을 사용하여 서비스를 생성하려는 경우에는 IAM 콘솔을 사용하여 역할을 생성하거나 수정하세요. 자세한 내용은 *IAM 사용 설명서*의 [AWS 서비스에 권한을 위임할 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) 또는 [역할 수정을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html). 역할이 사용하는 기능 및 리소스에 대한 `AWSGreengrassResourceAccessRolePolicy` 관리형 정책과 동일한 권한을 부여하는지 확인합니다. 혼동된 대리자 보안 문제를 방지하려면 신뢰 정책에 `aws:SourceArn` 및 `aws:SourceAccount` 글로벌 조건 컨텍스트 키도 포함하는 것이 좋습니다.** 조건 컨텍스트 키는 지정된 계정 및 Greengrass 작업 영역에서 들어오는 요청만 허용하도록 액세스를 제한합니다. 혼동된 대리자 문제에 대한 자세한 내용은, [교차 서비스 혼동된 대리인 방지](cross-service-confused-deputy-prevention.md)를 참조하세요.  
서비스 역할을 생성하는 경우 AWS IoT 콘솔로 돌아가 해당 역할을 그룹에 연결합니다. 그룹 **설정** 페이지의 **Greengrass 서비스 역할**에서 이 작업을 수행할 수 있습니다.

 

### Greengrass 서비스 역할 변경(콘솔)
<a name="update-service-role-console"></a>

다음 절차에 따라 콘솔 AWS 계정 에서 AWS 리전 현재 선택한의에 연결할 다른 Greengrass 서비스 역할을 선택합니다.

1. <a name="iot-settings"></a>[AWS IoT 콘솔](https://console.aws.amazon.com/iot/)의 탐색 창에서 **설정**을 선택합니다.

1. **Greengrass 서비스 역할**에서 **역할 선택**을 선택합니다.

   **Greengrass 서비스 역할 업데이트** 대화 상자가 열리고에서 신뢰할 수 있는 엔터 AWS IoT Greengrass 티로 AWS 계정 정의하는 IAM 역할이 표시됩니다.

1. 연결할 Greengrass 서비스 역할을 선택합니다.

1. **역할 연결**을 선택합니다.

**참고**  
콘솔이 사용자를 대신해 기본 Greengrass 서비스 역할을 생성하도록 허용하려면 목록에서 역할을 선택하는 대신 **Create role for me(사용자를 대신해 역할 생성)**를 선택합니다. 사용자의 AWS 계정에 이름이 `Greengrass_ServiceRole`인 역할이 있는 경우 **나를 위한 역할 생성** 링크가 표시되지 않습니다.

 

### Greengrass 서비스 역할 분리(콘솔)
<a name="remove-service-role-console"></a>

다음 절차에 따라 콘솔에서 AWS 리전 현재 선택한의 AWS 계정 에서 Greengrass 서비스 역할을 분리합니다. 이렇게 하면 AWS IoT Greengrass 가 현재의 AWS 서비스에 액세스할 수 있는 권한이 취소됩니다 AWS 리전.

**중요**  
서비스 역할을 분리하면 진행 중인 작업에 방해가 될 수 있습니다.

1. <a name="iot-settings"></a>[AWS IoT 콘솔](https://console.aws.amazon.com/iot/)의 탐색 창에서 **설정**을 선택합니다.

1. **Greengrass 서비스 역할**에서 **분리**를 선택합니다.

1. 확인 대화 상자에서 **분리(Detach)**를 선택합니다.

**참고**  
역할이 더 이상 필요하지 않으면 IAM 콘솔에서 이를 삭제할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*에서 [역할 또는 인스턴스 프로파일 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html)를 참조하세요.  
다른 역할은가 리소스에 액세스 AWS IoT Greengrass 하도록 허용할 수 있습니다. AWS IoT Greengrass 이(가) 사용자를 대신하여 권한을 위임할 수 있는 모든 역할을 찾으려면 IAM 콘솔의 **역할** 페이지의 **신뢰할 수 있는 엔터티** 열에서 **AWS 서비스: greengrass**가 포함된 역할을 찾아보십시오.

## Greengrass 서비스 역할 관리(CLI)
<a name="manage-service-role-cli"></a>

다음 절차에서는 AWS 계정 ID를 사용하도록 AWS CLI 가 설치 및 구성되어 있다고 가정합니다. 자세한 내용은 *AWS Command Line Interface 사용 설명서*[의 AWS 명령줄 인터페이스 설치](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 및 [구성을 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) 참조하세요.

다음 역할 관리 작업에 AWS CLI 를 사용할 수 있습니다.
+ [Greengrass 서비스 역할 가져오기](#get-service-role)
+ [Greengrass 서비스 역할 생성](#create-service-role)
+ [Greengrass 서비스 역할 제거](#remove-service-role)

 

### Greengrass 서비스 역할 가져오기(CLI)
<a name="get-service-role"></a>

다음 절차에 따라 Greengrass 서비스 역할이 AWS 계정 의와 연결되어 있는지 확인합니다 AWS 리전.
+ 서비스 역할을 가져옵니다. {{region}}을 로 바꿉니다 AWS 리전 (예: `us-west-2`).

  ```
  aws Greengrass get-service-role-for-account --region {{region}}
  ```

  Greengrass 서비스 역할이 계정과 이미 연결되어 있는 경우 다음 역할 메타데이터가 반환됩니다.

  ```
  {
    "AssociatedAt": "{{timestamp}}",
    "RoleArn": "arn:aws:iam::{{account-id}}:role/{{path/role-name}}"
  }
  ```

  역할 메타데이터가 반환되지 않는 경우 서비스 역할을 생성하고(없는 경우) 해당 역할을 AWS 리전의 계정과 연결해야 합니다.

 

### Greengrass 서비스 역할 생성(CLI)
<a name="create-service-role"></a>

다음 단계에 따라 역할을 생성하고 AWS 계정과 연결합니다.

**IAM을 사용하여 서비스 역할을 생성하려면**

1. 가 역할을 수 AWS IoT Greengrass 임하도록 허용하는 신뢰 정책을 사용하여 역할을 생성합니다. 이 예제에서는 `Greengrass_ServiceRole`라는 역할을 생성하지만, 다른 이름을 사용할 수 있습니다. *혼동된 대리자* 보안 문제를 방지하려면 신뢰 정책에 `aws:SourceArn` 및 `aws:SourceAccount` 글로벌 조건 컨텍스트 키도 포함하는 것이 좋습니다. 조건 컨텍스트 키는 지정된 계정 및 Greengrass 작업 영역에서 들어오는 요청만 허용하도록 액세스를 제한합니다. 혼동된 대리자 문제에 대한 자세한 내용은, [교차 서비스 혼동된 대리인 방지](cross-service-confused-deputy-prevention.md)를 참조하세요.

------
#### [ Linux, macOS, or Unix ]

   ```
   aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "greengrass.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "{{account-id}}"
           },
           "ArnLike": {
             "aws:SourceArn": "arn:aws:greengrass:{{region}}:{{account-id}}:*"
           }
         }
       }
     ]
   }'
   ```

------
#### [ Windows command prompt ]

   ```
   aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"greengrass.amazonaws.com\"},\"Action\":\"sts:AssumeRole\",\"Condition\":{\"ArnLike\":{\"aws:SourceArn\":\"arn:aws:greengrass:{{region}}:{{account-id}}:*\"},\"StringEquals\":{\"aws:SourceAccount\":\"{{account-id}}\"}}}]}"
   ```

------

1. 출력의 역할 메타데이터에서 역할 ARN을 복사합니다. ARN을 사용하여 역할을 계정과 연결합니다.

1. `AWSGreengrassResourceAccessRolePolicy` 정책을 역할에 연결합니다.

   ```
   aws iam attach-role-policy --role-name Greengrass_ServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy
   ```

**서비스 역할을와 연결하려면 AWS 계정**
+  역할을 계정과 연결합니다. {{role-arn}}을 서비스 역할 ARN으로 바꾸고 {{region}}을 로 바꿉니다 AWS 리전 (예: `us-west-2`).

  ```
  aws greengrass associate-service-role-to-account --role-arn {{role-arn}} --region {{region}}
  ```

  성공하면 다음 응답이 반환됩니다.

  ```
  {
    "AssociatedAt": "{{timestamp}}"
  }
  ```

 

### Greengrass 서비스 역할 제거(CLI)
<a name="remove-service-role"></a>

다음 단계를 사용하여 AWS 계정에서 Greengrass 서비스 역할의 연결을 해제합니다.
+ 계정에서 서비스 역할의 연결을 해제합니다. {{region}}을 로 바꿉니다 AWS 리전 (예: `us-west-2`).

  ```
  aws greengrass disassociate-service-role-from-account --region {{region}}
  ```

  성공하면 다음 응답이 반환됩니다.

  ```
  {
    "DisassociatedAt": "{{timestamp}}"
  }
  ```
**참고**  
서비스 역할을 사용하지 않는 경우 삭제해야 합니다 AWS 리전. 먼저 [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role-policy.html)를 사용하여 역할에서 `AWSGreengrassResourceAccessRolePolicy` 관리형 정책을 연결 해제하고, [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role.html)을 사용하여 역할을 삭제합니다. 자세한 내용은 *IAM 사용 설명서*에서 [역할 또는 인스턴스 프로파일 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html)를 참조하세요.

## 다음 사항도 참조하세요.
<a name="service-role-see-also"></a>
+ *IAM 사용 설명서*의 [AWS 서비스에 권한을 위임하는 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) 
+ [IAM 사용자 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)에서 *역할 수정*
+ 자세한 내용은 *IAM 사용 설명서*에서 [역할 또는 인스턴스 프로필 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html)를 참조하세요.
+ AWS IoT Greengrass 명령 *AWS CLI 참조의 명령*
  + [associate-service-role-to-account](https://docs.aws.amazon.com/cli/latest/reference/greengrass/associate-service-role-to-account.html)
  + [disassociate-service-role-from-account](https://docs.aws.amazon.com/cli/latest/reference/greengrass/disassociate-service-role-from-account.html)
  + [get-service-role-for-account](https://docs.aws.amazon.com/cli/latest/reference/greengrass/get-service-role-for-account.html)
+ *AWS CLI 명령 참조*에서 IAM 명령
  + [attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html)
  + [create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)
  + [delete-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role.html)
  + [delete-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role-policy.html)