디바이스 프로비저닝 MQTT API - AWS IoT Core

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

디바이스 프로비저닝 MQTT API

플릿 프로비저닝 서비스는 다음과 같은 MQTT API 작업을 지원합니다.

이 API는 주제의 페이로드 형식에 따라 간결한 이진 객체 표현 (CBOR) 형식 및 JavaScript 객체 표기법 (JSON) 의 응답 버퍼를 지원합니다. 명확성을 위해 이 섹션의 응답 및 요청 예제를 JSON 형식으로 표시했습니다.

payload-format 응답 형식 데이터 유형
cbor Concise Binary Object Representation(CBOR)
json JavaScript 객체 표기법 (JSON)
중요

요청 메시지 주제를 게시하기 전에 응답 주제를 구독하여 응답을 수신합니다. 이 API에서 사용되는 메시지는 MQTT의 게시/구독 프로토콜을 사용하여 요청 및 응답 상호 작용을 제공합니다.

요청을 게시하기 전에 응답 주제를 구독하지 않으면 해당 요청의 결과를 받지 못할 수 있습니다.

CreateCertificateFromCsr

CSR (인증서 서명 요청) 에서 인증서를 생성합니다. AWS IoT Amazon 루트 인증 기관 (CA) 에서 서명한 클라이언트 인증서를 제공합니다. 새 인증서의 상태는 PENDING_ACTIVATION입니다. 이 인증서로 사물을 프로비저닝하도록 RegisterThing를 호출하면 템플릿에 설명된 대로 인증서 상태가 ACTIVE 또는 INACTIVE로 변경됩니다.

인증 기관 인증서 및 인증서 서명 요청을 사용하여 클라이언트 인증서를 생성하는 방법에 대한 자세한 내용은 CA 인증서를 사용하여 클라이언트 인증서 생성 섹션을 참조하세요.

참고

보안을 위해 CreateCertificateFromCsr에 의해 반환된 certificateOwnershipToken은 1시간 후에 만료됩니다. RegisterThingcertificateOwnershipToken이 만료되기 전에 호출되어야 합니다. 에서 생성한 인증서가 토큰이 만료될 때까지 활성화되어 정책이나 사물에 CreateCertificateFromCsr 연결되지 않은 경우 인증서가 삭제됩니다. 토큰이 만료되면 디바이스는 CreateCertificateFromCsr을 호출하여 새 인증서를 생성할 수 있습니다.

CreateCertificateFromCsr요청

$aws/certificates/create-from-csr/payload-format 주제와 함께 메시지를 게시합니다.

payload-format

cbor 또는 json와 같은 메시지 페이로드 형식입니다.

CreateCertificateFromCsr요청 페이로드

{ "certificateSigningRequest": "string" }
certificateSigningRequest

PEM 형식의 CSR입니다.

CreateCertificateFromCsr응답

$aws/certificates/create-from-csr/payload-format/accepted을 구독합니다.

payload-format

cbor 또는 json와 같은 메시지 페이로드 형식입니다.

CreateCertificateFromCsr 응답 페이로드

{ "certificateOwnershipToken": "string", "certificateId": "string", "certificatePem": "string" }
certificateOwnershipToken

프로비저닝하는 동안 인증서의 소유권을 증명하는 토큰입니다.

certificateId

인증서 ID입니다. 인증서 관리 작업에서는 certificateId만 필요합니다.

certificatePem

PEM 형식의 인증서 데이터입니다.

CreateCertificateFromCsr 오류

오류 응답을 수신하려면 $aws/certificates/create-from-csr/payload-format/rejected를 구독합니다.

payload-format

cbor 또는 json와 같은 메시지 페이로드 형식입니다.

CreateCertificateFromCsr 오류 페이로드

{ "statusCode": int, "errorCode": "string", "errorMessage": "string" }
statusCode

상태 코드

errorCode

오류 코드입니다.

errorMessage

오류 메시지입니다.

CreateKeysAndCertificate

새 키와 인증서를 생성합니다. AWS IoT Amazon 루트 인증 기관 (CA) 에서 서명한 클라이언트 인증서를 제공합니다. 새 인증서의 상태는 PENDING_ACTIVATION입니다. 이 인증서로 사물을 프로비저닝하도록 RegisterThing를 호출하면 템플릿에 설명된 대로 인증서 상태가 ACTIVE 또는 INACTIVE로 변경됩니다.

참고

보안을 위해 CreateKeysAndCertificate에 의해 반환된 certificateOwnershipToken은 1시간 후에 만료됩니다. RegisterThingcertificateOwnershipToken이 만료되기 전에 호출되어야 합니다. 에서 생성한 인증서가 토큰이 만료될 때까지 활성화되어 정책이나 사물에 CreateKeysAndCertificate 연결되지 않은 경우 인증서가 삭제됩니다. 토큰이 만료되면 디바이스는 CreateKeysAndCertificate을 호출하여 새 인증서를 생성할 수 있습니다.

CreateKeysAndCertificate요청

빈 메시지 페이로드와 함께 $aws/certificates/create/payload-format에 메시지를 게시합니다.

payload-format

cbor 또는 json와 같은 메시지 페이로드 형식입니다.

CreateKeysAndCertificate응답

$aws/certificates/create/payload-format/accepted을 구독합니다.

payload-format

cbor 또는 json와 같은 메시지 페이로드 형식입니다.

CreateKeysAndCertificate응답

{ "certificateId": "string", "certificatePem": "string", "privateKey": "string", "certificateOwnershipToken": "string" }
certificateId

인증서 ID입니다.

certificatePem

PEM 형식의 인증서 데이터입니다.

privateKey

프라이빗 키입니다.

certificateOwnershipToken

프로비저닝하는 동안 인증서의 소유권을 증명하는 토큰입니다.

CreateKeysAndCertificate 오류

오류 응답을 수신하려면 $aws/certificates/create/payload-format/rejected를 구독합니다.

payload-format

cbor 또는 json와 같은 메시지 페이로드 형식입니다.

CreateKeysAndCertificate오류 페이로드

{ "statusCode": int, "errorCode": "string", "errorMessage": "string" }
statusCode

상태 코드

errorCode

오류 코드입니다.

errorMessage

오류 메시지입니다.

RegisterThing

미리 정의된 템플릿을 사용하여 사물을 프로비저닝합니다.

RegisterThing 요청

$aws/provisioning-templates/templateName/provision/payload-format에 메시지를 게시합니다.

payload-format

cbor 또는 json와 같은 메시지 페이로드 형식입니다.

templateName

프로비저닝 템플릿 이름입니다.

RegisterThing 요청 페이로드

{ "certificateOwnershipToken": "string", "parameters": { "string": "string", ... } }
certificateOwnershipToken

인증서의 소유권을 증명하기 위한 토큰. AWS IoT MQTT를 통해 인증서를 생성할 때 토큰을 생성합니다.

parameters

선택 사항입니다. 등록 요청을 평가하기 위해 사전 프로비저닝 후크에서 사용되는 디바이스의 키-값 페어입니다.

RegisterThing 응답

$aws/provisioning-templates/templateName/provision/payload-format/accepted을 구독합니다.

payload-format

cbor 또는 json와 같은 메시지 페이로드 형식입니다.

templateName

프로비저닝 템플릿 이름입니다.

RegisterThing 응답 페이로드

{ "deviceConfiguration": { "string": "string", ... }, "thingName": "string" }
deviceConfiguration

템플릿에 정의된 디바이스 구성입니다.

thingName

프로비저닝 중에 생성된 IoT 사물의 이름입니다.

RegisterThing 오류 응답

오류 응답을 수신하려면 $aws/provisioning-templates/templateName/provision/payload-format/rejected를 구독합니다.

payload-format

cbor 또는 json와 같은 메시지 페이로드 형식입니다.

templateName

프로비저닝 템플릿 이름입니다.

RegisterThing 오류 응답 페이로드

{ "statusCode": int, "errorCode": "string", "errorMessage": "string" }
statusCode

상태 코드

errorCode

오류 코드입니다.

errorMessage

오류 메시지입니다.