클라이언트 장치 인증 - AWS IoT Greengrass

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

클라이언트 장치 인증

클라이언트 장치 인증 구성 요소 (aws.greengrass.clientdevices.Auth) 는 클라이언트 장치를 인증하고 클라이언트 장치 작업을 승인합니다.

참고

클라이언트 디바이스는 Greengrass 코어 디바이스에 연결하여 MQTT 메시지와 데이터를 전송하여 처리하는 로컬 IoT 디바이스입니다. 자세한 정보는 로컬 IoT 기기와 상호작용을 참조하세요.

버전

참고

클라이언트 장치 인증 버전 2.3.0이 중단되었습니다. 클라이언트 장치 인증 버전 2.3.1 이상으로 업그레이드하는 것이 좋습니다.

이 구성 요소의 버전은 다음과 같습니다.

  • 2.4.x

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

유형

이 구성 요소는 플러그인 구성 요소 () aws.greengrass.plugin 입니다. Greengrass 핵은 핵과 동일한 자바 가상 머신 (JVM) 에서 이 구성 요소를 실행합니다. 코어 디바이스에서 이 구성 요소의 버전을 변경하면 NUCLEUS가 다시 시작됩니다.

이 구성 요소는 Greengrass 핵과 동일한 로그 파일을 사용합니다. 자세한 정보는 모니터 AWS IoT Greengrass 로그을 참조하세요.

자세한 정보는 구성 요소 유형을 참조하세요.

운영 체제

이 구성 요소는 다음 운영 체제를 실행하는 코어 디바이스에 설치할 수 있습니다.

  • Linux

  • Windows

요구 사항

이 구성 요소의 요구 사항은 다음과 같습니다.

  • Greengrass 서비스 역할은 사용자와 연결되어 있어야 AWS 계정 하며 권한을 허용해야 합니다. iot:DescribeCertificate

  • 코어 디바이스의 AWS IoT 정책은 다음 권한을 허용해야 합니다.

    • greengrass:GetConnectivityInfo, 리소스에는 이 구성 요소를 실행하는 코어 디바이스의 ARN이 포함됩니다.

    • greengrass:VerifyClientDeviceIoTCertificateAssociation여기서 리소스에는 코어 디바이스에 연결되는 각 클라이언트 디바이스의 Amazon 리소스 이름 (ARN) 이 포함됩니다.

    • greengrass:VerifyClientDeviceIdentity

    • greengrass:PutCertificateAuthorities

    • iot:Publish, 여기서 리소스에는 다음 MQTT 주제의 ARN이 포함됩니다.

      • $aws/things/coreDeviceThingName*-gci/shadow/get

    • iot:Subscribe, 여기서 리소스에는 다음 MQTT 주제 필터의 ARN이 포함됩니다.

      • $aws/things/coreDeviceThingName*-gci/shadow/update/delta

      • $aws/things/coreDeviceThingName*-gci/shadow/get/accepted

    • iot:Receive, 리소스에는 다음 MQTT 주제의 ARN이 포함됩니다.

      • $aws/things/coreDeviceThingName*-gci/shadow/update/delta

      • $aws/things/coreDeviceThingName*-gci/shadow/get/accepted

    자세한 내용은 데이터 영역 작업에 대한 AWS IoT 정책클라이언트 AWS IoT 장치를 지원하기 위한 최소 정책 섹션을 참조하세요.

  • (선택 사항) 오프라인 인증을 사용하려면 AWS IoT Greengrass 서비스에서 사용하는 AWS Identity and Access Management (IAM) 역할에 다음 권한이 포함되어야 합니다.

    • greengrass:ListClientDevicesAssociatedWithCoreDevice코어 디바이스에서 오프라인 인증을 위한 클라이언트를 나열할 수 있도록 합니다.

  • 클라이언트 장치 인증 구성 요소는 VPC에서 실행되도록 지원됩니다. VPC에 이 구성 요소를 배포하려면 다음이 필요합니다.

    • 클라이언트 디바이스 인증 구성 요소는 AWS IoT data, AWS IoT 자격 증명 및 Amazon S3에 연결되어 있어야 합니다.

엔드포인트 및 포트

이 구성 요소는 기본 작업에 필요한 엔드포인트 및 포트 외에도 다음 엔드포인트 및 포트에 대한 아웃바운드 요청을 수행할 수 있어야 합니다. 자세한 정보는 프록시 또는 방화벽을 통한 장치 트래픽 허용을 참조하세요.

엔드포인트 포트 필수 설명

iot.region.amazonaws.com

443

사물 인증서에 대한 AWS IoT 정보를 가져오는 데 사용됩니다.

의존성

구성 요소를 배포하면 호환되는 버전의 종속 AWS IoT Greengrass 항목도 배포됩니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 해당 종속성에 대한 요구 사항을 모두 충족해야 합니다. 이 섹션에는 이 구성 요소의 릴리스된 버전에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 시맨틱 버전 제약 조건이 나열되어 있습니다. 콘솔에서 구성 요소의 각 버전에 대한 종속성을 볼 수도 있습니다.AWS IoT Greengrass 구성 요소 세부 정보 페이지에서 종속성 목록을 찾아보십시오.

2.4.4

다음 표에는 이 구성 요소의 버전 2.4.4에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.6.0 <2.13.0 소프트
2.4.3

다음 표에는 이 구성 요소의 버전 2.4.3에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.6.0 <2.12.0 소프트
2.4.1 and 2.4.2

다음 표에는 이 구성 요소의 버전 2.4.1 및 2.4.2에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.6.0 <2.11.0 소프트
2.3.0 – 2.4.0

다음 표에는 이 구성 요소의 버전 2.3.0 ~ 2.4.0에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.6.0 <2.10.0 소프트
2.3.0

다음 표에는 이 구성 요소의 버전 2.3.0에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.6.0 <2.10.0 소프트
2.2.3

다음 표에는 이 구성 요소의 버전 2.2.3에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.6.0 <=2.9.0 소프트
2.2.2

다음 표에는 이 구성 요소의 버전 2.2.2에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.6.0 <=2.8.0 소프트
2.2.1

다음 표에는 이 구성 요소의 버전 2.2.1에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.6.0 <2.8.0 소프트
2.2.0

다음 표에는 이 구성 요소의 버전 2.2.0에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.6.0 <2.7.0 소프트
2.1.0

다음 표에는 이 구성 요소의 버전 2.1.0에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.2.0 <2.7.0 소프트
2.0.4

다음 표에는 이 구성 요소의 버전 2.0.4에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.2.0 <2.6.0 소프트
2.0.2 and 2.0.3

다음 표에는 이 구성 요소의 버전 2.0.2 및 2.0.3에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.2.0 <2.5.0 소프트
2.0.1

다음 표에는 이 구성 요소의 버전 2.0.1에 대한 종속성이 나열되어 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.2.0 <2.4.0 소프트
2.0.0

다음 표에는 이 구성 요소의 버전 2.0.0에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.2.0 <2.3.0 소프트

구성 요소 종속성에 대한 자세한 내용은 구성 요소 레시피 참조를 참조하십시오.

구성

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음과 같은 구성 매개 변수를 제공합니다.

참고

구독 권한은 로컬 MQTT 브로커에 대한 클라이언트 구독 요청 중에 평가됩니다. 클라이언트의 기존 구독 권한이 취소되면 클라이언트는 더 이상 주제를 구독할 수 없습니다. 하지만 이전에 구독한 주제의 메시지는 계속 수신됩니다. 이 동작을 방지하려면 구독 권한을 취소하여 클라이언트를 강제로 재인증한 후 로컬 MQTT 브로커를 다시 시작해야 합니다.

MQTT 5 브로커 (EMQX) 구성 요소의 경우 구성을 업데이트하여 MQTT 5 브로커를 다시 시작하십시오. restartIdentifier 자세한 내용은 MQTT 5 브로커 구성 요소 컨피그레이션을 참조하십시오.

MQTT 3.1.1 브로커 (Moquette) 구성 요소의 경우 서버 인증서가 변경되어 클라이언트가 다시 인증해야 하는 경우 기본적으로 매주 다시 시작됩니다. 코어 디바이스의 연결 정보 (IP 주소) 를 변경하거나 브로커 구성 요소를 제거한 다음 나중에 다시 배포하도록 배포하여 강제로 다시 시작할 수 있습니다.

v2.4.5
deviceGroups

장치 그룹은 코어 장치에 연결하고 통신할 수 있는 권한이 있는 클라이언트 장치 그룹입니다. 선택 규칙을 사용하여 클라이언트 장치 그룹을 식별하고 각 장치 그룹에 대한 권한을 지정하는 클라이언트 장치 인증 정책을 정의합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

formatVersion

이 구성 개체의 형식 버전입니다.

다음 옵션 중 하나를 선택합니다.

  • 2021-03-05

definitions

이 코어 디바이스의 디바이스 그룹. 각 정의는 클라이언트 장치가 그룹의 구성원인지 평가하는 선택 규칙을 지정합니다. 또한 각 정의는 선택 규칙과 일치하는 클라이언트 장치에 적용할 권한 정책을 지정합니다. 클라이언트 장치가 여러 장치 그룹의 구성원인 경우 장치 권한은 각 그룹의 권한 정책으로 구성됩니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

groupNameKey

이 장치 그룹의 이름. 이 장치 그룹을 식별하는 데 도움이 되는 groupNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

selectionRule

이 장치 그룹의 구성원인 클라이언트 장치를 지정하는 쿼리입니다. 클라이언트 장치가 연결되면 코어 장치는 이 선택 규칙을 평가하여 클라이언트 장치가 이 장치 그룹의 구성원인지 확인합니다. 클라이언트 장치가 구성원인 경우 코어 장치는 이 장치 그룹의 정책을 사용하여 클라이언트 장치의 동작을 승인합니다.

각 선택 규칙은 클라이언트 장치와 일치할 수 있는 단일 표현식 쿼리인 하나 이상의 선택 규칙 조항으로 구성됩니다. 선택 규칙은 AWS IoT 플릿 인덱싱과 동일한 쿼리 구문을 사용합니다. 선택 규칙 구문에 대한 자세한 내용은 AWS IoT Core 개발자 안내서의AWS IoT 플릿 인덱싱 쿼리 구문을 참조하십시오.

*와일드카드를 사용하면 하나의 선택 규칙 조항으로 여러 클라이언트 장치를 일치시킬 수 있습니다. 사물 이름의 처음과 끝에 이 와일드카드를 사용하여 이름이 지정한 문자열로 시작하거나 끝나는 클라이언트 장치를 일치시킬 수 있습니다. 이 와일드카드를 사용하여 모든 클라이언트 디바이스를 일치시킬 수도 있습니다.

참고

콜론 문자 () 가 포함된 값을 선택하려면 콜론을 이스케이프하여 백슬래시 문자 (:) 를 사용하십시오. \ JSON과 같은 형식에서는 백슬래시 문자를 이스케이프 처리해야 하므로 콜론 문자 앞에 백슬래시 문자 두 개를 입력합니다. 예를 들어, 이름이 다음과 같은 항목을 thingName: MyTeam\\:ClientDevice1 선택하도록 지정합니다. MyTeam:ClientDevice1

다음 선택기를 지정할 수 있습니다.

  • thingName— 클라이언트 장치 사물의 이름 AWS IoT .

예 선택 규칙 예시

다음 선택 규칙은 이름이 MyClientDevice1 또는 인 클라이언트 장치와 MyClientDevice2 일치합니다.

thingName: MyClientDevice1 OR thingName: MyClientDevice2
예 선택 규칙 예시 (와일드카드 사용)

다음 선택 규칙은 이름이 로 시작하는 클라이언트 디바이스와 MyClientDevice 일치합니다.

thingName: MyClientDevice*
예 선택 규칙 예시 (와일드카드 사용)

다음 선택 규칙은 이름이 로 MyClientDevice 끝나는 클라이언트 장치와 일치합니다.

thingName: *MyClientDevice
예 선택 규칙 예시 (모든 장치 매칭)

다음 선택 규칙은 모든 클라이언트 장치와 일치합니다.

thingName: *
policyName

이 장치 그룹의 클라이언트 장치에 적용되는 권한 정책. policies개체에 정의한 정책 이름을 지정합니다.

policies

코어 장치에 연결하는 클라이언트 장치에 대한 클라이언트 장치 권한 부여 정책. 각 권한 부여 정책은 클라이언트 장치가 이러한 작업을 수행할 수 있는 일련의 작업과 리소스를 지정합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

policyNameKey

이 권한 부여 정책의 이름. 이 권한 부여 정책을 식별하는 데 도움이 되는 policyNameKey이름으로 바꾸십시오. 이 정책 이름을 사용하여 장치 그룹에 적용할 정책을 정의할 수 있습니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

statementNameKey

이 정책 설명의 이름. 이 정책 설명을 식별하는 데 도움이 되는 statementNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

operations

이 정책에서 리소스를 허용하기 위한 작업 목록.

다음 작업 중 하나를 포함할 수 있습니다.

  • mqtt:connect— 코어 디바이스에 연결할 수 있는 권한을 부여합니다. 클라이언트 장치에 코어 장치에 연결하려면 이 권한이 있어야 합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:clientId:deviceClientId— 클라이언트 장치가 코어 장치의 MQTT 브로커에 연결하는 데 사용하는 클라이언트 ID를 기반으로 액세스를 제한합니다. 사용할 클라이언트 deviceClientIdID로 바꾸십시오.

  • mqtt:publish— MQTT 메시지를 주제에 게시할 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topic:mqttTopic— 클라이언트 장치가 메시지를 게시하는 MQTT 주제에 따라 액세스를 제한합니다. MQTTtopic을 사용할 주제로 바꾸십시오.

      이 리소스는 MQTT 주제 와일드카드를 지원하지 않습니다.

  • mqtt:subscribe— MQTT 주제 필터를 구독하여 메시지를 받을 수 있는 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topicfilter:mqttTopicFilter— 클라이언트 장치가 메시지를 구독할 수 있는 MQTT 주제에 따라 액세스를 제한합니다. 사용할 주제 mqttTopicFilter필터로 바꾸십시오.

      이 리소스는 +# MQTT 주제 와일드카드를 지원합니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core

      클라이언트 장치는 허용한 정확한 주제 필터를 구독할 수 있습니다. 예를 들어 클라이언트 장치가 mqtt:topicfilter:client/+/status 리소스를 구독하도록 허용하면 클라이언트 장치는 구독할 수 client/+/status 있지만 구독할 수는 없습니다client/client1/status.

*와일드카드를 지정하여 모든 작업에 대한 액세스를 허용할 수 있습니다.

resources

이 정책에서 작업을 허용할 리소스 목록입니다. 이 정책의 작업에 해당하는 리소스를 지정하십시오. 예를 들어 mqtt:publish 작업을 지정하는 정책에 MQTT 주제 리소스 목록 (mqtt:topic:mqttTopic) 을 지정할 수 있습니다.

*와일드카드를 지정하여 모든 리소스에 대한 액세스를 허용할 수 있습니다. *와일드카드를 사용하여 부분 리소스 식별자를 일치시킬 수는 없습니다. 예를 들어 지정할 수는 있지만 지정할 "resources": "*" 수는 없습니다. "resources": "mqtt:clientId:*"

statementDescription

(선택 사항) 이 정책 설명에 대한 설명.

certificates

(선택 사항) 이 코어 디바이스의 인증서 구성 옵션. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

serverCertificateValiditySeconds

(선택 사항) 로컬 MQTT 서버 인증서가 만료되는 시간 (초). 이 옵션을 구성하여 클라이언트 장치의 연결을 끊었다가 코어 장치에 다시 연결하는 빈도를 사용자 지정할 수 있습니다.

이 구성 요소는 만료되기 24시간 전에 로컬 MQTT 서버 인증서를 교체합니다. MQTT 브로커 (예: Moquette MQTT 브로커 구성 요소) 가 새 인증서를 생성하고 다시 시작합니다. 이 경우 이 코어 디바이스에 연결된 모든 클라이언트 디바이스의 연결이 끊어집니다. 잠시 후 클라이언트 장치를 코어 장치에 다시 연결할 수 있습니다.

기본값: 604800 (7일)

최소값: 172800 (2일)

최대치: 864000 (10일)

performance

(선택 사항) 이 코어 디바이스의 성능 구성 옵션. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

maxActiveAuthTokens

(선택 사항) 활성 클라이언트 장치 인증 토큰의 최대 수. 이 수를 늘리면 더 많은 수의 클라이언트 장치를 재인증하지 않고도 단일 코어 장치에 연결할 수 있습니다.

기본값: 2500

cloudRequestQueueSize

(선택 사항) 이 구성 요소가 AWS 클라우드 요청을 거부하기 전에 대기열에 추가할 최대 요청 수입니다.

기본값: 100

maxConcurrentCloudRequests

(선택 사항) 에 전송할 최대 동시 요청 수입니다. AWS 클라우드이 수를 늘리면 많은 수의 클라이언트 장치를 연결하는 핵심 장치의 인증 성능을 향상시킬 수 있습니다.

기본값: 1

certificateAuthority

(선택 사항) 핵심 장치 중간 기관을 자체 중간 인증 기관으로 대체하기 위한 인증 기관 구성 옵션.

참고

사용자 지정 인증 기관 (CA) 으로 Greengrass 코어 디바이스를 구성하고 동일한 CA를 사용하여 클라이언트 디바이스 인증서를 발급하는 경우 Greengrass는 클라이언트 디바이스 MQTT 작업에 대한 권한 부여 정책 검사를 우회합니다. 클라이언트 장치 인증 구성 요소는 사용하도록 구성된 CA에서 서명한 인증서를 사용하여 클라이언트를 완전히 신뢰합니다.

사용자 지정 CA를 사용할 때 이 동작을 제한하려면 다른 CA 또는 중간 CA를 사용하여 클라이언트 장치를 만들고 서명한 다음 올바른 중간 CA를 가리키도록 certificateUricertificateChainUri 필드를 조정하십시오.

이 개체에는 다음 정보가 포함됩니다.

인증서 (URI)

인증서의 위치. 파일 시스템 URI이거나 하드웨어 보안 모듈에 저장된 인증서를 가리키는 URI일 수 있습니다.

certificateChainUri

코어 디바이스 CA의 인증서 체인 위치. 이는 루트 CA로 돌아가는 완전한 인증서 체인이어야 합니다. 파일 시스템 URI이거나 하드웨어 보안 모듈에 저장된 인증서 체인을 가리키는 URI일 수 있습니다.

privateKeyUri

코어 디바이스의 개인 키 위치. 이는 파일 시스템 URI 또는 하드웨어 보안 모듈에 저장된 인증서 개인 키를 가리키는 URI일 수 있습니다.

security

(선택 사항) 이 코어 디바이스의 보안 구성 옵션. 이 개체에는 다음 정보가 들어 있습니다.

clientDeviceTrustDurationMinutes

코어 장치를 통한 재인증이 필요하기 전까지 클라이언트 장치의 인증 정보를 신뢰할 수 있는 기간 (분) 기본값은 1입니다.

metrics

(선택 사항) 이 코어 장치에 대한 메트릭 옵션. 오류 지표는 클라이언트 장치 인증에 오류가 있는 경우에만 표시됩니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

disableMetrics

disableMetrics필드가 로 true 설정된 경우 클라이언트 장치 인증은 지표를 수집하지 않습니다.

기본값: false

aggregatePeriodSeconds

집계 기간 (초) 은 클라이언트 장치 인증이 메트릭을 집계하여 원격 분석 에이전트로 보내는 빈도를 결정합니다. 원격 분석 에이전트가 여전히 하루에 한 번 메트릭을 게시하므로 메트릭의 게시 빈도는 변경되지 않습니다.

기본값: 3600

startupTimeoutSeconds

(선택 사항) 구성 요소를 시작하는 데 걸리는 최대 시간 (초). 이 제한 시간을 BROKEN 초과하면 구성 요소의 상태가 로 변경됩니다.

기본값: 120

예: 구성 병합 업데이트 (제한적 정책 사용)

다음 예제 구성에서는 이름이 로 시작하는 클라이언트 장치가 모든 주제에 대해 연결 및 MyClientDevice 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
예: 구성 병합 업데이트 (허용 정책 사용)

다음 예제 구성은 모든 클라이언트 장치가 모든 주제에 대해 연결 및 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
v2.4.2 - v2.4.4
deviceGroups

장치 그룹은 코어 장치에 연결하고 통신할 수 있는 권한이 있는 클라이언트 장치 그룹입니다. 선택 규칙을 사용하여 클라이언트 장치 그룹을 식별하고 각 장치 그룹에 대한 권한을 지정하는 클라이언트 장치 인증 정책을 정의합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

formatVersion

이 구성 개체의 형식 버전입니다.

다음 옵션 중 하나를 선택합니다.

  • 2021-03-05

definitions

이 코어 디바이스의 디바이스 그룹. 각 정의는 클라이언트 장치가 그룹의 구성원인지 평가하는 선택 규칙을 지정합니다. 또한 각 정의는 선택 규칙과 일치하는 클라이언트 장치에 적용할 권한 정책을 지정합니다. 클라이언트 장치가 여러 장치 그룹의 구성원인 경우 장치 권한은 각 그룹의 권한 정책으로 구성됩니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

groupNameKey

이 장치 그룹의 이름. 이 장치 그룹을 식별하는 데 도움이 되는 groupNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

selectionRule

이 장치 그룹의 구성원인 클라이언트 장치를 지정하는 쿼리입니다. 클라이언트 장치가 연결되면 코어 장치는 이 선택 규칙을 평가하여 클라이언트 장치가 이 장치 그룹의 구성원인지 확인합니다. 클라이언트 장치가 구성원인 경우 코어 장치는 이 장치 그룹의 정책을 사용하여 클라이언트 장치의 동작을 승인합니다.

각 선택 규칙은 클라이언트 장치와 일치할 수 있는 단일 표현식 쿼리인 하나 이상의 선택 규칙 조항으로 구성됩니다. 선택 규칙은 AWS IoT 플릿 인덱싱과 동일한 쿼리 구문을 사용합니다. 선택 규칙 구문에 대한 자세한 내용은 AWS IoT Core 개발자 안내서의AWS IoT 플릿 인덱싱 쿼리 구문을 참조하십시오.

*와일드카드를 사용하면 하나의 선택 규칙 조항으로 여러 클라이언트 장치를 일치시킬 수 있습니다. 사물 이름 끝에 이 와일드카드를 사용하여 이름이 지정한 문자열로 시작하는 클라이언트 장치를 일치시킬 수 있습니다. 이 와일드카드를 사용하여 모든 클라이언트 디바이스를 일치시킬 수도 있습니다.

참고

콜론 문자 () 가 포함된 값을 선택하려면 콜론을 이스케이프하여 백슬래시 문자 (:) 를 사용하십시오. \\ JSON과 같은 형식에서는 백슬래시 문자를 이스케이프 처리해야 하므로 콜론 문자 앞에 백슬래시 문자 두 개를 입력합니다. 예를 들어, 이름이 다음과 같은 항목을 thingName: MyTeam\\\\:ClientDevice1 선택하도록 지정합니다. MyTeam:ClientDevice1

다음 선택기를 지정할 수 있습니다.

  • thingName— 클라이언트 장치 사물의 이름 AWS IoT .

예 선택 규칙 예시

다음 선택 규칙은 이름이 MyClientDevice1 또는 인 클라이언트 장치와 MyClientDevice2 일치합니다.

thingName: MyClientDevice1 OR thingName: MyClientDevice2
예 선택 규칙 예시 (와일드카드 사용)

다음 선택 규칙은 이름이 로 시작하는 클라이언트 디바이스와 MyClientDevice 일치합니다.

thingName: MyClientDevice*
예 선택 규칙 예시 (모든 장치 매칭)

다음 선택 규칙은 모든 클라이언트 장치와 일치합니다.

thingName: *
policyName

이 장치 그룹의 클라이언트 장치에 적용되는 권한 정책. policies개체에 정의한 정책 이름을 지정합니다.

policies

코어 장치에 연결하는 클라이언트 장치에 대한 클라이언트 장치 권한 부여 정책. 각 권한 부여 정책은 클라이언트 장치가 이러한 작업을 수행할 수 있는 일련의 작업과 리소스를 지정합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

policyNameKey

이 권한 부여 정책의 이름. 이 권한 부여 정책을 식별하는 데 도움이 되는 policyNameKey이름으로 바꾸십시오. 이 정책 이름을 사용하여 장치 그룹에 적용할 정책을 정의할 수 있습니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

statementNameKey

이 정책 설명의 이름. 이 정책 설명을 식별하는 데 도움이 되는 statementNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

operations

이 정책에서 리소스를 허용하기 위한 작업 목록.

다음 작업 중 하나를 포함할 수 있습니다.

  • mqtt:connect— 코어 디바이스에 연결할 수 있는 권한을 부여합니다. 클라이언트 장치에 코어 장치에 연결하려면 이 권한이 있어야 합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:clientId:deviceClientId— 클라이언트 장치가 코어 장치의 MQTT 브로커에 연결하는 데 사용하는 클라이언트 ID를 기반으로 액세스를 제한합니다. 사용할 클라이언트 deviceClientIdID로 바꾸십시오.

  • mqtt:publish— MQTT 메시지를 주제에 게시할 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topic:mqttTopic— 클라이언트 장치가 메시지를 게시하는 MQTT 주제에 따라 액세스를 제한합니다. MQTTtopic을 사용할 주제로 바꾸십시오.

      이 리소스는 MQTT 주제 와일드카드를 지원하지 않습니다.

  • mqtt:subscribe— MQTT 주제 필터를 구독하여 메시지를 받을 수 있는 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topicfilter:mqttTopicFilter— 클라이언트 장치가 메시지를 구독할 수 있는 MQTT 주제에 따라 액세스를 제한합니다. 사용할 주제 mqttTopicFilter필터로 바꾸십시오.

      이 리소스는 +# MQTT 주제 와일드카드를 지원합니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core

      클라이언트 장치는 허용한 정확한 주제 필터를 구독할 수 있습니다. 예를 들어 클라이언트 장치가 mqtt:topicfilter:client/+/status 리소스를 구독하도록 허용하면 클라이언트 장치는 구독할 수 client/+/status 있지만 구독할 수는 없습니다client/client1/status.

*와일드카드를 지정하여 모든 작업에 대한 액세스를 허용할 수 있습니다.

resources

이 정책에서 작업을 허용할 리소스 목록입니다. 이 정책의 작업에 해당하는 리소스를 지정하십시오. 예를 들어 mqtt:publish 작업을 지정하는 정책에 MQTT 주제 리소스 목록 (mqtt:topic:mqttTopic) 을 지정할 수 있습니다.

*와일드카드를 지정하여 모든 리소스에 대한 액세스를 허용할 수 있습니다. *와일드카드를 사용하여 부분 리소스 식별자를 일치시킬 수는 없습니다. 예를 들어 지정할 수는 있지만 지정할 "resources": "*" 수는 없습니다. "resources": "mqtt:clientId:*"

statementDescription

(선택 사항) 이 정책 설명에 대한 설명.

certificates

(선택 사항) 이 코어 디바이스의 인증서 구성 옵션. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

serverCertificateValiditySeconds

(선택 사항) 로컬 MQTT 서버 인증서가 만료되는 시간 (초). 이 옵션을 구성하여 클라이언트 장치의 연결을 끊었다가 코어 장치에 다시 연결하는 빈도를 사용자 지정할 수 있습니다.

이 구성 요소는 만료되기 24시간 전에 로컬 MQTT 서버 인증서를 교체합니다. MQTT 브로커 (예: Moquette MQTT 브로커 구성 요소) 가 새 인증서를 생성하고 다시 시작합니다. 이 경우 이 코어 디바이스에 연결된 모든 클라이언트 디바이스의 연결이 끊어집니다. 잠시 후 클라이언트 장치를 코어 장치에 다시 연결할 수 있습니다.

기본값: 604800 (7일)

최소값: 172800 (2일)

최대치: 864000 (10일)

performance

(선택 사항) 이 코어 디바이스의 성능 구성 옵션. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

maxActiveAuthTokens

(선택 사항) 활성 클라이언트 장치 인증 토큰의 최대 수. 이 수를 늘리면 더 많은 수의 클라이언트 장치를 재인증하지 않고도 단일 코어 장치에 연결할 수 있습니다.

기본값: 2500

cloudRequestQueueSize

(선택 사항) 이 구성 요소가 AWS 클라우드 요청을 거부하기 전에 대기열에 추가할 최대 요청 수입니다.

기본값: 100

maxConcurrentCloudRequests

(선택 사항) 에 전송할 최대 동시 요청 수입니다. AWS 클라우드이 수를 늘리면 많은 수의 클라이언트 장치를 연결하는 핵심 장치의 인증 성능을 향상시킬 수 있습니다.

기본값: 1

certificateAuthority

(선택 사항) 핵심 장치 중간 기관을 자체 중간 인증 기관으로 대체하기 위한 인증 기관 구성 옵션.

참고

사용자 지정 인증 기관 (CA) 으로 Greengrass 코어 디바이스를 구성하고 동일한 CA를 사용하여 클라이언트 디바이스 인증서를 발급하는 경우 Greengrass는 클라이언트 디바이스 MQTT 작업에 대한 권한 부여 정책 검사를 우회합니다. 클라이언트 장치 인증 구성 요소는 사용하도록 구성된 CA에서 서명한 인증서를 사용하여 클라이언트를 완전히 신뢰합니다.

사용자 지정 CA를 사용할 때 이 동작을 제한하려면 다른 CA 또는 중간 CA를 사용하여 클라이언트 장치를 만들고 서명한 다음 올바른 중간 CA를 가리키도록 certificateUricertificateChainUri 필드를 조정하십시오.

이 개체에는 다음 정보가 포함됩니다.

인증서 (URI)

인증서의 위치. 파일 시스템 URI이거나 하드웨어 보안 모듈에 저장된 인증서를 가리키는 URI일 수 있습니다.

certificateChainUri

코어 디바이스 CA의 인증서 체인 위치. 이는 루트 CA로 돌아가는 완전한 인증서 체인이어야 합니다. 파일 시스템 URI이거나 하드웨어 보안 모듈에 저장된 인증서 체인을 가리키는 URI일 수 있습니다.

privateKeyUri

코어 디바이스의 개인 키 위치. 이는 파일 시스템 URI 또는 하드웨어 보안 모듈에 저장된 인증서 개인 키를 가리키는 URI일 수 있습니다.

security

(선택 사항) 이 코어 디바이스의 보안 구성 옵션. 이 개체에는 다음 정보가 들어 있습니다.

clientDeviceTrustDurationMinutes

코어 장치를 통한 재인증이 필요하기 전까지 클라이언트 장치의 인증 정보를 신뢰할 수 있는 기간 (분) 기본값은 1입니다.

metrics

(선택 사항) 이 코어 장치에 대한 메트릭 옵션. 오류 지표는 클라이언트 장치 인증에 오류가 있는 경우에만 표시됩니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

disableMetrics

disableMetrics필드가 로 true 설정된 경우 클라이언트 장치 인증은 지표를 수집하지 않습니다.

기본값: false

aggregatePeriodSeconds

집계 기간 (초) 은 클라이언트 장치 인증이 메트릭을 집계하여 원격 분석 에이전트로 보내는 빈도를 결정합니다. 원격 분석 에이전트가 여전히 하루에 한 번 메트릭을 게시하므로 메트릭의 게시 빈도는 변경되지 않습니다.

기본값: 3600

startupTimeoutSeconds

(선택 사항) 구성 요소를 시작하는 데 걸리는 최대 시간 (초). 이 제한 시간을 BROKEN 초과하면 구성 요소의 상태가 로 변경됩니다.

기본값: 120

예: 구성 병합 업데이트 (제한적 정책 사용)

다음 예제 구성에서는 이름이 로 시작하는 클라이언트 장치가 모든 주제에 대해 연결 및 MyClientDevice 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
예: 구성 병합 업데이트 (허용 정책 사용)

다음 예제 구성은 모든 클라이언트 장치가 모든 주제에 대해 연결 및 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
v2.4.0 - v2.4.1
deviceGroups

장치 그룹은 코어 장치에 연결하고 통신할 수 있는 권한이 있는 클라이언트 장치 그룹입니다. 선택 규칙을 사용하여 클라이언트 장치 그룹을 식별하고 각 장치 그룹에 대한 권한을 지정하는 클라이언트 장치 인증 정책을 정의합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

formatVersion

이 구성 개체의 형식 버전입니다.

다음 옵션 중 하나를 선택합니다.

  • 2021-03-05

definitions

이 코어 디바이스의 디바이스 그룹. 각 정의는 클라이언트 장치가 그룹의 구성원인지 평가하는 선택 규칙을 지정합니다. 또한 각 정의는 선택 규칙과 일치하는 클라이언트 장치에 적용할 권한 정책을 지정합니다. 클라이언트 장치가 여러 장치 그룹의 구성원인 경우 장치 권한은 각 그룹의 권한 정책으로 구성됩니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

groupNameKey

이 장치 그룹의 이름. 이 장치 그룹을 식별하는 데 도움이 되는 groupNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

selectionRule

이 장치 그룹의 구성원인 클라이언트 장치를 지정하는 쿼리입니다. 클라이언트 장치가 연결되면 코어 장치는 이 선택 규칙을 평가하여 클라이언트 장치가 이 장치 그룹의 구성원인지 확인합니다. 클라이언트 장치가 구성원인 경우 코어 장치는 이 장치 그룹의 정책을 사용하여 클라이언트 장치의 동작을 승인합니다.

각 선택 규칙은 클라이언트 장치와 일치할 수 있는 단일 표현식 쿼리인 하나 이상의 선택 규칙 조항으로 구성됩니다. 선택 규칙은 AWS IoT 플릿 인덱싱과 동일한 쿼리 구문을 사용합니다. 선택 규칙 구문에 대한 자세한 내용은 AWS IoT Core 개발자 안내서의AWS IoT 플릿 인덱싱 쿼리 구문을 참조하십시오.

*와일드카드를 사용하면 하나의 선택 규칙 조항으로 여러 클라이언트 장치를 일치시킬 수 있습니다. 사물 이름 끝에 이 와일드카드를 사용하여 이름이 지정한 문자열로 시작하는 클라이언트 장치를 일치시킬 수 있습니다. 이 와일드카드를 사용하여 모든 클라이언트 디바이스를 일치시킬 수도 있습니다.

참고

콜론 문자 () 가 포함된 값을 선택하려면 콜론을 이스케이프하여 백슬래시 문자 (:) 를 사용하십시오. \\ JSON과 같은 형식에서는 백슬래시 문자를 이스케이프 처리해야 하므로 콜론 문자 앞에 백슬래시 문자 두 개를 입력합니다. 예를 들어, 이름이 다음과 같은 항목을 thingName: MyTeam\\\\:ClientDevice1 선택하도록 지정합니다. MyTeam:ClientDevice1

다음 선택기를 지정할 수 있습니다.

  • thingName— 클라이언트 장치 사물의 이름 AWS IoT .

예 선택 규칙 예시

다음 선택 규칙은 이름이 MyClientDevice1 또는 인 클라이언트 장치와 MyClientDevice2 일치합니다.

thingName: MyClientDevice1 OR thingName: MyClientDevice2
예 선택 규칙 예시 (와일드카드 사용)

다음 선택 규칙은 이름이 로 시작하는 클라이언트 디바이스와 MyClientDevice 일치합니다.

thingName: MyClientDevice*
예 선택 규칙 예시 (모든 장치 매칭)

다음 선택 규칙은 모든 클라이언트 장치와 일치합니다.

thingName: *
policyName

이 장치 그룹의 클라이언트 장치에 적용되는 권한 정책. policies개체에 정의한 정책 이름을 지정합니다.

policies

코어 장치에 연결하는 클라이언트 장치에 대한 클라이언트 장치 권한 부여 정책. 각 권한 부여 정책은 클라이언트 장치가 이러한 작업을 수행할 수 있는 일련의 작업과 리소스를 지정합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

policyNameKey

이 권한 부여 정책의 이름. 이 권한 부여 정책을 식별하는 데 도움이 되는 policyNameKey이름으로 바꾸십시오. 이 정책 이름을 사용하여 장치 그룹에 적용할 정책을 정의할 수 있습니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

statementNameKey

이 정책 설명의 이름. 이 정책 설명을 식별하는 데 도움이 되는 statementNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

operations

이 정책에서 리소스를 허용하기 위한 작업 목록.

다음 작업 중 하나를 포함할 수 있습니다.

  • mqtt:connect— 코어 디바이스에 연결할 수 있는 권한을 부여합니다. 클라이언트 장치에 코어 장치에 연결하려면 이 권한이 있어야 합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:clientId:deviceClientId— 클라이언트 장치가 코어 장치의 MQTT 브로커에 연결하는 데 사용하는 클라이언트 ID를 기반으로 액세스를 제한합니다. 사용할 클라이언트 deviceClientIdID로 바꾸십시오.

  • mqtt:publish— MQTT 메시지를 주제에 게시할 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topic:mqttTopic— 클라이언트 장치가 메시지를 게시하는 MQTT 주제에 따라 액세스를 제한합니다. MQTTtopic을 사용할 주제로 바꾸십시오.

      이 리소스는 MQTT 주제 와일드카드를 지원하지 않습니다.

  • mqtt:subscribe— MQTT 주제 필터를 구독하여 메시지를 받을 수 있는 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topicfilter:mqttTopicFilter— 클라이언트 장치가 메시지를 구독할 수 있는 MQTT 주제에 따라 액세스를 제한합니다. 사용할 주제 mqttTopicFilter필터로 바꾸십시오.

      이 리소스는 +# MQTT 주제 와일드카드를 지원합니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core

      클라이언트 장치는 허용한 정확한 주제 필터를 구독할 수 있습니다. 예를 들어 클라이언트 장치가 mqtt:topicfilter:client/+/status 리소스를 구독하도록 허용하면 클라이언트 장치는 구독할 수 client/+/status 있지만 구독할 수는 없습니다client/client1/status.

*와일드카드를 지정하여 모든 작업에 대한 액세스를 허용할 수 있습니다.

resources

이 정책에서 작업을 허용할 리소스 목록입니다. 이 정책의 작업에 해당하는 리소스를 지정하십시오. 예를 들어 mqtt:publish 작업을 지정하는 정책에 MQTT 주제 리소스 목록 (mqtt:topic:mqttTopic) 을 지정할 수 있습니다.

*와일드카드를 지정하여 모든 리소스에 대한 액세스를 허용할 수 있습니다. *와일드카드를 사용하여 부분 리소스 식별자를 일치시킬 수는 없습니다. 예를 들어 지정할 수는 있지만 지정할 "resources": "*" 수는 없습니다. "resources": "mqtt:clientId:*"

statementDescription

(선택 사항) 이 정책 설명에 대한 설명.

certificates

(선택 사항) 이 코어 디바이스의 인증서 구성 옵션. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

serverCertificateValiditySeconds

(선택 사항) 로컬 MQTT 서버 인증서가 만료되는 시간 (초). 이 옵션을 구성하여 클라이언트 장치의 연결을 끊었다가 코어 장치에 다시 연결하는 빈도를 사용자 지정할 수 있습니다.

이 구성 요소는 만료되기 24시간 전에 로컬 MQTT 서버 인증서를 교체합니다. MQTT 브로커 (예: Moquette MQTT 브로커 구성 요소) 가 새 인증서를 생성하고 다시 시작합니다. 이 경우 이 코어 디바이스에 연결된 모든 클라이언트 디바이스의 연결이 끊어집니다. 잠시 후 클라이언트 장치를 코어 장치에 다시 연결할 수 있습니다.

기본값: 604800 (7일)

최소값: 172800 (2일)

최대치: 864000 (10일)

performance

(선택 사항) 이 코어 디바이스의 성능 구성 옵션. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

maxActiveAuthTokens

(선택 사항) 활성 클라이언트 장치 인증 토큰의 최대 수. 이 수를 늘리면 더 많은 수의 클라이언트 장치를 재인증하지 않고도 단일 코어 장치에 연결할 수 있습니다.

기본값: 2500

cloudRequestQueueSize

(선택 사항) 이 구성 요소가 AWS 클라우드 요청을 거부하기 전에 대기열에 추가할 최대 요청 수입니다.

기본값: 100

maxConcurrentCloudRequests

(선택 사항) 에 전송할 최대 동시 요청 수입니다. AWS 클라우드이 수를 늘리면 많은 수의 클라이언트 장치를 연결하는 핵심 장치의 인증 성능을 향상시킬 수 있습니다.

기본값: 1

certificateAuthority

(선택 사항) 핵심 장치 중간 기관을 자체 중간 인증 기관으로 대체하기 위한 인증 기관 구성 옵션. 이 개체에는 다음 정보가 들어 있습니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

인증서 (URI)

인증서의 위치. 파일 시스템 URI이거나 하드웨어 보안 모듈에 저장된 인증서를 가리키는 URI일 수 있습니다.

certificateChainUri

코어 디바이스 CA의 인증서 체인 위치. 이는 루트 CA로 돌아가는 완전한 인증서 체인이어야 합니다. 파일 시스템 URI이거나 하드웨어 보안 모듈에 저장된 인증서 체인을 가리키는 URI일 수 있습니다.

privateKeyUri

코어 디바이스의 개인 키 위치. 이는 파일 시스템 URI 또는 하드웨어 보안 모듈에 저장된 인증서 개인 키를 가리키는 URI일 수 있습니다.

security

(선택 사항) 이 코어 디바이스의 보안 구성 옵션. 이 개체에는 다음 정보가 들어 있습니다.

clientDeviceTrustDurationMinutes

코어 장치를 통한 재인증이 필요하기 전까지 클라이언트 장치의 인증 정보를 신뢰할 수 있는 기간 (분) 기본값은 1입니다.

metrics

(선택 사항) 이 코어 장치에 대한 메트릭 옵션. 오류 지표는 클라이언트 장치 인증에 오류가 있는 경우에만 표시됩니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

disableMetrics

disableMetrics필드가 로 true 설정된 경우 클라이언트 장치 인증은 지표를 수집하지 않습니다.

기본값: false

aggregatePeriodSeconds

집계 기간 (초) 은 클라이언트 장치 인증이 메트릭을 집계하여 원격 분석 에이전트로 보내는 빈도를 결정합니다. 원격 분석 에이전트가 여전히 하루에 한 번 메트릭을 게시하므로 메트릭의 게시 빈도는 변경되지 않습니다.

기본값: 3600

예: 구성 병합 업데이트 (제한적 정책 사용)

다음 예제 구성에서는 이름이 로 시작하는 클라이언트 장치가 모든 주제에 대해 연결 및 MyClientDevice 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
예: 구성 병합 업데이트 (허용 정책 사용)

다음 예제 구성은 모든 클라이언트 장치가 모든 주제에 대해 연결 및 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
v2.3.x
deviceGroups

장치 그룹은 코어 장치에 연결하고 통신할 수 있는 권한이 있는 클라이언트 장치 그룹입니다. 선택 규칙을 사용하여 클라이언트 장치 그룹을 식별하고 각 장치 그룹에 대한 권한을 지정하는 클라이언트 장치 인증 정책을 정의합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

formatVersion

이 구성 개체의 형식 버전입니다.

다음 옵션 중 하나를 선택합니다.

  • 2021-03-05

definitions

이 코어 디바이스의 디바이스 그룹. 각 정의는 클라이언트 장치가 그룹의 구성원인지 평가하는 선택 규칙을 지정합니다. 또한 각 정의는 선택 규칙과 일치하는 클라이언트 장치에 적용할 권한 정책을 지정합니다. 클라이언트 장치가 여러 장치 그룹의 구성원인 경우 장치 권한은 각 그룹의 권한 정책으로 구성됩니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

groupNameKey

이 장치 그룹의 이름. 이 장치 그룹을 식별하는 데 도움이 되는 groupNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

selectionRule

이 장치 그룹의 구성원인 클라이언트 장치를 지정하는 쿼리입니다. 클라이언트 장치가 연결되면 코어 장치는 이 선택 규칙을 평가하여 클라이언트 장치가 이 장치 그룹의 구성원인지 확인합니다. 클라이언트 장치가 구성원인 경우 코어 장치는 이 장치 그룹의 정책을 사용하여 클라이언트 장치의 동작을 승인합니다.

각 선택 규칙은 클라이언트 장치와 일치할 수 있는 단일 표현식 쿼리인 하나 이상의 선택 규칙 조항으로 구성됩니다. 선택 규칙은 AWS IoT 플릿 인덱싱과 동일한 쿼리 구문을 사용합니다. 선택 규칙 구문에 대한 자세한 내용은 AWS IoT Core 개발자 안내서의AWS IoT 플릿 인덱싱 쿼리 구문을 참조하십시오.

*와일드카드를 사용하면 하나의 선택 규칙 조항으로 여러 클라이언트 장치를 일치시킬 수 있습니다. 사물 이름 끝에 이 와일드카드를 사용하여 이름이 지정한 문자열로 시작하는 클라이언트 장치를 일치시킬 수 있습니다. 이 와일드카드를 사용하여 모든 클라이언트 디바이스를 일치시킬 수도 있습니다.

참고

콜론 문자 () 가 포함된 값을 선택하려면 콜론을 이스케이프하여 백슬래시 문자 (:) 를 사용하십시오. \\ JSON과 같은 형식에서는 백슬래시 문자를 이스케이프 처리해야 하므로 콜론 문자 앞에 백슬래시 문자 두 개를 입력합니다. 예를 들어, 이름이 다음과 같은 항목을 thingName: MyTeam\\\\:ClientDevice1 선택하도록 지정합니다. MyTeam:ClientDevice1

다음 선택기를 지정할 수 있습니다.

  • thingName— 클라이언트 장치 사물의 이름 AWS IoT .

예 선택 규칙 예시

다음 선택 규칙은 이름이 MyClientDevice1 또는 인 클라이언트 장치와 MyClientDevice2 일치합니다.

thingName: MyClientDevice1 OR thingName: MyClientDevice2
예 선택 규칙 예시 (와일드카드 사용)

다음 선택 규칙은 이름이 로 시작하는 클라이언트 디바이스와 MyClientDevice 일치합니다.

thingName: MyClientDevice*
예 선택 규칙 예시 (모든 장치 매칭)

다음 선택 규칙은 모든 클라이언트 장치와 일치합니다.

thingName: *
policyName

이 장치 그룹의 클라이언트 장치에 적용되는 권한 정책. policies개체에 정의한 정책 이름을 지정합니다.

policies

코어 장치에 연결하는 클라이언트 장치에 대한 클라이언트 장치 권한 부여 정책. 각 권한 부여 정책은 클라이언트 장치가 이러한 작업을 수행할 수 있는 일련의 작업과 리소스를 지정합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

policyNameKey

이 권한 부여 정책의 이름. 이 권한 부여 정책을 식별하는 데 도움이 되는 policyNameKey이름으로 바꾸십시오. 이 정책 이름을 사용하여 장치 그룹에 적용할 정책을 정의할 수 있습니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

statementNameKey

이 정책 설명의 이름. 이 정책 설명을 식별하는 데 도움이 되는 statementNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

operations

이 정책에서 리소스를 허용하기 위한 작업 목록.

다음 작업 중 하나를 포함할 수 있습니다.

  • mqtt:connect— 코어 디바이스에 연결할 수 있는 권한을 부여합니다. 클라이언트 장치에 코어 장치에 연결하려면 이 권한이 있어야 합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:clientId:deviceClientId— 클라이언트 장치가 코어 장치의 MQTT 브로커에 연결하는 데 사용하는 클라이언트 ID를 기반으로 액세스를 제한합니다. 사용할 클라이언트 deviceClientIdID로 바꾸십시오.

  • mqtt:publish— MQTT 메시지를 주제에 게시할 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topic:mqttTopic— 클라이언트 장치가 메시지를 게시하는 MQTT 주제에 따라 액세스를 제한합니다. MQTTtopic을 사용할 주제로 바꾸십시오.

      이 리소스는 MQTT 주제 와일드카드를 지원하지 않습니다.

  • mqtt:subscribe— MQTT 주제 필터를 구독하여 메시지를 받을 수 있는 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topicfilter:mqttTopicFilter— 클라이언트 장치가 메시지를 구독할 수 있는 MQTT 주제에 따라 액세스를 제한합니다. 사용할 주제 mqttTopicFilter필터로 바꾸십시오.

      이 리소스는 +# MQTT 주제 와일드카드를 지원합니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core

      클라이언트 장치는 허용한 정확한 주제 필터를 구독할 수 있습니다. 예를 들어 클라이언트 장치가 mqtt:topicfilter:client/+/status 리소스를 구독하도록 허용하면 클라이언트 장치는 구독할 수 client/+/status 있지만 구독할 수는 없습니다client/client1/status.

*와일드카드를 지정하여 모든 작업에 대한 액세스를 허용할 수 있습니다.

resources

이 정책에서 작업을 허용할 리소스 목록입니다. 이 정책의 작업에 해당하는 리소스를 지정하십시오. 예를 들어 mqtt:publish 작업을 지정하는 정책에 MQTT 주제 리소스 목록 (mqtt:topic:mqttTopic) 을 지정할 수 있습니다.

*와일드카드를 지정하여 모든 리소스에 대한 액세스를 허용할 수 있습니다. *와일드카드를 사용하여 부분 리소스 식별자를 일치시킬 수는 없습니다. 예를 들어 지정할 수는 있지만 지정할 "resources": "*" 수는 없습니다. "resources": "mqtt:clientId:*"

statementDescription

(선택 사항) 이 정책 설명에 대한 설명.

certificates

(선택 사항) 이 코어 디바이스의 인증서 구성 옵션. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

serverCertificateValiditySeconds

(선택 사항) 로컬 MQTT 서버 인증서가 만료되는 시간 (초). 이 옵션을 구성하여 클라이언트 장치의 연결을 끊었다가 코어 장치에 다시 연결하는 빈도를 사용자 지정할 수 있습니다.

이 구성 요소는 만료되기 24시간 전에 로컬 MQTT 서버 인증서를 교체합니다. MQTT 브로커 (예: Moquette MQTT 브로커 구성 요소) 가 새 인증서를 생성하고 다시 시작합니다. 이 경우 이 코어 디바이스에 연결된 모든 클라이언트 디바이스의 연결이 끊어집니다. 잠시 후 클라이언트 장치를 코어 장치에 다시 연결할 수 있습니다.

기본값: 604800 (7일)

최소값: 172800 (2일)

최대치: 864000 (10일)

performance

(선택 사항) 이 코어 디바이스의 성능 구성 옵션. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

maxActiveAuthTokens

(선택 사항) 활성 클라이언트 장치 인증 토큰의 최대 수. 이 수를 늘리면 더 많은 수의 클라이언트 장치를 재인증하지 않고도 단일 코어 장치에 연결할 수 있습니다.

기본값: 2500

cloudRequestQueueSize

(선택 사항) 이 구성 요소가 AWS 클라우드 요청을 거부하기 전에 대기열에 추가할 최대 요청 수입니다.

기본값: 100

maxConcurrentCloudRequests

(선택 사항) 에 전송할 최대 동시 요청 수입니다. AWS 클라우드이 수를 늘리면 많은 수의 클라이언트 장치를 연결하는 핵심 장치의 인증 성능을 향상시킬 수 있습니다.

기본값: 1

certificateAuthority

(선택 사항) 핵심 장치 중간 기관을 자체 중간 인증 기관으로 대체하기 위한 인증 기관 구성 옵션. 이 개체에는 다음 정보가 들어 있습니다.

인증서 (URI)

인증서의 위치. 파일 시스템 URI이거나 하드웨어 보안 모듈에 저장된 인증서를 가리키는 URI일 수 있습니다.

certificateChainUri

코어 디바이스 CA의 인증서 체인 위치. 이는 루트 CA로 돌아가는 완전한 인증서 체인이어야 합니다. 파일 시스템 URI이거나 하드웨어 보안 모듈에 저장된 인증서 체인을 가리키는 URI일 수 있습니다.

privateKeyUri

코어 디바이스의 개인 키 위치. 이는 파일 시스템 URI 또는 하드웨어 보안 모듈에 저장된 인증서 개인 키를 가리키는 URI일 수 있습니다.

security

(선택 사항) 이 코어 디바이스의 보안 구성 옵션. 이 개체에는 다음 정보가 들어 있습니다.

clientDeviceTrustDurationMinutes

코어 장치를 사용하여 재인증해야 하기 전까지 클라이언트 장치의 인증 정보를 신뢰할 수 있는 기간 (분). 기본값은 1입니다.

예: 구성 병합 업데이트 (제한적 정책 사용)

다음 예제 구성에서는 이름이 로 시작하는 클라이언트 장치가 모든 주제에 대해 연결 및 MyClientDevice 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
예: 구성 병합 업데이트 (허용 정책 사용)

다음 예제 구성은 모든 클라이언트 장치가 모든 주제에 대해 연결 및 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
v2.2.x
deviceGroups

장치 그룹은 코어 장치에 연결하고 통신할 수 있는 권한이 있는 클라이언트 장치 그룹입니다. 선택 규칙을 사용하여 클라이언트 장치 그룹을 식별하고 각 장치 그룹에 대한 권한을 지정하는 클라이언트 장치 인증 정책을 정의합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

formatVersion

이 구성 개체의 형식 버전입니다.

다음 옵션 중 하나를 선택합니다.

  • 2021-03-05

definitions

이 코어 디바이스의 디바이스 그룹. 각 정의는 클라이언트 장치가 그룹의 구성원인지 평가하는 선택 규칙을 지정합니다. 또한 각 정의는 선택 규칙과 일치하는 클라이언트 장치에 적용할 권한 정책을 지정합니다. 클라이언트 장치가 여러 장치 그룹의 구성원인 경우 장치 권한은 각 그룹의 권한 정책으로 구성됩니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

groupNameKey

이 장치 그룹의 이름. 이 장치 그룹을 식별하는 데 도움이 되는 groupNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

selectionRule

이 장치 그룹의 구성원인 클라이언트 장치를 지정하는 쿼리입니다. 클라이언트 장치가 연결되면 코어 장치는 이 선택 규칙을 평가하여 클라이언트 장치가 이 장치 그룹의 구성원인지 확인합니다. 클라이언트 장치가 구성원인 경우 코어 장치는 이 장치 그룹의 정책을 사용하여 클라이언트 장치의 동작을 승인합니다.

각 선택 규칙은 클라이언트 장치와 일치할 수 있는 단일 표현식 쿼리인 하나 이상의 선택 규칙 조항으로 구성됩니다. 선택 규칙은 AWS IoT 플릿 인덱싱과 동일한 쿼리 구문을 사용합니다. 선택 규칙 구문에 대한 자세한 내용은 AWS IoT Core 개발자 안내서의AWS IoT 플릿 인덱싱 쿼리 구문을 참조하십시오.

*와일드카드를 사용하면 하나의 선택 규칙 조항으로 여러 클라이언트 장치를 일치시킬 수 있습니다. 사물 이름 끝에 이 와일드카드를 사용하여 이름이 지정한 문자열로 시작하는 클라이언트 장치를 일치시킬 수 있습니다. 이 와일드카드를 사용하여 모든 클라이언트 디바이스를 일치시킬 수도 있습니다.

참고

콜론 문자 () 가 포함된 값을 선택하려면 콜론을 이스케이프하여 백슬래시 문자 (:) 를 사용하십시오. \\ JSON과 같은 형식에서는 백슬래시 문자를 이스케이프 처리해야 하므로 콜론 문자 앞에 백슬래시 문자 두 개를 입력합니다. 예를 들어, 이름이 다음과 같은 항목을 thingName: MyTeam\\\\:ClientDevice1 선택하도록 지정합니다. MyTeam:ClientDevice1

다음 선택기를 지정할 수 있습니다.

  • thingName— 클라이언트 장치 사물의 이름 AWS IoT .

예 선택 규칙 예시

다음 선택 규칙은 이름이 MyClientDevice1 또는 인 클라이언트 장치와 MyClientDevice2 일치합니다.

thingName: MyClientDevice1 OR thingName: MyClientDevice2
예 선택 규칙 예시 (와일드카드 사용)

다음 선택 규칙은 이름이 로 시작하는 클라이언트 디바이스와 MyClientDevice 일치합니다.

thingName: MyClientDevice*
예 선택 규칙 예시 (모든 장치 매칭)

다음 선택 규칙은 모든 클라이언트 장치와 일치합니다.

thingName: *
policyName

이 장치 그룹의 클라이언트 장치에 적용되는 권한 정책. policies개체에 정의한 정책 이름을 지정합니다.

policies

코어 장치에 연결하는 클라이언트 장치에 대한 클라이언트 장치 권한 부여 정책. 각 권한 부여 정책은 클라이언트 장치가 이러한 작업을 수행할 수 있는 일련의 작업과 리소스를 지정합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

policyNameKey

이 권한 부여 정책의 이름. 이 권한 부여 정책을 식별하는 데 도움이 되는 policyNameKey이름으로 바꾸십시오. 이 정책 이름을 사용하여 장치 그룹에 적용할 정책을 정의할 수 있습니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

statementNameKey

이 정책 설명의 이름. 이 정책 설명을 식별하는 데 도움이 되는 statementNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

operations

이 정책에서 리소스를 허용하기 위한 작업 목록.

다음 작업 중 하나를 포함할 수 있습니다.

  • mqtt:connect— 코어 디바이스에 연결할 수 있는 권한을 부여합니다. 클라이언트 장치에 코어 장치에 연결하려면 이 권한이 있어야 합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:clientId:deviceClientId— 클라이언트 장치가 코어 장치의 MQTT 브로커에 연결하는 데 사용하는 클라이언트 ID를 기반으로 액세스를 제한합니다. 사용할 클라이언트 deviceClientIdID로 바꾸십시오.

  • mqtt:publish— MQTT 메시지를 주제에 게시할 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topic:mqttTopic— 클라이언트 장치가 메시지를 게시하는 MQTT 주제에 따라 액세스를 제한합니다. MQTTtopic을 사용할 주제로 바꾸십시오.

      이 리소스는 MQTT 주제 와일드카드를 지원하지 않습니다.

  • mqtt:subscribe— MQTT 주제 필터를 구독하여 메시지를 받을 수 있는 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topicfilter:mqttTopicFilter— 클라이언트 장치가 메시지를 구독할 수 있는 MQTT 주제에 따라 액세스를 제한합니다. 사용할 주제 mqttTopicFilter필터로 바꾸십시오.

      이 리소스는 +# MQTT 주제 와일드카드를 지원합니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core

      클라이언트 장치는 허용한 정확한 주제 필터를 구독할 수 있습니다. 예를 들어 클라이언트 장치가 mqtt:topicfilter:client/+/status 리소스를 구독하도록 허용하면 클라이언트 장치는 구독할 수 client/+/status 있지만 구독할 수는 없습니다client/client1/status.

*와일드카드를 지정하여 모든 작업에 대한 액세스를 허용할 수 있습니다.

resources

이 정책에서 작업을 허용할 리소스 목록입니다. 이 정책의 작업에 해당하는 리소스를 지정하십시오. 예를 들어 mqtt:publish 작업을 지정하는 정책에 MQTT 주제 리소스 목록 (mqtt:topic:mqttTopic) 을 지정할 수 있습니다.

*와일드카드를 지정하여 모든 리소스에 대한 액세스를 허용할 수 있습니다. *와일드카드를 사용하여 부분 리소스 식별자를 일치시킬 수는 없습니다. 예를 들어 지정할 수는 있지만 지정할 "resources": "*" 수는 없습니다. "resources": "mqtt:clientId:*"

statementDescription

(선택 사항) 이 정책 설명에 대한 설명.

certificates

(선택 사항) 이 코어 디바이스의 인증서 구성 옵션. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

serverCertificateValiditySeconds

(선택 사항) 로컬 MQTT 서버 인증서가 만료되는 시간 (초). 이 옵션을 구성하여 클라이언트 장치의 연결을 끊었다가 코어 장치에 다시 연결하는 빈도를 사용자 지정할 수 있습니다.

이 구성 요소는 만료되기 24시간 전에 로컬 MQTT 서버 인증서를 교체합니다. MQTT 브로커 (예: Moquette MQTT 브로커 구성 요소) 가 새 인증서를 생성하고 다시 시작합니다. 이 경우 이 코어 디바이스에 연결된 모든 클라이언트 디바이스의 연결이 끊어집니다. 잠시 후 클라이언트 장치를 코어 장치에 다시 연결할 수 있습니다.

기본값: 604800 (7일)

최소값: 172800 (2일)

최대치: 864000 (10일)

performance

(선택 사항) 이 코어 디바이스의 성능 구성 옵션. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

maxActiveAuthTokens

(선택 사항) 활성 클라이언트 장치 인증 토큰의 최대 수. 이 수를 늘리면 더 많은 수의 클라이언트 장치를 재인증하지 않고도 단일 코어 장치에 연결할 수 있습니다.

기본값: 2500

cloudRequestQueueSize

(선택 사항) 이 구성 요소가 AWS 클라우드 요청을 거부하기 전에 대기열에 추가할 최대 요청 수입니다.

기본값: 100

maxConcurrentCloudRequests

(선택 사항) 에 전송할 최대 동시 요청 수입니다. AWS 클라우드이 수를 늘리면 많은 수의 클라이언트 장치를 연결하는 핵심 장치의 인증 성능을 향상시킬 수 있습니다.

기본값: 1

예: 구성 병합 업데이트 (제한적 정책 사용)

다음 예제 구성에서는 이름이 로 시작하는 클라이언트 장치가 모든 주제에 대해 연결 및 MyClientDevice 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
예: 구성 병합 업데이트 (허용 정책 사용)

다음 예제 구성은 모든 클라이언트 장치가 모든 주제에 대해 연결 및 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
v2.1.x
deviceGroups

장치 그룹은 코어 장치에 연결하고 통신할 수 있는 권한이 있는 클라이언트 장치 그룹입니다. 선택 규칙을 사용하여 클라이언트 장치 그룹을 식별하고 각 장치 그룹에 대한 권한을 지정하는 클라이언트 장치 인증 정책을 정의합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

formatVersion

이 구성 개체의 형식 버전입니다.

다음 옵션 중 하나를 선택합니다.

  • 2021-03-05

definitions

이 코어 디바이스의 디바이스 그룹. 각 정의는 클라이언트 장치가 그룹의 구성원인지 평가하는 선택 규칙을 지정합니다. 또한 각 정의는 선택 규칙과 일치하는 클라이언트 장치에 적용할 권한 정책을 지정합니다. 클라이언트 장치가 여러 장치 그룹의 구성원인 경우 장치 권한은 각 그룹의 권한 정책으로 구성됩니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

groupNameKey

이 장치 그룹의 이름. 이 장치 그룹을 식별하는 데 도움이 되는 groupNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

selectionRule

이 장치 그룹의 구성원인 클라이언트 장치를 지정하는 쿼리입니다. 클라이언트 장치가 연결되면 코어 장치는 이 선택 규칙을 평가하여 클라이언트 장치가 이 장치 그룹의 구성원인지 확인합니다. 클라이언트 장치가 구성원인 경우 코어 장치는 이 장치 그룹의 정책을 사용하여 클라이언트 장치의 동작을 승인합니다.

각 선택 규칙은 클라이언트 장치와 일치할 수 있는 단일 표현식 쿼리인 하나 이상의 선택 규칙 조항으로 구성됩니다. 선택 규칙은 AWS IoT 플릿 인덱싱과 동일한 쿼리 구문을 사용합니다. 선택 규칙 구문에 대한 자세한 내용은 AWS IoT Core 개발자 안내서의AWS IoT 플릿 인덱싱 쿼리 구문을 참조하십시오.

*와일드카드를 사용하면 하나의 선택 규칙 조항으로 여러 클라이언트 장치를 일치시킬 수 있습니다. 사물 이름 끝에 이 와일드카드를 사용하여 이름이 지정한 문자열로 시작하는 클라이언트 장치를 일치시킬 수 있습니다. 이 와일드카드를 사용하여 모든 클라이언트 디바이스를 일치시킬 수도 있습니다.

참고

콜론 문자 () 가 포함된 값을 선택하려면 콜론을 이스케이프하여 백슬래시 문자 (:) 를 사용하십시오. \\ JSON과 같은 형식에서는 백슬래시 문자를 이스케이프 처리해야 하므로 콜론 문자 앞에 백슬래시 문자 두 개를 입력합니다. 예를 들어, 이름이 다음과 같은 항목을 thingName: MyTeam\\\\:ClientDevice1 선택하도록 지정합니다. MyTeam:ClientDevice1

다음 선택기를 지정할 수 있습니다.

  • thingName— 클라이언트 장치 사물의 이름 AWS IoT .

예 선택 규칙 예시

다음 선택 규칙은 이름이 MyClientDevice1 또는 인 클라이언트 장치와 MyClientDevice2 일치합니다.

thingName: MyClientDevice1 OR thingName: MyClientDevice2
예 선택 규칙 예시 (와일드카드 사용)

다음 선택 규칙은 이름이 로 시작하는 클라이언트 디바이스와 MyClientDevice 일치합니다.

thingName: MyClientDevice*
예 선택 규칙 예시 (모든 장치 매칭)

다음 선택 규칙은 모든 클라이언트 장치와 일치합니다.

thingName: *
policyName

이 장치 그룹의 클라이언트 장치에 적용되는 권한 정책. policies개체에 정의한 정책 이름을 지정합니다.

policies

코어 장치에 연결하는 클라이언트 장치에 대한 클라이언트 장치 권한 부여 정책. 각 권한 부여 정책은 클라이언트 장치가 이러한 작업을 수행할 수 있는 일련의 작업과 리소스를 지정합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

policyNameKey

이 권한 부여 정책의 이름. 이 권한 부여 정책을 식별하는 데 도움이 되는 policyNameKey이름으로 바꾸십시오. 이 정책 이름을 사용하여 장치 그룹에 적용할 정책을 정의할 수 있습니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

statementNameKey

이 정책 설명의 이름. 이 정책 설명을 식별하는 데 도움이 되는 statementNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

operations

이 정책에서 리소스를 허용하기 위한 작업 목록.

다음 작업 중 하나를 포함할 수 있습니다.

  • mqtt:connect— 코어 디바이스에 연결할 수 있는 권한을 부여합니다. 클라이언트 장치에 코어 장치에 연결하려면 이 권한이 있어야 합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:clientId:deviceClientId— 클라이언트 장치가 코어 장치의 MQTT 브로커에 연결하는 데 사용하는 클라이언트 ID를 기반으로 액세스를 제한합니다. 사용할 클라이언트 deviceClientIdID로 바꾸십시오.

  • mqtt:publish— MQTT 메시지를 주제에 게시할 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topic:mqttTopic— 클라이언트 장치가 메시지를 게시하는 MQTT 주제에 따라 액세스를 제한합니다. MQTTtopic을 사용할 주제로 바꾸십시오.

      이 리소스는 MQTT 주제 와일드카드를 지원하지 않습니다.

  • mqtt:subscribe— MQTT 주제 필터를 구독하여 메시지를 받을 수 있는 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topicfilter:mqttTopicFilter— 클라이언트 장치가 메시지를 구독할 수 있는 MQTT 주제에 따라 액세스를 제한합니다. 사용할 주제 mqttTopicFilter필터로 바꾸십시오.

      이 리소스는 +# MQTT 주제 와일드카드를 지원합니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core

      클라이언트 장치는 허용한 정확한 주제 필터를 구독할 수 있습니다. 예를 들어 클라이언트 장치가 mqtt:topicfilter:client/+/status 리소스를 구독하도록 허용하면 클라이언트 장치는 구독할 수 client/+/status 있지만 구독할 수는 없습니다client/client1/status.

*와일드카드를 지정하여 모든 작업에 대한 액세스를 허용할 수 있습니다.

resources

이 정책에서 작업을 허용할 리소스 목록입니다. 이 정책의 작업에 해당하는 리소스를 지정하십시오. 예를 들어 mqtt:publish 작업을 지정하는 정책에 MQTT 주제 리소스 목록 (mqtt:topic:mqttTopic) 을 지정할 수 있습니다.

*와일드카드를 지정하여 모든 리소스에 대한 액세스를 허용할 수 있습니다. *와일드카드를 사용하여 부분 리소스 식별자를 일치시킬 수는 없습니다. 예를 들어 지정할 수는 있지만 지정할 "resources": "*" 수는 없습니다. "resources": "mqtt:clientId:*"

statementDescription

(선택 사항) 이 정책 설명에 대한 설명.

certificates

(선택 사항) 이 코어 디바이스의 인증서 구성 옵션. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

serverCertificateValiditySeconds

(선택 사항) 로컬 MQTT 서버 인증서가 만료되는 시간 (초). 이 옵션을 구성하여 클라이언트 장치의 연결을 끊었다가 코어 장치에 다시 연결하는 빈도를 사용자 지정할 수 있습니다.

이 구성 요소는 만료되기 24시간 전에 로컬 MQTT 서버 인증서를 교체합니다. MQTT 브로커 (예: Moquette MQTT 브로커 구성 요소) 가 새 인증서를 생성하고 다시 시작합니다. 이 경우 이 코어 디바이스에 연결된 모든 클라이언트 디바이스의 연결이 끊어집니다. 잠시 후 클라이언트 장치를 코어 장치에 다시 연결할 수 있습니다.

기본값: 604800 (7일)

최소값: 172800 (2일)

최대치: 864000 (10일)

예: 구성 병합 업데이트 (제한적 정책 사용)

다음 예제 구성에서는 이름이 로 시작하는 클라이언트 장치가 모든 주제에 대해 연결 및 MyClientDevice 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
예: 구성 병합 업데이트 (허용 정책 사용)

다음 예제 구성은 모든 클라이언트 장치가 모든 주제에 대해 연결 및 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
v2.0.x
deviceGroups

장치 그룹은 코어 장치에 연결하고 통신할 수 있는 권한이 있는 클라이언트 장치 그룹입니다. 선택 규칙을 사용하여 클라이언트 장치 그룹을 식별하고 각 장치 그룹에 대한 권한을 지정하는 클라이언트 장치 인증 정책을 정의합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

formatVersion

이 구성 개체의 형식 버전입니다.

다음 옵션 중 하나를 선택합니다.

  • 2021-03-05

definitions

이 코어 디바이스의 디바이스 그룹. 각 정의는 클라이언트 장치가 그룹의 구성원인지 평가하는 선택 규칙을 지정합니다. 또한 각 정의는 선택 규칙과 일치하는 클라이언트 장치에 적용할 권한 정책을 지정합니다. 클라이언트 장치가 여러 장치 그룹의 구성원인 경우 장치 권한은 각 그룹의 권한 정책으로 구성됩니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

groupNameKey

이 장치 그룹의 이름. 이 장치 그룹을 식별하는 데 도움이 되는 groupNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

selectionRule

이 장치 그룹의 구성원인 클라이언트 장치를 지정하는 쿼리입니다. 클라이언트 장치가 연결되면 코어 장치는 이 선택 규칙을 평가하여 클라이언트 장치가 이 장치 그룹의 구성원인지 확인합니다. 클라이언트 장치가 구성원인 경우 코어 장치는 이 장치 그룹의 정책을 사용하여 클라이언트 장치의 동작을 승인합니다.

각 선택 규칙은 클라이언트 장치와 일치할 수 있는 단일 표현식 쿼리인 하나 이상의 선택 규칙 조항으로 구성됩니다. 선택 규칙은 AWS IoT 플릿 인덱싱과 동일한 쿼리 구문을 사용합니다. 선택 규칙 구문에 대한 자세한 내용은 AWS IoT Core 개발자 안내서의AWS IoT 플릿 인덱싱 쿼리 구문을 참조하십시오.

*와일드카드를 사용하면 하나의 선택 규칙 조항으로 여러 클라이언트 장치를 일치시킬 수 있습니다. 사물 이름 끝에 이 와일드카드를 사용하여 이름이 지정한 문자열로 시작하는 클라이언트 장치를 일치시킬 수 있습니다. 이 와일드카드를 사용하여 모든 클라이언트 디바이스를 일치시킬 수도 있습니다.

참고

콜론 문자 () 가 포함된 값을 선택하려면 콜론을 이스케이프하여 백슬래시 문자 (:) 를 사용하십시오. \\ JSON과 같은 형식에서는 백슬래시 문자를 이스케이프 처리해야 하므로 콜론 문자 앞에 백슬래시 문자 두 개를 입력합니다. 예를 들어, 이름이 다음과 같은 항목을 thingName: MyTeam\\\\:ClientDevice1 선택하도록 지정합니다. MyTeam:ClientDevice1

다음 선택기를 지정할 수 있습니다.

  • thingName— 클라이언트 장치 사물의 이름 AWS IoT .

예 선택 규칙 예시

다음 선택 규칙은 이름이 MyClientDevice1 또는 인 클라이언트 장치와 MyClientDevice2 일치합니다.

thingName: MyClientDevice1 OR thingName: MyClientDevice2
예 선택 규칙 예시 (와일드카드 사용)

다음 선택 규칙은 이름이 로 시작하는 클라이언트 디바이스와 MyClientDevice 일치합니다.

thingName: MyClientDevice*
예 선택 규칙 예시 (모든 장치 매칭)

다음 선택 규칙은 모든 클라이언트 장치와 일치합니다.

thingName: *
policyName

이 장치 그룹의 클라이언트 장치에 적용되는 권한 정책. policies개체에 정의한 정책 이름을 지정합니다.

policies

코어 장치에 연결하는 클라이언트 장치에 대한 클라이언트 장치 권한 부여 정책. 각 권한 부여 정책은 클라이언트 장치가 이러한 작업을 수행할 수 있는 일련의 작업과 리소스를 지정합니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

policyNameKey

이 권한 부여 정책의 이름. 이 권한 부여 정책을 식별하는 데 도움이 되는 policyNameKey이름으로 바꾸십시오. 이 정책 이름을 사용하여 장치 그룹에 적용할 정책을 정의할 수 있습니다.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

statementNameKey

이 정책 설명의 이름. 이 정책 설명을 식별하는 데 도움이 되는 statementNameKey이름으로 바꾸십시오.

이 객체에는 다음 정보가 포함되어 있어야 합니다.

operations

이 정책에서 리소스를 허용하기 위한 작업 목록.

다음 작업 중 하나를 포함할 수 있습니다.

  • mqtt:connect— 코어 디바이스에 연결할 수 있는 권한을 부여합니다. 클라이언트 장치에 코어 장치에 연결하려면 이 권한이 있어야 합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:clientId:deviceClientId— 클라이언트 장치가 코어 장치의 MQTT 브로커에 연결하는 데 사용하는 클라이언트 ID를 기반으로 액세스를 제한합니다. 사용할 클라이언트 deviceClientIdID로 바꾸십시오.

  • mqtt:publish— MQTT 메시지를 주제에 게시할 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topic:mqttTopic— 클라이언트 장치가 메시지를 게시하는 MQTT 주제에 따라 액세스를 제한합니다. MQTTtopic을 사용할 주제로 바꾸십시오.

      이 리소스는 MQTT 주제 와일드카드를 지원하지 않습니다.

  • mqtt:subscribe— MQTT 주제 필터를 구독하여 메시지를 받을 수 있는 권한을 부여합니다.

    이 작업은 다음 리소스를 지원합니다.

    • mqtt:topicfilter:mqttTopicFilter— 클라이언트 장치가 메시지를 구독할 수 있는 MQTT 주제에 따라 액세스를 제한합니다. 사용할 주제 mqttTopicFilter필터로 바꾸십시오.

      이 리소스는 +# MQTT 주제 와일드카드를 지원합니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core

      클라이언트 장치는 허용한 정확한 주제 필터를 구독할 수 있습니다. 예를 들어 클라이언트 장치가 mqtt:topicfilter:client/+/status 리소스를 구독하도록 허용하면 클라이언트 장치는 구독할 수 client/+/status 있지만 구독할 수는 없습니다client/client1/status.

*와일드카드를 지정하여 모든 작업에 대한 액세스를 허용할 수 있습니다.

resources

이 정책에서 작업을 허용할 리소스 목록입니다. 이 정책의 작업에 해당하는 리소스를 지정하십시오. 예를 들어 mqtt:publish 작업을 지정하는 정책에 MQTT 주제 리소스 목록 (mqtt:topic:mqttTopic) 을 지정할 수 있습니다.

*와일드카드를 지정하여 모든 리소스에 대한 액세스를 허용할 수 있습니다. *와일드카드를 사용하여 부분 리소스 식별자를 일치시킬 수는 없습니다. 예를 들어 지정할 수는 있지만 지정할 "resources": "*" 수는 없습니다. "resources": "mqtt:clientId:*"

statementDescription

(선택 사항) 이 정책 설명에 대한 설명.

예: 구성 병합 업데이트 (제한적 정책 사용)

다음 예제 구성에서는 이름이 로 시작하는 클라이언트 장치가 모든 주제에 대해 연결 및 MyClientDevice 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
예: 구성 병합 업데이트 (허용 정책 사용)

다음 예제 구성은 모든 클라이언트 장치가 모든 주제에 대해 연결 및 게시/구독할 수 있도록 지정합니다.

{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }

로컬 로그 파일

이 구성 요소는 Greengrass 핵 구성 요소와 동일한 로그 파일을 사용합니다.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
이 구성 요소의 로그를 보려면
  • 코어 기기에서 다음 명령을 실행하여 이 구성 요소의 로그 파일을 실시간으로 확인합니다. /greengrass/v2또는 C:\greengrass\v2 를 AWS IoT Greengrass 루트 폴더 경로로 바꿉니다.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.

버전

변경

2.4.5

새로운 기능

매개변수로 사물 이름을 선택하기 위한 와일드카드 접두사 지원을 추가합니다. selectionRule

버그 수정 및 개선

특정 경우에 인증서가 새 연결 정보로 업데이트되지 않는 문제를 수정합니다.

2.4.4

그린그래스 뉴클리어스 버전 2.12.0 릴리스를 위해 버전이 업데이트되었습니다.

2.4.3

그린그래스 뉴클리어스 버전 2.11.0 릴리스를 위해 버전이 업데이트되었습니다.

2.4.2

새로운 기능

새 구성 옵션을 추가합니다. startupTimeoutSeconds

2.4.1

그린그래스 뉴클리어스 버전 2.10.0 릴리스를 위해 버전이 업데이트되었습니다.

2.4.0

새로운 기능
  • 원격 분석 에이전트가 게시할 운영 지표를 내보내는 클라이언트 장치 인증 지원을 추가합니다.

버그 수정 및 개선
  • 클라이언트 장치 인증이 클라이언트 장치의 ID를 확인하는 데 10초 이상 걸리는 문제를 수정합니다.

  • 추가 사소한 수정 및 개선

2.3.2

버그 수정 및 개선
  • 구성 요소가 오프라인일 때 다시 시작할 때 인증서 주체를 올바르게 생성하도록 호스트 이름 정보를 캐싱하는 지원을 추가합니다.

2.3.1

버그 수정 및 개선
  • 메모리 누수를 수정합니다.

2.3.0

주의

이 버전은 더 이상 사용할 수 없습니다. 이 버전의 개선 사항은 이 구성 요소의 이후 버전에서 사용할 수 있습니다.

새로운 기능

  • 코어 장치가 인터넷에 연결되어 있지 않아도 핵심 장치에 계속 연결할 수 있도록 클라이언트 장치의 오프라인 인증 지원을 추가합니다.

  • 코어 디바이스가 루트 인증서로 사용하여 MQTT 브로커 인증서를 생성하는 고객 제공 인증 기관에 대한 지원을 추가합니다.

2.2.3

Greengrass 뉴클리어스 버전 2.8.0 릴리스를 위해 버전이 업데이트되었습니다.

2.2.2

버그 수정 및 개선
  • 특정 시나리오에서 로컬 MQTT 서버 인증서가 의도한 것보다 더 자주 교체되는 문제를 수정합니다.

2.2.1

Greengrass 뉴클리어스 버전 2.7.0 릴리스를 위해 버전이 업데이트되었습니다.

2.2.0

새로운 기능
  • IPC (프로세스 간 통신) 작업을 호출하여 클라이언트 장치를 인증하고 권한을 부여하는 사용자 지정 구성 요소에 대한 지원을 추가합니다. 예를 들어 사용자 지정 MQTT 브로커 구성 요소에서 이러한 작업을 사용할 수 있습니다. 자세한 내용은 IPC: 클라이언트 장치 인증 및 권한 부여를 참조하십시오.

  • 이 구성 요소의 작동 방식을 조정하기 위해 구성할 수 있는 maxActiveAuthTokenscloudQueueSize, 및 threadPoolSize 옵션을 추가합니다.

2.1.0

새로운 기능
  • MQTT Broker 서버 인증서 만료 시기를 사용자 지정하도록 구성할 수 있는 serverCertificateValiditySeconds 옵션을 추가합니다. 2~10일 후에 만료되도록 서버 인증서를 구성할 수 있습니다.

버그 수정 및 개선
  • 이 구성 요소가 구성 재설정 업데이트를 처리하는 방식과 관련된 문제를 수정합니다.

  • 특정 시나리오에서 로컬 MQTT 서버 인증서가 의도한 것보다 더 자주 교체되는 문제를 수정합니다.

    이 수정 사항을 적용하려면 Moquette MQTT 브로커 구성 요소 v2.1.0 이상도 사용해야 합니다.

  • 이 구성 요소가 인증서를 교체할 때 기록하는 메시지를 개선합니다.

  • Greengrass 뉴클리어스 버전 2.6.0 릴리스를 위해 버전이 업데이트되었습니다.

2.0.4

Greengrass 뉴클리어스 버전 2.5.0 릴리스를 위해 버전이 업데이트되었습니다.

2.0.3

버그 수정 및 개선
  • 이제 코어 디바이스의 개인 키를 교체하면 자격 증명이 새로 고쳐집니다.

  • 로그 메시지를 더 명확하게 표시하도록 업데이트되었습니다.

2.0.2

그린그래스 뉴클리어스 버전 2.4.0 릴리스를 위해 버전이 업데이트되었습니다.

2.0.1

그린그래스 뉴클리어스 버전 2.3.0 릴리스를 위해 버전이 업데이트되었습니다.

2.0.0

초기 버전