클라이언트가 AWS IoT JIT 등록(JITR)에 연결할 때 클라이언트 인증서 등록 - AWS IoT Core

클라이언트가 AWS IoT JIT 등록(JITR)에 연결할 때 클라이언트 인증서 등록

클라이언트가 AWS IoT에 처음 연결할 때 자동으로 AWS IoT에 등록하도록 서명한 클라이언트 인증서를 활성화하도록 CA 인증서를 구성할 수 있습니다.

클라이언트가 AWS IoT에 처음 연결할 때 클라이언트 인증서를 등록하려면 자동 등록을 위해 CA 인증서를 활성화하고 필요한 인증서를 제공하도록 클라이언트의 의한 첫 번째 연결을 구성해야 합니다.

자동 등록을 지원하도록 CA 인증서 구성(콘솔)

AWS IoT 콘솔을 사용하여 자동 클라이언트 인증서 등록을 지원하도록 CA 인증서를 구성하려면
  1. AWS 관리 콘솔에 로그인하여 AWS IoT 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 보안을 선택한 후 CA를 선택합니다.

  3. 인증 기관 목록에서 자동 등록을 활성화할 인증 기관을 찾은 다음 줄임표 아이콘을 사용하여 옵션 메뉴를 엽니다.

  4. 옵션 메뉴에서 자동 등록 활성화를 선택합니다.

참고

인증 기관 목록에 자동 등록 상태가 표시되지 않습니다. 인증 기관의 자동 등록 상태를 보려면 인증 기관의 세부 정보 페이지를 열어야 합니다.

자동 등록을 지원하도록 CA 인증서 구성(CLI)

AWS IoT에 CA 인증서를 이미 등록한 경우 update-ca-certificate 명령을 사용하여 CA 인증서의 autoRegistrationStatusENABLE로 설정합니다.

aws iot update-ca-certificate \ --certificate-id caCertificateId \ --new-auto-registration-status ENABLE

CA 인증서를 등록할 때 autoRegistrationStatus를 활성화하려면 register-ca-certificate 명령을 사용합니다.

aws iot register-ca-certificate \ --allow-auto-registration \ --ca-certificate file://root_CA_cert_filename.pem \ --verification-cert file://verification_cert_filename.pem

describe-ca-certificate 명령을 사용하여 CA 인증서의 상태를 확인합니다.

자동 등록을 위해 클라이언트에 의한 첫 번째 연결 구성

클라이언트가 처음으로 AWS IoT에 연결을 시도할 때는 전송 계층 보안(TLS) 핸드셰이크 중에 CA 인증서로 서명한 클라이언트 인증서가 클라이언트에 있어야 합니다.

클라이언트가 AWS IoT에 연결되면 AWS IoT 클라이언트 인증서 생성 또는 자체 클라이언트 인증서 생성에서 만든 클라이언트 인증서를 사용하세요. AWS IoT는 CA 인증서를 등록된 CA 인증서로 인식하고, 클라이언트 인증서를 등록하고, 상태를 PENDING_ACTIVATION으로 설정합니다. 이는 클라이언트 인증서가 자동으로 등록되었고 활성화를 기다리는 중임을 의미합니다. 클라이언트 인증서를 사용하여 ACTIVE에 연결하려면 먼저 클라이언트 인증서가 AWS IoT 상태여야 합니다. 클라이언트 인증서 활성화에 대한 자세한 내용은 클라이언트 인증서 활성화 또는 비활성화 섹션을 참조하세요.

참고

장치의 첫 번째 연결에서 전체 신뢰 체인을 AWS IoT Core로 전송할 필요 없이 AWS IoT Core JIT 등록(JITR) 기능을 사용하여 장치를 프로비저닝할 수 있습니다. CA 인증서를 제시하는 것은 선택 사항이지만 디바이스가 연결할 때 서버 이름 표시(SNI) 확장을 전송해야 합니다.

AWS IoT가 인증서를 자동으로 등록하는 경우 또는 디바이스가 PENDING_ACTIVATION 상태의 인증서를 제공하는 경우 AWS IoT는 메시지를 다음 MQTT 주제에 게시합니다.

$aws/events/certificates/registered/caCertificateId

여기서 caCertificateId는 디바이스 인증서를 발행한 CA 인증서의 ID입니다.

이 주제에 게시된 메시지는 구조가 다음과 같습니다.

{ "certificateId": "certificateId", "caCertificateId": "caCertificateId", "timestamp": timestamp, "certificateStatus": "PENDING_ACTIVATION", "awsAccountId": "awsAccountId", "certificateRegistrationTimestamp": "certificateRegistrationTimestamp" }

이 주제를 수신 대기하고 일부 작업을 수행하는 규칙을 생성할 수 있습니다. 클라이언트 인증서가 인증서 취소 목록(CRL)에 포함되지 않음을 확인하고, 인증서를 활성화하고, 정책을 생성하여 인증서에 연결하는 Lambda 규칙을 생성하는 것이 좋습니다. 이 정책은 클라이언트가 어떤 리소스에 액세스할 수 있는지를 결정합니다. 생성 중인 정책에 연결되어 있는 디바이스의 클라이언트 ID가 필요한 경우, 규칙의 clientid() 함수를 사용하여 클라이언트 ID를 검색할 수 있습니다. 규칙 정의 예제는 다음과 같습니다.

SELECT *, clientid() as clientid from $aws/events/certificates/registered/caCertificateId

이 예제에서 규칙은 JITR 주제 $aws/events/certificates/registered/caCertificateID를 구독하고 clientid() 함수를 사용하여 클라이언트 ID를 검색합니다. 그런 다음 규칙은 클라이언트 ID를 JITR 페이로드에 추가합니다. 규칙의 clientid() 함수에 대한 자세한 내용은 clientid()를 참조하세요.

$aws/events/certificates/registered/caCertificateID 주제를 수신 대기하고 이러한 작업을 수행하는 Lambda 규칙을 생성하는 방법에 대한 자세한 내용은Just-in-Time Registration of Device Certificates on AWS IoT을 참조하세요.

디바이스 인증서 자동 등록 중 오류 또는 예외가 발생할 경우 AWS IoT은(는) CloudWatch Logs 내 로그로 이벤트 또는 메시지를 전송합니다. 계정에 대한 로그 설정에 대한 자세한 내용은 Amazon CloudWatch 설명서를 참조하세요.