AWS IoT Greengrass V2의 코드 무결성 - AWS IoT Greengrass

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

AWS IoT Greengrass V2의 코드 무결성

AWS IoT Greengrass에서는 AWS IoT Greengrass 코어 소프트웨어가 실행되는 디바이스로 AWS 클라우드의 소프트웨어 구성 요소가 배포됩니다. 이러한 소프트웨어 구성 요소에는 AWS에서 제공하는 구성 요소와 AWS 계정에 업로드하는 사용자 지정 구성 요소가 포함되어 있습니다. 모든 구성 요소는 레시피로 구성되어 있습니다. 레시피에서는 구성 요소의 메타데이터와 아티팩트(컴파일된 코드 및 정적 리소스와 같은 구성 요소 바이너리) 수가 정의됩니다. 구성 요소 아티팩트는 Amazon S3에 저장됩니다.

Greengrass 구성 요소를 개발하고 배포할 때 AWS 계정 및 디바이스에서 구성 요소 아티팩트로 작업하는 다음과 같은 기본 단계를 따릅니다.

  1. 아티팩트를 생성하고 S3 버킷에 업로드합니다.

  2. 각 아티팩트의 암호화 해시가 계산되는 구성 요소를 AWS IoT Greengrass 서비스의 레시피 및 아티팩트에서 생성합니다.

  3. 각 아티팩트의 무결성이 다운로드되고 확인되는 Greengrass 코어 디바이스에 구성 요소를 배포합니다.

AWS에서는 Greengrass 코어 디바이스에 구성 요소를 배포하는 경우를 포함하여 S3 버킷에 아티팩트를 업로드한 후 아티팩트의 무결성 유지 관리를 담당합니다. S3 버킷에 아티팩트를 업로드하기 전에 소프트웨어 아티팩트를 보호할 책임은 사용자에게 있습니다. 구성 요소 아티팩트를 업로드하는 S3 버킷을 포함하여 AWS 계정의 리소스에 대한 액세스 권한을 보호할 책임도 사용자에게 있습니다.

참고

Amazon S3에서는 S3 버킷 AWS 계정의 구성 요소 아티팩트가 변경되지 않도록 보호하는 데 사용할 수 있는 S3 Object Lock이라는 특성이 제공됩니다. S3 Object Lock을 사용하여 구성 요소 아티팩트 삭제 또는 덮어쓰기를 방지할 수 있습니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 Amazon S3 Object Lock을 참조하세요.

AWS에서 퍼블릭 구성 요소를 게시할 때와 사용자가 사용자 지정 구성 요소를 업로드할 때 AWS IoT Greengrass에서는 각 구성 요소 아티팩트에 대한 암호화 다이제스트가 계산됩니다. AWS IoT Greengrass에서는 해당 다이제스트 계산에 사용되는 각 아티팩트의 다이제스트와 해시 알고리즘이 포함되도록 구성 요소 레시피가 업데이트됩니다. 아티팩트가 AWS 클라우드에서나 다운로드 중에 변경되면 파일 다이제스트가 AWS IoT Greengrass를 통해 구성 요소 레시피에 저장되는 다이제스트와 일치하지 않기 때문에 이 다이제스트를 통해 아티팩트의 무결성이 보장됩니다. 자세한 내용은 구성 요소 레시피 참조의 아티팩트를 참조하세요.

코어 디바이스에 구성 요소를 배포하면 AWS IoT Greengrass 코어 소프트웨어에서는 구성 요소 레시피와 레시피를 통해 정의되는 각 구성 요소 아티팩트가 다운로드됩니다. AWS IoT Greengrass 코어 소프트웨어에서는 다운로드된 각 아티팩트 파일의 다이제스트가 계산되고 레시피에 있는 해당 아티팩트의 다이제스트와 비교됩니다. 다이제스트가 일치하지 않으면 배포에 실패하고, AWS IoT Greengrass 코어 소프트웨어에서는 디바이스의 파일 시스템에서 다운로드된 아티팩트가 삭제됩니다. 코어 디바이스와 간 연결과 AWS IoT Greengrass의 보호 방식에 대한 자세한 내용은 전송 중 암호화 단원을 참조하세요.

코어 디바이스의 파일 시스템에서 구성 요소 아티팩트 파일을 보호할 책임은 사용자에게 있습니다. AWS IoT Greengrass 코어 소프트웨어에서는 Greengrass 루트 폴더의 packages 폴더에 아티팩트가 저장됩니다. AWS IoT Device Defender를 사용하여 코어 디바이스를 분석하고, 감사하고, 모니터링할 수 있습니다. 자세한 내용은 AWS IoT Greengrass의 구성 및 취약성 분석 섹션을 참조하세요.