Greengrass 그룹 역할 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 는 2023년 6월 30일에 수명 연장 단계에 들어갔습니다. AWS IoT Greengrass V1 관리형 정책에 대한 자세한 정보는 섹션을 참조하세요. 이 날짜 이후에는 기능, 개선 사항, 버그 수정 또는 보안 패치를 제공하는 업데이트를 릴리스하지 AWS IoT Greengrass V1 않습니다. 에서 실행되는 디바이스는 중단 AWS IoT Greengrass V1 되지 않고 계속 작동하며 클라우드에 연결됩니다. 로 마이그레이션 AWS IoT Greengrass Version 2하는 것이 좋습니다. 이 마이그레이션하면 추가 플랫폼 에 대한 중요한 새 기능과 지원이 추가됩니다. https://docs.aws.amazon.com/greengrass/v2/developerguide/operating-system-feature-support-matrix.html

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

Greengrass 그룹 역할

Greengrass 그룹 역할은 Greengrass 코어에서 실행되는 코드가 AWS 리소스에 액세스하도록 권한을 부여하는 역할입니다. AWS Identity and Access Management (IAM)에서 역할을 만들고 권한을 관리하고 Greengrass 그룹에 역할을 연결합니다. Greengrass 그룹에는 하나의 그룹 역할이 있습니다. 권한을 추가하거나 변경하려면 다른 역할을 연결하거나 역할에 연결된 IAM 정책을 변경하면 됩니다.

이 역할은 AWS IoT Greengrass를 신뢰할 수 있는 엔터티로 정의해야 합니다. 비즈니스 사례에 따라 그룹 역할에 다음을 정의하는 IAM 정책이 포함될 수 있습니다.

다음 섹션에서는 AWS Management Console 또는 AWS CLI에서 Greengrass 그룹 역할을 연결하거나 분리하는 방법에 대해 설명합니다.

참고

Greengrass 코어에서 액세스를 승인하는 그룹 역할 외에도 AWS IoT Greengrass이(가) 사용자를 대신하여 AWS 리소스에 액세스할 수 있는 Greengrass 서비스 역할을 할당할 수 있습니다.

Greengrass 그룹 역할 관리(콘솔)

다음과 같은 역할 관리 작업에서 AWS IoT을 사용할 수 있습니다.

참고

콘솔에 로그인한 사용자는 해당 역할을 관리할 수 있는 권한을 가져야 합니다.

 

Greengrass 그룹 역할 찾기(콘솔)

Greengrass 그룹에 연결된 역할을 찾으려면 다음 단계를 수행하십시오.

  1. AWS IoT 콘솔 탐색 창의 관리에서 Greengrass 디바이스를 확장한 다음 그룹(V1)을 선택합니다.

  2. 대상 그룹을 선택합니다.

  3. 그룹 구성 페이지에서 설정 보기를 선택합니다.

역할이 그룹에 연결된 경우 그룹 역할 아래에 나타납니다.

 

Greengrass 그룹 역할 추가 또는 변경(콘솔)

다음 단계에 따라 AWS 계정에서 Greengrass 그룹에 추가할 IAM 역할을 선택합니다.

그룹 역할에는 다음과 같은 요구사항이 있습니다.

  • 신뢰할 수 있는 엔터티로 정의된 AWS IoT Greengrass.

  • 이 역할에 연결된 권한 정책은 그룹의 Lambda 함수 및 커넥터와 Greengrass 시스템 구성 요소에 필요한 AWS 리소스에 권한을 부여해야 합니다.

참고

혼동된 대리자 보안 문제를 방지하려면 신뢰 정책에 aws:SourceArnaws:SourceAccount 글로벌 조건 컨텍스트 키도 포함하는 것이 좋습니다. 조건 컨텍스트 키는 지정된 계정 및 Greengrass 작업 영역에서 들어오는 요청만 허용하도록 액세스를 제한합니다. 혼동된 대리자 문제에 대한 자세한 내용은, 교차 서비스 혼동된 대리자 예방를 참조하세요.

IAM 콘솔을 사용하여 역할과 권한을 만들고 구성합니다. Amazon DynamoDB 테이블에 대한 액세스를 허용하는 예제 역할을 만드는 단계는 그룹 역할 구성을 참조하십시오. 일반적인 단계는 IAM 사용 설명서AWS 서비스에 대한 역할 생성(콘솔)을 참조하십시오.

 

역할을 구성한 후 AWS IoT 콘솔을 사용하여 그룹에 역할을 추가합니다.

참고

이 절차는 그룹에 대한 역할을 선택하는 경우에만 필요합니다. 현재 선택한 그룹 역할의 권한을 변경한 후에는 필요하지 않습니다.

  1. AWS IoT 콘솔 탐색 창의 관리에서 Greengrass 디바이스를 확장한 다음 그룹(V1)을 선택합니다.

  2. 대상 그룹을 선택합니다.

  3. 그룹 구성 페이지에서 설정을 선택합니다.

  4. 그룹 역할에서 역할을 추가하거나 변경하도록 선택합니다.

    • 역할을 추가하려면 역할 연결을 선택한 다음 역할 목록에서 역할을 선택합니다. AWS 계정에서 AWS IoT Greengrass를 신뢰할 수 있는 엔터티로 정의하는 역할입니다.

    • 다른 역할을 선택하려면 역할 편집을 선택한 다음 역할 목록에서 역할을 선택합니다.

  5. Save를 선택합니다.

 

Greengrass 그룹 역할 제거(콘솔)

Greengrass 그룹에서 역할을 분리하려면 다음 단계를 수행하십시오.

  1. AWS IoT 콘솔 탐색 창의 관리에서 Greengrass 디바이스를 확장한 다음 그룹(V1)을 선택합니다.

  2. 대상 그룹을 선택합니다.

  3. 그룹 구성 페이지에서 설정을 선택합니다.

  4. 그룹 역할에서 역할 연결 해제를 선택합니다.

  5. 확인 대화 상자에서 연결 해제를 선택합니다. 이 단계는 그룹에서 역할을 제거하지만 역할은 삭제하지 않습니다. 역할을 삭제하려면 IAM 콘솔을 사용합니다.

Greengrass 그룹 역할 관리(CLI)

다음과 같은 역할 관리 작업에서 AWS CLI을 사용할 수 있습니다.

 

Greengrass 그룹 역할 가져오기(CLI)

Greengrass 그룹에 연결된 역할이 있는지 확인하려면 다음 단계를 수행하십시오.

  1. 그룹 목록에서 대상 그룹의 ID를 가져옵니다.

    aws greengrass list-groups

    다음은 list-groups 응답의 예입니다. 응답의 각 그룹에는 그룹 ID가 포함된 Id 속성이 포함됩니다.

    { "Groups": [ { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "Name": "MyFirstGroup", "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z", "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "CreationTimestamp": "2019-11-11T05:47:31.435Z", "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE" }, { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "Name": "GreenhouseSensors", "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z", "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "CreationTimestamp": "2020-01-07T19:58:36.774Z", "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE" }, ... ] }

    query 옵션을 사용하여 결과를 필터링하는 예제를 비롯한 자세한 내용은 그룹 ID 가져오기 단원을 참조하십시오.

  2. 출력에서 대상 그룹의 Id을 복사합니다.

  3. 그룹 역할을 가져옵니다. group-id를 대상 그룹의 ID로 바꿉니다.

    aws greengrass get-associated-role --group-id group-id

    역할이 Greengrass 그룹과 연결된 경우, 다음 역할 메타데이터가 반환됩니다.

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

    그룹에 연결된 역할이 없으면 다음 오류가 반환됩니다.

    An error occurred (404) when calling the GetAssociatedRole operation: You need to attach an IAM role to this deployment group.

 

Greengrass 그룹 역할 생성(CLI)

역할을 생성하고 Greengrass 그룹에 연결하려면 다음 단계를 수행하십시오.

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

    Linux, macOS, or Unix
    aws iam create-role --role-name MyGreengrassGroupRole --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:/greengrass/groups/group-id" } } } ] }'
    Windows command prompt
    aws iam create-role --role-name MyGreengrassGroupRole --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:/greengrass/groups/group-id\"},\"StringEquals\":{\"aws:SourceAccount\":\"account-id\"}}}]}"
  2. 출력의 역할 메타데이터에서 역할 ARN을 복사합니다. ARN을 사용하여 역할을 그룹과 연결합니다.

  3. 비즈니스 사례를 지원할 관리형 또는 인라인 정책을 역할에 연결합니다. 예를 들어 사용자 정의 Lambda 함수를 Amazon S3에서 읽는 경우 AmazonS3ReadOnlyAccess 관리형 정책을 역할에 연결할 수 있습니다.

    aws iam attach-role-policy --role-name MyGreengrassGroupRole --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess

    성공하면 응답이 반환되지 않습니다.

 

역할을 Greengrass 그룹과 연결하려면
  1. 그룹 목록에서 대상 그룹의 ID를 가져옵니다.

    aws greengrass list-groups

    다음은 list-groups 응답의 예입니다. 응답의 각 그룹에는 그룹 ID가 포함된 Id 속성이 포함됩니다.

    { "Groups": [ { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "Name": "MyFirstGroup", "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z", "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "CreationTimestamp": "2019-11-11T05:47:31.435Z", "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE" }, { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "Name": "GreenhouseSensors", "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z", "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "CreationTimestamp": "2020-01-07T19:58:36.774Z", "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE" }, ... ] }

    query 옵션을 사용하여 결과를 필터링하는 예제를 비롯한 자세한 내용은 그룹 ID 가져오기 단원을 참조하십시오.

  2. 출력에서 대상 그룹의 Id을 복사합니다.

  3. 역할을 그룹과 연결합니다. group-id를 대상 그룹의 ID로 바꾸고 role-arn을 그룹 역할의 ARN으로 바꿉니다.

    aws greengrass associate-role-to-group --group-id group-id --role-arn role-arn

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

    { "AssociatedAt": "timestamp" }

 

Greengrass 그룹 역할 제거(CLI)

Greengrass 그룹에서 그룹 역할의 연결을 해제하려면 다음 단계를 수행하십시오.

  1. 그룹 목록에서 대상 그룹의 ID를 가져옵니다.

    aws greengrass list-groups

    다음은 list-groups 응답의 예입니다. 응답의 각 그룹에는 그룹 ID가 포함된 Id 속성이 포함됩니다.

    { "Groups": [ { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE/versions/4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "Name": "MyFirstGroup", "LastUpdatedTimestamp": "2019-11-11T05:47:31.435Z", "LatestVersion": "4cbc3f07-fc5e-48c4-a50e-7d356EXAMPLE", "CreationTimestamp": "2019-11-11T05:47:31.435Z", "Id": "00dedaaa-ac16-484d-ad77-c3eedEXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/00dedaaa-ac16-484d-ad77-c3eedEXAMPLE" }, { "LatestVersionArn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE/versions/8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "Name": "GreenhouseSensors", "LastUpdatedTimestamp": "2020-01-07T19:58:36.774Z", "LatestVersion": "8fe9e8ec-64d1-4647-b0b0-01dc8EXAMPLE", "CreationTimestamp": "2020-01-07T19:58:36.774Z", "Id": "036ceaf9-9319-4716-ba2a-237f9EXAMPLE", "Arn": "arn:aws:us-west-2:123456789012:/greengrass/groups/036ceaf9-9319-4716-ba2a-237f9EXAMPLE" }, ... ] }

    query 옵션을 사용하여 결과를 필터링하는 예제를 비롯한 자세한 내용은 그룹 ID 가져오기 단원을 참조하십시오.

  2. 출력에서 대상 그룹의 Id을 복사합니다.

  3. 그룹에서 역할의 연결을 해제합니다. group-id를 대상 그룹의 ID로 바꿉니다.

    aws greengrass disassociate-role-from-group --group-id group-id

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

    { "DisassociatedAt": "timestamp" }
    참고

    그룹 역할을 사용하지 않는 경우 삭제할 수 있습니다. 먼저 delete-role-policy를 사용하여 역할에서 각 관리형 정책을 연결 해제하고, delete-role을 사용하여 역할을 삭제합니다. 자세한 내용은 IAM 사용 설명서에서 역할 또는 인스턴스 프로필 삭제를 참조하세요.

다음 사항도 참조하세요.