기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS IoT Greengrass에 사용되는 작업, 리소스 및 조건 키
AWS IoT Greengrass(서비스 접두사: greengrass)는 IAM 권한 정책에 사용할 수 있는 다음과 같은 서비스별 리소스, 작업 및 조건 컨텍스트 키를 제공합니다.
참조:
-
이 서비스를 구성하는 방법을 알아봅니다.
-
이 서비스에 사용 가능한 API 작업의 목록을 봅니다.
-
IAM 권한 정책을 사용하여 이 서비스와 리소스를 보호하는 방법을 알아봅니다.
AWS IoT Greengrass에서 정의한 작업
IAM 정책 설명의 Action 요소에서는 다음 작업을 지정할 수 있습니다. 정책을 사용하여 AWS에서 작업할 수 있는 권한을 부여합니다. 정책에서 작업을 사용하면 일반적으로 이름이 같은 API 작업 또는 CLI 명령에 대한 액세스를 허용하거나 거부합니다. 그러나 경우에 따라 하나의 작업으로 둘 이상의 작업에 대한 액세스가 제어됩니다. 또는 일부 작업을 수행하려면 다양한 작업이 필요합니다.
작업 테이블의 액세스 수준 열은 작업이 분류되는 방법(목록, 읽기, 권한 관리 또는 태그 지정)을 설명합니다. 이 분류는 정책에서 사용하는 작업이 부여하는 액세스 레벨을 이해하는 데 도움이 될 수 있습니다. 액세스 수준에 대한 자세한 내용은 정책 요약의 액세스 수준을 참조하세요.
작업 테이블의 리소스 유형 열에는 각 작업이 리소스 수준 권한을 지원하는지 여부가 표시됩니다. 리소스 열에 값이 없으면 정책 문의 Resource 요소에서 정책이 적용되는 모든 리소스("*")를 지정해야 합니다. 리소스 열에 리소스 유형이 포함되어 있으면 해당 작업 시 문에서 해당 유형의 ARN을 지정할 수 있습니다. 작업에 필요한 리소스가 하나 이상 있는 경우, 호출자에게 해당 리소스와 함께 작업을 사용할 수 있는 권한이 있어야 합니다. 필수 리소스는 테이블에서 별표(*)로 표시됩니다. IAM 정책의 Resource 요소로 리소스 액세스를 제한하는 경우, 각 필수 리소스 유형에 대해 ARN 또는 패턴을 포함해야 합니다. 일부 작업은 다수의 리소스 유형을 지원합니다. 리소스 유형이 옵션(필수 리소스로 표시되지 않은 경우)인 경우에는 선택적 리소스 유형 중 하나를 사용하도록 선택할 수 있습니다.
작업 테이블의 조건 키 열에는 정책 설명의 Condition 요소에서 지정할 수 있는 키가 포함됩니다. 서비스의 리소스와 연결된 조건 키에 대한 자세한 내용은 리소스 유형 테이블의 조건 키 열을 참조하세요.
작업 테이블의 종속 작업 열에는 작업을 성공적으로 호출하는 데 필요할 수 있는 추가 권한이 표시됩니다. 작업 자체에 대한 권한 외에 이러한 권한이 필요할 수 있습니다. 작업이 종속 작업을 지정하는 경우 해당 종속성은 테이블에 나열된 첫 번째 리소스뿐만 아니라 해당 작업에 정의된 추가 리소스에도 적용될 수 있습니다.
참고
리소스 조건 키는 리소스 유형 표에 나열되어 있습니다. 작업에 적용되는 리소스 유형에 대한 링크는 리소스 유형(*필수) 작업 표의 열에서 찾을 수 있습니다. 리소스 유형 테이블의 리소스 유형에는 조건 키 열이 포함되고 이는 작업 표의 작업에 적용되는 리소스 조건 키입니다.
다음 테이블의 열에 대한 자세한 내용은 작업 테이블을 참조하세요.
| 작업 | 설명 | 액세스 레벨 | 리소스 유형(*필수) | 조건 키 | 종속 작업 |
|---|---|---|---|---|---|
| AssociateRoleToGroup | 역할을 그룹과 연결할 수 있는 권한을 부여합니다. 역할의 권한은 Greengrass 코어 Lambda 함수 및 커넥터가 다른 AWS 서비스에서 작업을 수행하도록 허용해야 합니다. | 쓰기 | |||
| AssociateServiceRoleToAccount | 역할을 계정과 연결할 수 있는 권한을 부여합니다. AWS IoT Greengrass는이 역할을 사용하여 Lambda 함수 및 AWS IoT 리소스에 액세스합니다. | 권한 관리 | |||
| CreateConnectorDefinition | 커넥터 정의를 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateConnectorDefinitionVersion | 기존 커넥터 정의의 버전을 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateCoreDefinition | 코어 정의를 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateCoreDefinitionVersion | 기존 코어 정의의 버전을 생성할 수 있는 권한을 부여합니다. Greengrass 그룹에는 각각 정확히 1개의 Greengrass 코어가 있어야 합니다. | Write | |||
| CreateDeployment | 배포를 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateDeviceDefinition | 디바이스 정의를 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateDeviceDefinitionVersion | 기존 디바이스 정의의 버전을 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateFunctionDefinition | Lambda 함수 및 구성의 목록이 포함된, 그룹에서 사용할 Lambda 함수 정의를 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateFunctionDefinitionVersion | 기존 Lambda 함수 정의의 버전을 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
| CreateGroup | 그룹을 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
| CreateGroupCertificateAuthority | 그룹에 대한 CA를 생성하거나 기존 CA를 교체할 수 있는 권한을 부여합니다. | Write | |||
| CreateGroupVersion | 이미 정의된 그룹의 버전을 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateLoggerDefinition | 로거 정의를 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateLoggerDefinitionVersion | 기존 로거 정의의 버전을 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateResourceDefinition | 리소스의 목록이 포함된, 그룹에서 사용할 리소스 정의를 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateResourceDefinitionVersion | 기존 리소스 정의의 버전을 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
| CreateSoftwareUpdateJob | Greengrass 코어가 실행 중인 소프트웨어를 업데이트하도록 트리거하는 AWS IoT 작업을 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
| CreateSubscriptionDefinition | 구독 정의를 생성할 수 있는 권한을 부여합니다. | Write | |||
| CreateSubscriptionDefinitionVersion | 기존 구독 정의의 버전을 생성할 수 있는 권한을 부여합니다. | Write | |||
| DeleteConnectorDefinition | 커넥터 정의를 삭제할 수 있는 권한을 부여합니다. | Write | |||
| DeleteCoreDefinition | 코어 정의를 삭제할 수 있는 권한을 부여합니다. 배포에서 현재 사용 중인 정의를 삭제하면 향후 배포에 영향을 미칩니다. | Write | |||
| DeleteDeviceDefinition | 디바이스 정의를 삭제할 수 있는 권한을 부여합니다. 배포에서 현재 사용 중인 정의를 삭제하면 향후 배포에 영향을 미칩니다. | Write | |||
| DeleteFunctionDefinition | Lambda 함수 정의를 삭제할 수 있는 권한을 부여합니다. 배포에서 현재 사용 중인 정의를 삭제하면 향후 배포에 영향을 미칩니다. | Write | |||
| DeleteGroup | 배포에서 현재 사용되지 않는 그룹을 삭제할 수 있는 권한을 부여합니다. | Write | |||
| DeleteLoggerDefinition | 로거 정의를 삭제할 수 있는 권한을 부여합니다. 배포에서 현재 사용 중인 정의를 삭제하면 향후 배포에 영향을 미칩니다. | Write | |||
| DeleteResourceDefinition | 리소스 정의를 삭제할 수 있는 권한을 부여합니다. | Write | |||
| DeleteSubscriptionDefinition | 구독 정의를 삭제할 수 있는 권한을 부여합니다. 배포에서 현재 사용 중인 정의를 삭제하면 향후 배포에 영향을 미칩니다. | Write | |||
| DisassociateRoleFromGroup | 그룹에서 역할을 연결 해제할 수 있는 권한을 부여합니다. | Write | |||
| DisassociateServiceRoleFromAccount | 계정에서 서비스 역할을 연결 해제할 수 있는 권한을 부여합니다. 서비스 역할이 없으면 배포가 작동하지 않습니다. | Write | |||
| Discover | Greengrass 코어에 연결하는 데 필요한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetAssociatedRole | 그룹과 연결된 역할을 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetBulkDeploymentStatus | 대량 배포의 상태를 반환할 수 있는 권한을 부여합니다. | Read | |||
| GetConnectivityInfo | 코어의 연결 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetConnectorDefinition | 커넥터 정의에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetConnectorDefinitionVersion | 커넥터 정의 버전에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetCoreDefinition | 코어 정의에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetCoreDefinitionVersion | 코어 정의 버전에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetDeploymentStatus | 배포의 상태를 반환할 수 있는 권한을 부여합니다. | Read | |||
| GetDeviceDefinition | 디바이스 정의에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetDeviceDefinitionVersion | 디바이스 정의 버전에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetFunctionDefinition | 생성 시간, 최신 버전 등 Lambda 함수 정의에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetFunctionDefinitionVersion | 버전에 포함된 Lambda 함수 및 구성 등 Lambda 함수 정의 버전에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetGroup | 그룹에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetGroupCertificateAuthority | 그룹과 연결된 CA의 퍼블릭 키를 반환할 수 있는 권한을 부여합니다. | Read | |||
| GetGroupCertificateConfiguration | 그룹이 사용하는 CA의 현재 구성을 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetGroupVersion | 그룹 버전에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetLoggerDefinition | 로거 정의에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetLoggerDefinitionVersion | 로거 정의 버전에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetResourceDefinition | 생성 시간, 최신 버전 등 리소스 정의에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetResourceDefinitionVersion | 버전에 포함된 리소스 등 리소스 정의 버전에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetServiceRoleForAccount | 계정에 연결된 서비스 역할을 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetSubscriptionDefinition | 구독 정의에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetSubscriptionDefinitionVersion | 구독 정의 버전에 대한 정보를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetThingRuntimeConfiguration | 사물의 런타임 구성을 검색할 수 있는 권한을 부여합니다. | Read | |||
| ListBulkDeploymentDetailedReports | 대량 배포 작업에서 시작된 배포 및 현재 배포 상태의 페이지 매김 목록을 검색할 수 있는 권한을 부여합니다. | Read | |||
| ListBulkDeployments | 대량 배포의 목록을 검색할 수 있는 권한을 부여합니다. | 나열 | |||
| ListConnectorDefinitionVersions | 커넥터 정의의 버전을 나열할 수 있는 권한을 부여합니다. | 나열 | |||
| ListConnectorDefinitions | 커넥터 정의의 목록을 검색할 수 있는 권한을 부여합니다. | 나열 | |||
| ListCoreDefinitionVersions | 코어 정의의 버전을 나열할 수 있는 권한을 부여합니다. | 나열 | |||
| ListCoreDefinitions | 코어 정의의 목록을 검색할 수 있는 권한을 부여합니다. | 나열 | |||
| ListDeployments | 그룹의 모든 배포의 목록을 검색할 수 있는 권한을 부여합니다. | 나열 | |||
| ListDeviceDefinitionVersions | 디바이스 정의의 버전을 나열할 수 있는 권한을 부여합니다. | 나열 | |||
| ListDeviceDefinitions | 디바이스 정의의 목록을 검색할 수 있는 권한을 부여합니다. | 나열 | |||
| ListFunctionDefinitionVersions | Lambda 함수 정의의 버전을 나열할 수 있는 권한을 부여합니다. | 나열 | |||
| ListFunctionDefinitions | Lambda 함수 정의의 목록을 검색할 수 있는 권한을 부여합니다. | 나열 | |||
| ListGroupCertificateAuthorities | 그룹에 대한 현재 CA의 목록을 검색할 수 있는 권한을 부여합니다. | 나열 | |||
| ListGroupVersions | 그룹의 버전을 나열할 수 있는 권한을 부여합니다. | 나열 | |||
| ListGroups | 그룹의 목록을 검색할 수 있는 권한을 부여합니다. | 나열 | |||
| ListLoggerDefinitionVersions | 로거 정의의 버전을 나열할 수 있는 권한을 부여합니다. | 나열 | |||
| ListLoggerDefinitions | 로거 정의의 목록을 검색할 수 있는 권한을 부여합니다. | 나열 | |||
| ListResourceDefinitionVersions | 리소스 정의의 버전을 나열할 수 있는 권한을 부여합니다. | 나열 | |||
| ListResourceDefinitions | 리소스 정의의 목록을 검색할 수 있는 권한을 부여합니다. | 나열 | |||
| ListSubscriptionDefinitionVersions | 구독 정의의 버전을 나열할 수 있는 권한을 부여합니다. | 나열 | |||
| ListSubscriptionDefinitions | 구독 정의의 목록을 검색할 수 있는 권한을 부여합니다. | 나열 | |||
| ListTagsForResource | 리소스에 대한 태그를 나열할 수 있는 권한을 부여합니다. | Read | |||
| ResetDeployments | 그룹의 배포를 재설정할 수 있는 권한을 부여합니다. | Write | |||
| StartBulkDeployment | 한 작업으로 여러 그룹을 배포할 수 있는 권한을 부여합니다. | Write | |||
| StopBulkDeployment | 대량 배포의 실행을 중지할 수 있는 권한을 부여합니다. | Write | |||
| TagResource | 리소스에 태그를 추가할 수 있는 권한을 부여합니다. | 태그 지정 | |||
| UntagResource | 리소스에서 태그를 제거할 수 있는 권한을 부여합니다. | 태그 지정 | |||
| UpdateConnectivityInfo | Greengrass 코어의 연결 정보를 업데이트할 수 있는 권한을 부여합니다. 이 코어가 있는 그룹에 속한 모든 디바이스는 이 정보를 수신하여 코어의 위치를 찾고 해당 코어에 연결합니다. | Write | |||
| UpdateConnectorDefinition | 커넥터 정의를 업데이트할 수 있는 권한을 부여합니다. | Write | |||
| UpdateCoreDefinition | 코어 정의를 업데이트할 수 있는 권한을 부여합니다. | Write | |||
| UpdateDeviceDefinition | 디바이스 정의를 업데이트할 수 있는 권한을 부여합니다. | Write | |||
| UpdateFunctionDefinition | Lambda 함수 정의를 업데이트할 수 있는 권한을 부여합니다. | Write | |||
| UpdateGroup | 그룹을 업데이트할 수 있는 권한을 부여합니다. | Write | |||
| UpdateGroupCertificateConfiguration | 그룹의 인증서 만료 시간을 업데이트할 수 있는 권한을 부여합니다. | Write | |||
| UpdateLoggerDefinition | 로거 정의를 업데이트할 수 있는 권한을 부여합니다. | Write | |||
| UpdateResourceDefinition | 리소스 정의를 업데이트할 수 있는 권한을 부여합니다. | Write | |||
| UpdateSubscriptionDefinition | 구독 정의를 업데이트할 수 있는 권한을 부여합니다. | Write | |||
| UpdateThingRuntimeConfiguration | 사물의 런타임 구성을 업데이트할 수 있는 권한을 부여합니다. | Write |
AWS IoT Greengrass에서 정의한 리소스 유형
이 서비스에서 정의하는 리소스 유형은 다음과 같으며, IAM 권한 정책 설명의 Resource 요소에서 사용할 수 있습니다. 작업 테이블의 각 작업은 해당 작업으로 지정할 수 있는 리소스 유형을 식별합니다. 리소스 유형은 정책에 포함할 조건 키를 정의할 수도 있습니다. 이러한 키는 리소스 유형 테이블의 마지막 열에 표시됩니다. 다음 테이블의 열에 관한 자세한 내용은 리소스 유형 테이블을 참조하세요.
| 리소스 유형 | ARN | 조건 키 |
|---|---|---|
| connectivityInfo |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/things/${ThingName}/connectivityInfo
|
|
| certificateAuthority |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/certificateauthorities/${CertificateAuthorityId}
|
|
| deployment |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/deployments/${DeploymentId}
|
|
| bulkDeployment |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/bulk/deployments/${BulkDeploymentId}
|
|
| group |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}
|
|
| groupVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/versions/${VersionId}
|
|
| coreDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}
|
|
| coreDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}/versions/${VersionId}
|
|
| deviceDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}
|
|
| deviceDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}/versions/${VersionId}
|
|
| functionDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}
|
|
| functionDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}/versions/${VersionId}
|
|
| subscriptionDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}
|
|
| subscriptionDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}/versions/${VersionId}
|
|
| loggerDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}
|
|
| loggerDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}/versions/${VersionId}
|
|
| resourceDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}
|
|
| resourceDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}/versions/${VersionId}
|
|
| connectorDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/connectors/${ConnectorDefinitionId}
|
|
| connectorDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/connectors/${ConnectorDefinitionId}/versions/${VersionId}
|
|
| thing |
arn:${Partition}:iot:${Region}:${Account}:thing/${ThingName}
|
|
| thingRuntimeConfig |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/things/${ThingName}/runtimeconfig
|
AWS IoT Greengrass에 사용되는 조건 키
AWS IoT Greengrass는 IAM 정책의 Condition 요소에 사용할 수 있는 다음과 같은 조건 키를 정의합니다. 이러한 키를 사용하여 정책 설명이 적용되는 조건을 보다 상세하게 설정할 수 있습니다. 다음 테이블의 열에 대한 자세한 내용은 조건 키 테이블을 참조하세요.
모든 서비스에서 사용할 수 있는 전역 조건 키를 보려면 AWS 전역 조건 컨텍스트 키를 참조하세요.
| 조건 키 | 설명 | 형식 |
|---|---|---|
| aws:RequestTag/${TagKey} | 각 필수 태그에 허용되는 값 집합을 기준으로 액세스를 필터링합니다. | String |
| aws:ResourceTag/${TagKey} | 리소스와 연결된 태그-값을 기준으로 액세스를 필터링합니다. | String |
| aws:TagKeys | 요청에 필수 태그가 있는지 여부를 기준으로 액세스를 필터링합니다. | ArrayOfString |