기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Greengrass 서비스 역할은 사용자를 대신하여 AWS 서비스의 리소스에 액세스할 수 있도록 AWS IoT Greengrass에 권한을 부여하는 AWS Identity and Access Management (IAM) 서비스 역할입니다. 이 역할을 사용하면 AWS IoT Greengrass가 클라이언트 디바이스의 ID를 확인하고 코어 디바이스 연결 정보를 관리할 수 있습니다.
참고
AWS IoT Greengrass V1는 또한 이 역할을 사용하여 필수 작업을 수행합니다. 자세한 정보는 AWS IoT Greengrass V1 개발자 안내서에서 Greengrass 서비스 역할을 참조하세요.
AWS IoT Greengrass가 리소스에 액세스하도록 허용하려면 Greengrass 서비스 역할을 AWS 계정 계정과 연결하고 AWS IoT Greengrass를 신뢰할 수 있는 엔터티로 지정해야 합니다. 역할에는 AWSGreengrassResourceAccessRolePolicy
여러 AWS 리전에서 동일한 Greengrass 서비스 역할을 재사용할 수 있지만, AWS IoT Greengrass를 사용하는 모든 AWS 리전에서 해당 역할을 계정과 연결해야 합니다. 서비스 역할이 현재 AWS 리전에 구성되지 않은 경우 코어 디바이스는 클라이언트 디바이스를 확인하지 못하고 연결 정보를 업데이트하지 못합니다.
다음 섹션에서는 AWS Management Console 또는 AWS CLI에서 Greengrass 서비스 역할을 생성 및 관리하는 방법에 대해 설명합니다.
참고
서비스 수준 액세스 권한을 부여하는 서비스 역할 외에도 토큰 교환 역할을 Greengrass 코어 디바이스에 할당합니다. 토큰 교환 역할은 코어 디바이스에서 Greengrass 구성 요소 및 Lambda 함수가 AWS 서비스에 액세스할 수 있는 방법을 제어하는 별도의 IAM 역할입니다. 자세한 내용은 코어 디바이스에 AWS 서비스와 상호 작용 권한 부여 단원을 참조하십시오.
Greengrass 서비스 역할 관리(콘솔)
AWS IoT 콘솔에서는 Greengrass 서비스 역할을 손쉽게 관리할 수 있습니다. 예를 들어, 코어 디바이스에 대한 클라이언트 디바이스 검색을 구성할 때 콘솔은 AWS 계정이 현재 AWS 리전의 Greengrass 서비스 역할에 연결되어 있는지 확인합니다. 연결이 되어 있지 않으면 콘솔이 사용자를 대신하여 서비스 역할을 생성 및 구성할 수 있습니다. 자세한 내용은 Greengrass 서비스 역할 생성(콘솔) 단원을 참조하십시오.
다음과 같은 역할 관리 작업에서 콘솔을 사용할 수 있습니다.
참고
콘솔에 로그인한 사용자는 해당 서비스 역할을 보고, 생성하고, 변경할 수 있는 권한을 가져야 합니다.
Greengrass 서비스 역할 검색(콘솔)
다음 절차를 사용해 현재 AWS 리전에서 AWS IoT Greengrass가 사용하는 서비스 역할을 검색합니다.
-
AWS IoT 콘솔
로 이동합니다. -
탐색 창에서 설정을 선택합니다.
-
Greengrass service role(Greengrass 서비스 역할) 섹션으로 스크롤하여 서비스 역할과 그 정책을 확인합니다.
서비스 역할이 표시되지 않으면 콘솔에서 역할을 생성 또는 구성할 수 있습니다. 자세한 내용은 Greengrass 서비스 역할 생성 단원을 참조하십시오.
Greengrass 서비스 역할 생성(콘솔)
콘솔이 사용자를 대신하여 기본 Greengrass 서비스 역할을 생성 및 구성할 수 있습니다. 이 역할에는 다음 속성이 있습니다.
속성 | 값 |
---|---|
명칭 | Greengrass_ServiceRole |
신뢰할 수 있는 엔터티. | AWS service: greengrass |
정책 | AWSGreengrassResourceAccessRolePolicy |
참고
AWS IoT Greengrass V1 디바이스 설정 스크립트로 이 역할을 생성하는 경우 역할 이름은 GreengrassServiceRole_
입니다.random-string
코어 디바이스에 대한 클라이언트 디바이스 검색을 구성할 때 콘솔에서 Greengrass 서비스 역할이 현재 AWS 리전의 AWS 계정과 연결되어 있는지 확인합니다. 연결되지 않은 경우 AWS IoT Greengrass가 사용자를 대신해 AWS 서비스를 읽고 쓸 수 있도록 허용하라는 메시지가 콘솔에 표시됩니다.
권한을 부여하는 경우, 콘솔은 Greengrass_ServiceRole
이라는 이름의 역할이 AWS 계정 계정에 존재하는지 여부를 확인합니다.
-
역할이 존재하면 콘솔은 해당 서비스 역할을 현재 AWS 리전 리전의 AWS 계정 계정에 연결합니다.
-
역할이 존재하지 않으면 콘솔은 기본 Greengrass 서비스 역할을 생성하여 이를 현재 AWS 리전 리전의 AWS 계정 계정에 연결합니다.
참고
사용자 지정 역할 정책을 사용하여 서비스를 생성하려는 경우에는 IAM 콘솔을 사용하여 역할을 생성하거나 수정하세요. 자세한 정보는 IAM 사용 설명서의AWS 서비스에 대한 권한을 위임할 역할 생성을 참조하세요. 역할이 사용하는 기능 및 리소스에 대한 AWSGreengrassResourceAccessRolePolicy
관리형 정책과 동일한 권한을 부여하는지 확인합니다. 혼동된 대리자 보안 문제를 방지하려면 신뢰 정책에 aws:SourceArn
및 aws:SourceAccount
글로벌 조건 컨텍스트 키도 포함하는 것이 좋습니다. 조건 컨텍스트 키는 지정된 계정 및 Greengrass 작업 영역에서 들어오는 요청만 허용하도록 액세스를 제한합니다. 혼동된 대리자 문제에 대한 자세한 내용은, 교차 서비스 혼동된 대리인 방지를 참조하세요.
서비스 역할을 생성하는 경우 AWS IoT 콘솔로 돌아가서 해당 역할을 AWS 계정에 연결합니다. 설정 페이지의 Greengrass 서비스 역할에서 이 작업을 수행할 수 있습니다.
Greengrass 서비스 역할 변경(콘솔)
다음 절차를 사용하여 현재 콘솔에서 선택된 AWS 리전의 AWS 계정에 연결할 다른 Greengrass 서비스 경로를 선택합니다.
-
AWS IoT 콘솔
로 이동합니다. -
탐색 창에서 설정을 선택합니다.
-
Greengrass 서비스 역할에서 역할 선택을 선택합니다.
Greengrass 서비스 역할 업데이트 대화 상자가 열리고 AWS IoT Greengrass을(를) 신뢰할 수 있는 엔터티로 정의하는 AWS 계정의 IAM 역할이 표시됩니다.
-
연결할 Greengrass 서비스 역할을 선택합니다.
-
역할 연결을 선택합니다.
Greengrass 서비스 역할 분리(콘솔)
다음 절차를 사용하여 현재 AWS 리전의 AWS에서 Greengrass 서비스 역할을 분리합니다. 이렇게 하면 AWS IoT Greengrass가 현재 AWS 리전 리전에서 AWS 서비스에 액세스할 수 있는 권한이 취소됩니다.
중요
서비스 역할을 분리하면 진행 중인 작업에 방해가 될 수 있습니다.
-
AWS IoT 콘솔
로 이동합니다. -
탐색 창에서 설정을 선택합니다.
-
Greengrass 서비스 역할에서 분리를 선택합니다.
-
확인 대화 상자에서 분리(Detach)를 선택합니다.
참고
역할이 더 이상 필요하지 않으면 IAM 콘솔에서 이를 삭제할 수 있습니다. 자세한 내용은 IAM 사용 설명서에서 역할 또는 인스턴스 프로필 삭제를 참조하세요.
다른 역할들은 AWS IoT Greengrass가 리소스에 액세스하도록 허용할 수 있습니다. AWS IoT Greengrass이(가) 사용자를 대신하여 권한을 위임할 수 있는 모든 역할을 찾으려면 IAM 콘솔의 역할 페이지의 신뢰할 수 있는 엔터티 열에서 AWS 서비스: greengrass가 포함된 역할을 찾아보십시오.
Greengrass 서비스 역할 가져오기(CLI)
다음 절차에서는 AWS Command Line Interface가 설치되고 AWS 계정을 사용하도록 구성되어 있다고 가정합니다. 자세한 내용은 AWS Command Line Interface 사용 설명서에서 AWS CLI 설치, 업데이트, 제거 및 AWS CLI 구성 섹션을 참조하세요.
다음과 같은 역할 관리 작업에서 AWS CLI을 사용할 수 있습니다.
Greengrass 서비스 역할 가져오기(CLI)
다음 절차를 사용하여 Greengrass 서비스 역할이 AWS 리전의 AWS 계정과 연결되어 있는지 알아냅니다.
-
서비스 역할을 가져옵니다. 을 해당 AWS 리전
리전
(예:us-west-2
)으로 바꿉니다.aws greengrassv2 get-service-role-for-account --region
region
Greengrass 서비스 역할이 계정과 이미 연결되어 있는 경우 요청에서 다음 역할 메타데이터가 반환됩니다.
{ "associatedAt": "
timestamp
", "roleArn": "arn:aws:iam::account-id
:role/path/role-name
" }요청에서 역할 메타데이터가 반환되지 않는 경우 서비스 역할을 생성하고(없는 경우) 해당 역할을 AWS 리전의 계정과 연결해야 합니다.
Greengrass 서비스 역할 생성(CLI)
다음 단계에 따라 역할을 생성하고 AWS 계정과 연결합니다.
IAM을 사용하여 서비스 역할을 생성하려면
-
이 역할을 수임하도록 허용하는 AWS IoT Greengrass 신뢰 정책으로 역할을 생성합니다. 이 예제에서는
Greengrass_ServiceRole
라는 역할을 생성하지만, 다른 이름을 사용할 수 있습니다. 혼동된 대리자 보안 문제를 방지하려면 신뢰 정책에aws:SourceArn
및aws:SourceAccount
글로벌 조건 컨텍스트 키도 포함하는 것이 좋습니다. 조건 컨텍스트 키는 지정된 계정 및 Greengrass 작업 영역에서 들어오는 요청만 허용하도록 액세스를 제한합니다. 혼동된 대리자 문제에 대한 자세한 내용은, 교차 서비스 혼동된 대리인 방지를 참조하세요.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
" } } } ] }' -
출력의 역할 메타데이터에서 역할 ARN을 복사합니다. ARN을 사용하여 역할을 계정과 연결합니다.
-
AWSGreengrassResourceAccessRolePolicy
정책을 역할에 연결합니다.aws iam attach-role-policy --role-name Greengrass_ServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy
계정에 AWS 계정 서비스 역할을 연결하려면 다음을 수행합니다.
-
역할을 계정과 연결합니다.
role-arn
을 서비스 역할 ARN과 바꾸고 AWS 리전을리전
(예:us-west-2
)과 바꿉니다.aws greengrassv2 associate-service-role-to-account --role-arn
role-arn
--regionregion
성공하면 요청에서 다음과 비슷한 응답이 반환됩니다.
{ "associatedAt": "
timestamp
" }
Greengrass 서비스 역할 제거(CLI)
다음 단계를 사용하여 AWS 계정에서 Greengrass 서비스 역할의 연결을 해제합니다.
-
계정에서 서비스 역할의 연결을 해제합니다. AWS 리전을 해당
리전
(예:us-west-2
)으로 바꿉니다.aws greengrassv2 disassociate-service-role-from-account --region
region
성공하면 다음 응답이 반환됩니다.
{ "disassociatedAt": "
timestamp
" }참고
AWS 리전에서 사용하지 않을 경우 서비스를 삭제해야 합니다. 먼저 delete-role-policy를 사용하여 역할에서
AWSGreengrassResourceAccessRolePolicy
관리형 정책을 연결 해제하고, delete-role을 사용하여 역할을 삭제합니다. 자세한 내용은 IAM 사용 설명서에서 역할 또는 인스턴스 프로필 삭제를 참조하세요.
다음 사항도 참조하세요.
-
IAM 사용 설명서의 역할을 만들어 AWS 사용자에게 권한 위임.
-
IAM 사용자 설명서에서 역할 수정
-
자세한 내용은 IAM 사용 설명서에서 역할 또는 인스턴스 프로필 삭제를 참조하세요.
-
AWS CLI명령 참조에서 AWS IoT Greengrass 명령
-
AWS CLI 명령 참조에서 IAM 명령