자습서: Azure IoT Hub Device Provisioning Service를 사용하여 IoT Hub에 디바이스를 프로비전Tutorial: Provision the device to an IoT hub using the Azure IoT Hub Device Provisioning Service

이전 자습서에서 Device Provisioning Service에 연결하기 위해 디바이스를 설정하는 방법을 배웠습니다.In the previous tutorial, you learned how to set up a device to connect to your Device Provisioning service. 이 자습서에서는 이 서비스를 사용하여 자동 프로비전 및 등록 목록 을 사용하는 단일 IoT Hub에 디바이스를 프로비전하는 방법을 배웁니다.In this tutorial, you learn how to use this service to provision your device to a single IoT hub, using auto-provisioning and enrollment lists. 이 자습서에서는 다음을 수행하는 방법에 대해 설명합니다.This tutorial shows you how to:

  • 디바이스 등록Enroll the device
  • 디바이스 시작Start the device
  • 디바이스가 등록되어 있는지 확인Verify the device is registered

사전 요구 사항Prerequisites

계속 진행하려면 Azure IoT Hub Device Provisioning Service를 사용하여 프로비전하도록 디바이스를 설정 자습서의 설명에 따라 디바이스를 구성해야 합니다.Before you proceed, make sure to configure your device as discussed in the tutorial Setup a device to provision using Azure IoT Hub Device Provisioning Service.

자동 프로비저닝 프로세스에 익숙하지 않은 경우 계속하기 전에 프로비저닝 개요를 검토하세요.If you're unfamiliar with the process of auto-provisioning, review the provisioning overview before continuing.

디바이스 등록Enroll the device

이 단계에서는 Device Provisioning Service에 디바이스의 고유 보안 아티팩트를 추가하는 것이 포함됩니다.This step involves adding the device's unique security artifacts to the Device Provisioning Service. 이러한 보안 아티팩트는 다음과 같은 디바이스의 증명 메커니즘을 기반으로 합니다.These security artifacts are based on the device's Attestation mechanism as follows:

  • TPM 기반 디바이스의 경우 다음과 같은 항목이 필요합니다.For TPM-based devices you need:

    • TPM 칩 제조업체에서 얻은 각 TPM 칩 또는 시뮬레이션에 고유한 인증 키.The Endorsement Key that is unique to each TPM chip or simulation, which is obtained from the TPM chip manufacturer. 자세한 정보는 TPM 인증 키 이해를 읽어보세요.Read the Understand TPM Endorsement Key for more information.

    • 네임스페이스/범위에서 디바이스를 고유하게 식별하는 데 사용되는 등록 ID 입니다.The Registration ID that is used to uniquely identify a device in the namespace/scope. 이 ID는 디바이스 ID와 같을 수도 있고 다를 수도 있습니다.This ID may or may not be the same as the device ID. ID는 모든 디바이스에 필수입니다.The ID is mandatory for every device. TPM 기반 디바이스의 경우 등록 ID는 TPM 인증 키의 SHA-256 해시와 같이 TPM 자체에서 파생될 수도 있습니다.For TPM-based devices, the registration ID may be derived from the TPM itself, for example, an SHA-256 hash of the TPM Endorsement Key.

      포털에서 TPM에 대한 등록 정보Enrollment information for TPM in the portal

  • X.509 기반 디바이스의 경우 다음과 같은 항목이 필요합니다.For X.509 based devices you need:

    • X.509에 발급된 인증서 칩 또는 시뮬레이션입니다. 형식은 .pem 또는 .cer 파일 중 하나입니다.The certificate issued to the X.509 chip or simulation, in the form of either a .pem or a .cer file. 개별 등록에는 X.509 시스템에 대한 디바이스별 서명자 인증서 를 사용하고, 등록 그룹에는 루트 인증서 를 사용해야 합니다.For individual enrollment, you need to use the per-device signed certificate for your X.509 system, while for enrollment groups, you need to use the root certificate.

      포털에서 X.509 증명에 대한 개별 등록 추가Add individual enrollment for X.509 attestation in the portal

Device Provisioning Service에 디바이스를 등록하는 방법은 두 가지가 있습니다.There are two ways to enroll the device to the Device Provisioning Service:

  • 등록 그룹 특정 증명 메커니즘을 공유하는 디바이스의 그룹을 나타냅니다.Enrollment Groups This represents a group of devices that share a specific attestation mechanism. 원하는 초기 구성을 공유하는 디바이스 수가 많은 경우 또는 디바이스가 모두 동일한 테넌트로 이동하는 경우 등록 그룹을 사용하는 것이 좋습니다.We recommend using an enrollment group for a large number of devices, which share a desired initial configuration, or for devices all going to the same tenant. 등록 그룹의 Id 증명에 대한 자세한 내용은 보안을 참조하세요.For more information on Identity attestation for enrollment groups, see Security.

    포털에 X.509 증명에 대한 그룹 등록 추가Add group enrollment for X.509 attestation in the portal

  • 개별 등록 Device Provisioning Service에 등록할 수도 있는 단일 디바이스에 대한 항목을 나타냅니다.Individual Enrollments This represents an entry for a single device that may register with the Device Provisioning Service. 개별 등록은 증명 메커니즘으로 x509 인증서 또는 SAS 토큰(실제 또는 가상 TPM) 중 하나를 사용할 수 있습니다.Individual enrollments may use either x509 certificates or SAS tokens (in a real or virtual TPM) as attestation mechanisms. 고유한 초기 구성이 필요한 디바이스 및 증명 메커니즘으로 TPM 또는 가상 TPM을 통해 SAS 토큰만을 사용할 수 있는 디바이스의 경우 개별 등록을 사용하는 것이 좋습니다.We recommend using individual enrollments for devices that require unique initial configurations, and devices that can only use SAS tokens via TPM or virtual TPM as the attestation mechanism. 개별 등록은 지정된 원하는 IoT Hub 디바이스 ID가 있을 수 있습니다.Individual enrollments may have the desired IoT hub device ID specified.

이제 디바이스의 증명 메커니즘에 따라 필요한 보안 아티팩트를 사용하여 디바이스를 Device Provisioning Service 인스턴스에 등록합니다.Now you enroll the device with your Device Provisioning Service instance, using the required security artifacts based on the device's attestation mechanism:

  1. Azure Portal에 로그인하고, 왼쪽 메뉴에서 모든 리소스 단추를 클릭하고, Device Provisioning Service를 엽니다.Sign in to the Azure portal, click on the All resources button on the left-hand menu and open your Device Provisioning service.

  2. Device Provisioning Service 요약 블레이드에서 등록 관리 를 선택합니다.On the Device Provisioning Service summary blade, select Manage enrollments. 개별 등록 탭 또는 등록 그룹 탭 중 하나를 디바이스 설정에 따라 탭합니다.Select either Individual Enrollments tab or the Enrollment Groups tab as per your device setup. 위쪽에 있는 추가 단추를 클릭합니다.Click the Add button at the top. TPM 또는 X.509 를 ID 증명 메커니즘 으로 선택하고, 이전에 설명된 대로 적절한 보안 아티팩트를 입력합니다.Select TPM or X.509 as the identity attestation Mechanism, and enter the appropriate security artifacts as discussed previously. IoT Hub 디바이스 ID 를 입력할 수도 있습니다.You may enter a new IoT Hub device ID. 완료되면 저장 단추를 클릭합니다.Once complete, click the Save button.

  3. 디바이스를 성공적으로 등록하면 포털에 다음과 같은 화면이 표시됩니다.When the device is successfully enrolled, you should see it displayed in the portal as follows:

    포털에서 성공적인 TPM 등록

등록 후 프로비전 서비스는 향후 특정한 시점에 이러한 디바이스가 부팅 및 연결될 때까지 대기합니다.After enrollment, the provisioning service then waits for the device to boot and connect with it at any later point in time. 디바이스를 처음으로 부팅하는 경우 클라이언트 SDK 라이브러리는 칩과 상호 작용하여 디바이스에서 보안 아티팩트를 추출하고, Device Provisioning Service에 등록을 확인합니다.When your device boots for the first time, the client SDK library interacts with your chip to extract the security artifacts from the device, and verifies registration with your Device Provisioning service.

IoT 디바이스 시작Start the IoT device

IoT 디바이스는 실제 디바이스일 수도 있고 시뮬레이션된 디바이스일 수도 있습니다.Your IoT device can be a real device, or a simulated device. IoT 디바이스가 디바이스 프로비전 서비스 인스턴스에 등록되었으니, 이제 디바이스를 부팅하고, 증명 메커니즘을 사용하여 프로비전 서비스를 호출하고 인식할 수 있습니다.Since the IoT device has now been enrolled with a Device Provisioning Service instance, the device can now boot up, and call the provisioning service to be recognized using the attestation mechanism. 프로비전 서비스에서 디바이스를 인식하면 디바이스가 IoT Hub에 할당됩니다.Once the provisioning service has recognized the device, it will be assigned to an IoT hub.

TPM 및 X.509 증명을 사용하여 시뮬레이션된 디바이스 예제가 C, Java, C#, Node.js 및 Python용으로 포함되어 있습니다.Simulated device examples, using both TPM and X.509 attestation, are included for C, Java, C#, Node.js, and Python. 예를 들어 TPM 및 Azure IoT C SDK를 사용하여 시뮬레이션된 디바이스는 디바이스의 첫 번째 부팅 시퀀스 시뮬레이션 섹션에 설명된 프로세스를 따릅니다.For example, a simulated device using TPM and the Azure IoT C SDK would follow the process covered in the Simulate first boot sequence for a device section. X.509 인증서 증명을 사용하는 동일한 디바이스는 이 부팅 시퀀스 섹션을 참조하세요.The same device using X.509 certificate attestation would refer to this boot sequence section.

실제 디바이스의 예제는 MXChip Iot DevKit에 대한 방법 가이드를 참조하세요.Refer to the How-to guide for the MXChip Iot DevKit as an example for a real device.

장치를 시작하고 장치의 클라이언트 애플리케이션이 Device Provisioning Service에 등록할 수 있도록 허용하세요.Start the device to allow your device's client application to start the registration with your Device Provisioning service.

디바이스가 등록되어 있는지 확인Verify the device is registered

디바이스가 부팅되면 다음 작업을 수행해야 합니다.Once your device boots, the following actions should take place:

  1. 디바이스가 Device Provisioning Service에 등록 요청을 보냅니다.The device sends a registration request to your Device Provisioning service.

  2. TPM 디바이스의 경우 Device Provisioning Service에서 디바이스가 응답하는 등록 챌린지를 다시 보냅니다.For TPM devices, the Device Provisioning Service sends back a registration challenge to which your device responds.

  3. 등록에 성공하면 Device Provisioning Service는 IoT Hub URI, 디바이스 ID 및 암호화된 키를 디바이스로 다시 보냅니다.On successful registration, the Device Provisioning Service sends the IoT hub URI, device ID, and the encrypted key back to the device.

  4. 그러면 디바이스의 IoT Hub 클라이언트 애플리케이션이 사용자 허브에 연결됩니다.The IoT Hub client application on the device then connects to your hub.

  5. 허브에 성공적으로 연결되면 IoT Hub의 IoT 디바이스 탐색기에 디바이스가 표시됩니다.On successful connection to the hub, you should see the device appear in the IoT hub's IoT Devices explorer.

    포털에서 허브에 연결 성공

자세한 내용은 디바이스 클라이언트 프로비전 샘플 prov_dev_client_sample.c를 참조하세요.For more information, see the provisioning device client sample, prov_dev_client_sample.c. 이 샘플은 TPM, X.509 인증서 및 대칭 키를 사용하여 시뮬레이션된 디바이스를 프로비전하는 방법을 보여줍니다.The sample demonstrates provisioning a simulated device using TPM, X.509 certificates and symmetric keys. 다시 TPM, X.509대칭 키 증명 빠른 시작을 참조하여 샘플 사용 방법에 대한 단계별 지침을 확인하세요.Refer back to the TPM, X.509, and Symmetric key attestation quickstarts for step-by-step instructions on using the sample.

다음 단계Next steps

이 자습서에서는 다음 작업 방법을 알아보았습니다.In this tutorial, you learned how to:

  • 디바이스 등록Enroll the device
  • 디바이스 시작Start the device
  • 디바이스가 등록되어 있는지 확인Verify the device is registered

부하가 분산된 허브 간 여러 디바이스를 프로비저닝하는 방법을 알아보려면 다음 자습서를 진행합니다.Advance to the next tutorial to learn how to provision multiple devices across load-balanced hubs