Greengrass 서비스 역할 - AWS IoT Greengrass

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

Greengrass 서비스 역할

Greengrass 서비스 역할은 사용자를 대신하여 AWS 서비스의 리소스에 액세스할 수 있도록 AWS IoT Greengrass에 권한을 부여하는 AWS Identity and Access Management (IAM) 서비스 역할입니다. 이 역할을 통해 클라이언트 장치의 ID를 확인하고 핵심 장치 연결 정보를 관리할 수 있습니다. AWS IoT Greengrass

참고

AWS IoT Greengrass V1또한 이 역할을 사용하여 필수 작업을 수행합니다. 자세한 내용은 AWS IoT Greengrass V1개발자 안내서의 Greengrass 서비스 역할을 참조하십시오.

AWS IoT Greengrass가 리소스에 액세스하도록 허용하려면 Greengrass 서비스 역할을 AWS 계정 계정과 연결하고 AWS IoT Greengrass를 신뢰할 수 있는 엔터티로 지정해야 합니다. 역할에는 사용하는 AWS IoT Greengrass 기능에 대해 동등한 권한을 정의하는 AWSGreengrassResourceAccessRolePolicy관리형 정책 또는 사용자 지정 정책이 포함되어야 합니다. AWSAWS리소스에 액세스하는 데 AWS IoT Greengrass 사용하는 권한 세트를 정의하는 이 정책을 유지 관리합니다. 자세한 설명은 AWS 관리형 정책: AWSGreengrassResourceAccessRolePolicy 섹션을 참조하세요.

동일한 Greengrass 서비스 역할을 AWS 리전 여러 곳에서 재사용할 수 있지만 사용하는 AWS 리전 모든 곳의 계정과 연결해야 합니다. AWS IoT Greengrass 서비스 역할이 현재 AWS 리전 구성되지 않은 경우 코어 디바이스는 클라이언트 디바이스를 확인하지 못하고 연결 정보를 업데이트하지 못합니다.

다음 섹션에서는 OR를 사용하여 Greengrass 서비스 역할을 생성하고 관리하는 방법을 설명합니다. AWS Management Console AWS CLI

참고

서비스 수준 액세스를 승인하는 서비스 역할 외에도 Greengrass 코어 디바이스에 토큰 교환 역할을 할당합니다. 토큰 교환 역할은 코어 디바이스의 Greengrass 구성 요소 및 Lambda 함수가 서비스에 액세스할 수 있는 방법을 제어하는 별도의 IAM 역할입니다. AWS 자세한 설명은 핵심 장치가 서비스와 상호 작용할 AWS 수 있도록 권한 부여 섹션을 참조하세요.

Greengrass 서비스 역할 관리 (콘솔)

AWS IoT 콘솔에서는 Greengrass 서비스 역할을 손쉽게 관리할 수 있습니다. 예를 들어 코어 장치에 대한 클라이언트 장치 검색을 구성하면 AWS 계정 콘솔은 사용자가 현재 Greengrass 서비스 역할에 연결되어 있는지 확인합니다. AWS 리전 연결이 되어 있지 않으면 콘솔이 사용자를 대신하여 서비스 역할을 생성 및 구성할 수 있습니다. 자세한 설명은 Greengrass 서비스 역할 생성(콘솔) 섹션을 참조하세요.

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

참고

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

Greengrass 서비스 역할 검색(콘솔)

다음 단계를 사용하여 현재 AWS 리전 사용 중인 AWS IoT Greengrass 서비스 역할을 찾으십시오.

  1. AWS IoT 콘솔로 이동합니다.

  2. 탐색 창에서 설정을 선택합니다.

  3. 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:SourceArnaws:SourceAccount 글로벌 조건 컨텍스트 키도 포함하는 것이 좋습니다. 조건 컨텍스트 키는 지정된 계정 및 Greengrass 작업 영역에서 들어오는 요청만 허용하도록 액세스를 제한합니다. 혼동된 대리자 문제에 대한 자세한 내용은, 교차 서비스 혼동된 대리자 예방를 참조하세요.

서비스 역할을 생성한 경우 콘솔로 돌아가서 해당 역할을 사용자의 AWS IoT AWS 계정 콘솔에 연결하십시오. 설정 페이지의 Greengrass 서비스 역할에서 이 작업을 수행할 수 있습니다.

Greengrass 서비스 역할 변경(콘솔)

다음 절차를 사용하여 현재 콘솔에서 선택된 AWS 리전의 AWS 계정에 연결할 다른 Greengrass 서비스 경로를 선택합니다.

  1. AWS IoT 콘솔로 이동합니다.

  2. 탐색 창에서 설정을 선택합니다.

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

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

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

  5. 역할 연결을 선택합니다.

Greengrass 서비스 역할 분리(콘솔)

다음 절차를 사용하여 현재 계정에서 Greengrass 서비스 역할을 AWS 분리하십시오. AWS 리전 이렇게 하면 AWS IoT Greengrass가 현재 AWS 리전 리전에서 AWS 서비스에 액세스할 수 있는 권한이 취소됩니다.

중요

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

  1. AWS IoT 콘솔로 이동합니다.

  2. 탐색 창에서 설정을 선택합니다.

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

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

참고

역할이 더 이상 필요하지 않으면 IAM 콘솔에서 이를 삭제할 수 있습니다. 자세한 내용은 IAM 사용 설명서에서 역할 또는 인스턴스 프로필 삭제를 참조하세요.

다른 역할들은 AWS IoT Greengrass가 리소스에 액세스하도록 허용할 수 있습니다. AWS IoT Greengrass이(가) 사용자를 대신하여 권한을 위임할 수 있는 모든 역할을 찾으려면 IAM 콘솔의 역할 페이지의 신뢰할 수 있는 엔터티 열에서 AWS 서비스: 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을 사용하여 서비스 역할을 생성하려면
  1. 이 역할을 수임하도록 허용하는 AWS IoT Greengrass 신뢰 정책으로 역할을 생성합니다. 이 예제에서는 Greengrass_ServiceRole라는 역할을 생성하지만, 다른 이름을 사용할 수 있습니다. 혼동된 대리자 보안 문제를 방지하려면 신뢰 정책에 aws:SourceArnaws:SourceAccount 글로벌 조건 컨텍스트 키도 포함하는 것이 좋습니다. 조건 컨텍스트 키는 지정된 계정 및 Greengrass 작업 영역에서 들어오는 요청만 허용하도록 액세스를 제한합니다. 혼동된 대리자 문제에 대한 자세한 내용은, 교차 서비스 혼동된 대리자 예방를 참조하세요.

    Linux 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": { "ArnLike": { "aws:SourceArn": "arn:aws:greengrass:region:account-id:*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } } ] }'
    Windows Command Prompt (CMD)
    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\"}}}]}"
    PowerShell
    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" } } } ] }'
  2. 출력의 역할 메타데이터에서 역할 ARN을 복사합니다. ARN을 사용하여 역할을 계정과 연결합니다.

  3. 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 --region region

    요청이 성공하면 다음과 같은 응답이 반환됩니다.

    { "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 사용 설명서에서 역할 또는 인스턴스 프로필 삭제를 참조하세요.

다음 사항도 참조하십시오.