Defice Defender 커넥터 - 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 것이 좋습니다.

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

Defice Defender 커넥터

Device Defender 커넥터는 관리자에게 Greengrass 코어 디바이스의 상태 변경을 알립니다. 그러면 손상된 디바이스를 나타낼 수 있는 비정상적인 동작을 식별할 수 있습니다.

이 커넥터는 코어 디바이스의 /proc 디렉터리에서 시스템 지표를 읽은 다음 AWS IoT Device Defender에 게시합니다. 지표 보고 세부 정보는 AWS IoT 개발자 안내서디바이스 지표 문서 사양을 참조하십시오.

이 커넥터의 버전은 다음과 같습니다.

버전

ARN

3

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/3

2

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/2

1

arn:aws:greengrass:region::/connectors/DeviceDefender/versions/1

버전 변경 사항에 대한 자세한 내용은 Changelog를 참조하십시오.

요구 사항

이 커넥터에는 다음과 같은 요구 사항이 있습니다.

Version 3
  • AWS IoT Greengrass 코어 소프트웨어 v1.9.3 이상.

  • 코어 디바이스에 설치되고 PATH 환경 변수에 추가된 Python 버전 3.7 또는 3.8입니다.

    참고

    Python 3.8을 사용하려면 다음 명령을 실행하여 기본 Python 3.7 설치 폴더에서 설치된 Python 3.8 바이너리로 연결되는 심볼릭 링크를 만드십시오.

    sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7

    이렇게 하면 AWS IoT Greengrass에 대한 Python 요구 사항을 충족하도록 디바이스가 구성됩니다.

  • Detect 기능을 사용하여 위반을 추적하도록 구성된 AWS IoT Device Defender. 자세한 정보는 AWS IoT 개발자 안내서감지 사용 방법을 참조하세요.

  • /proc 디렉터리를 가리키는 Greengrass 그룹의 로컬 볼륨 리소스 이 리소스는 다음 속성을 사용해야 합니다.

    • 소스 경로: /proc

    • 대상 경로: /host_proc(또는 유효한 패턴과 일치하는 값)

    • AutoAddGroupOwner: true

  • Greengrass 코어에 설치된 psutil 라이브러리입니다. 버전 5.7.0은 커넥터와 함께 사용하도록 확인된 최신 버전입니다.

  • Greengrass 코어에 설치된 cbor 라이브러리입니다. 버전 1.0.0은 커넥터와 함께 사용하도록 확인된 최신 버전입니다.

Versions 1 - 2
  • AWS IoT Greengrass 코어 소프트웨어 v1.7 이상.

  • 코어 디바이스에 설치되고 PATH 환경 변수에 추가된 Python 버전 3.7입니다.

  • Detect 기능을 사용하여 위반을 추적하도록 구성된 AWS IoT Device Defender. 자세한 정보는 AWS IoT 개발자 안내서감지 사용 방법을 참조하세요.

  • /proc 디렉터리를 가리키는 Greengrass 그룹의 로컬 볼륨 리소스 이 리소스는 다음 속성을 사용해야 합니다.

    • 소스 경로: /proc

    • 대상 경로: /host_proc(또는 유효한 패턴과 일치하는 값)

    • AutoAddGroupOwner: true

  • Greengrass 코어에 설치된 psutil 라이브러리입니다.

  • Greengrass 코어에 설치된 cbor 라이브러리입니다.

커넥터 파라미터

이 커넥터는 다음 파라미터를 제공합니다.

SampleIntervalSeconds

각 지표 수집 및 보고 주기 사이 시간(초). 최소값은 300초(5분)입니다.

AWS IoT 콘솔의 표시 이름: 메트릭 보고 간격

필수: true

형식: string

유효한 패턴: ^[0-9]*(?:3[0-9][0-9]|[4-9][0-9]{2}|[1-9][0-9]{3,})$

ProcDestinationPath-ResourceId

/proc 볼륨 리소스의 ID.

참고

이 커넥터에는 리소스에 대한 읽기 전용 액세스 권한이 부여됩니다.

AWS IoT 콘솔의 표시 이름: /proc 디렉토리의 리소스

필수: true

형식: string

유효한 패턴: [a-zA-Z0-9_-]+

ProcDestinationPath

/proc 볼륨 리소스의 대상 경로.

AWS IoT 콘솔의 표시 이름: /proc 리소스의 대상 경로

필수: true

형식: string

유효한 패턴: \/[a-zA-Z0-9_-]+

커넥터 만들기 예(AWS CLI)

다음 CLI 명령은 Device Defender 커넥터가 포함된 초기 버전을 사용하여 ConnectorDefinition을 생성합니다.

aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{ "Connectors": [ { "Id": "MyDeviceDefenderConnector", "ConnectorArn": "arn:aws:greengrass:region::/connectors/DeviceDefender/versions/3", "Parameters": { "SampleIntervalSeconds": "600", "ProcDestinationPath": "/host_proc", "ProcDestinationPath-ResourceId": "my-proc-resource" } } ] }'
참고

이 커넥터의 Lambda 함수에는 수명이 긴 수명 주기가 있습니다.

AWS IoT Greengrass 콘솔에서는 그룹의 커넥터 페이지에서 커넥터를 추가할 수 있습니다. 자세한 내용은 Greengrass 커넥터 시작하기(콘솔) 섹션을 참조하세요.

입력 데이터

이 커넥터는 MQTT 메시지를 출력 데이터로 게시하지 않습니다.

출력 데이터

이 커넥터는 보안 지표를 AWS IoT Device Defender에 출력 데이터로 게시합니다.

구독의 주제 필터

$aws/things/+/defender/metrics/json

참고

AWS IoT Device Defender에서 기대하는 주제 구문입니다. 이 커넥터는 + 와일드카드를 디바이스 이름으로 바꿉니다(예: $aws/things/thing-name/defender/metrics/json).

출력 예

지표 보고 세부 정보는 AWS IoT 개발자 안내서디바이스 지표 문서 사양을 참조하십시오.

{ "header": { "report_id": 1529963534, "version": "1.0" }, "metrics": { "listening_tcp_ports": { "ports": [ { "interface": "eth0", "port": 24800 }, { "interface": "eth0", "port": 22 }, { "interface": "eth0", "port": 53 } ], "total": 3 }, "listening_udp_ports": { "ports": [ { "interface": "eth0", "port": 5353 }, { "interface": "eth0", "port": 67 } ], "total": 2 }, "network_stats": { "bytes_in": 1157864729406, "bytes_out": 1170821865, "packets_in": 693092175031, "packets_out": 738917180 }, "tcp_connections": { "established_connections":{ "connections": [ { "local_interface": "eth0", "local_port": 80, "remote_addr": "192.168.0.1:8000" }, { "local_interface": "eth0", "local_port": 80, "remote_addr": "192.168.0.1:8000" } ], "total": 2 } } } }

라이선스

이 커넥터는 Greengrass 코어 소프트웨어 라이선스 계약에 따라 릴리스됩니다.

Changelog

다음 표에서는 의 각 릴리스에서 변경된 중요 사항에 대해 설명합니다.

버전

변경

3

Lambda 런타임 요구 사항을 변경하는 Python 3.7로 런타임을 업그레이드했습니다.

2

과도한 로깅을 줄이도록 고정합니다.

1

최초 릴리스.

Greengrass 그룹은 한 번에 하나의 커넥터 버전만 포함할 수 있습니다. 커넥터 버전 업그레이드에 대한 자세한 내용은 커넥터 버전 업그레이드 단원을 참조하십시오.

다음 사항도 참조하세요.