다음을 통해 공유


IoT Hub Device Provisioning Service 용어

IoT Hub DPS(Device Provisioning Service)는 IoT Hub에 대한 제로 터치 디바이스 프로비저닝을 가능하게 하는 IoT Hub용 도우미 서비스입니다. Device Provisioning Service를 사용하면 안전하고 확장 가능한 방식으로 수백만 개의 디바이스를 프로비전할 수 있습니다.

디바이스 프로비전은 두 부분으로 구성된 프로세스입니다.

  1. 첫 번째 부분은 디바이스를 등록하여 디바이스와 IoT 솔루션 간의 초기 연결을 설정합니다.
  2. 두 번째 부분은 솔루션의 특정 요구 사항에 따라 디바이스에 적절한 구성 을 적용합니다.

두 단계가 모두 완료되면 디바이스가 완전히 프로비전됩니다. Device Provisioning Service는 두 단계를 모두 자동화하여 디바이스에 원활한 프로비저닝 환경을 제공합니다.

이 문서에서는 서비스 관리에 적용할 수 있는 프로비저닝 개념에 대한 개요를 제공합니다. 이 문서는 배포할 디바이스를 준비하는 클라우드 설정 단계 와 관련된 가상 사용자와 가장 관련이 있습니다.

서비스 작업 엔드포인트

서비스 작업 엔드포인트는 서비스 설정을 관리하고 등록 목록을 유지 관리하기 위한 엔드포인트입니다. 이 엔드포인트는 서비스 관리자만 사용합니다. 디바이스에서 사용되지 않습니다.

디바이스 프로비저닝 엔드포인트

디바이스 프로비전 엔드포인트는 디바이스가 프로비전에 사용하는 엔드포인트입니다. 모든 DPS 인스턴스는 동일한 글로벌 엔드포인트 호스트 이름(global.azure-devices-provisioning.net)을 사용하지만 각 디바이스는 프로비전 프로세스 중에 특정 DPS 인스턴스를 식별하는 고유 ID 범위 도 제공해야 합니다. 즉, 여러 프로비저닝 서비스(예: 1백만 개 이상의 디바이스가 있는 배포)와 관련된 시나리오에서 여러 DPS 인스턴스 간에 디바이스를 이동할 때 디바이스 구성 또는 펌웨어 업데이트가 필요한 여러 DPS 인스턴스에 프로비전하는 디바이스는 서로 다른 ID 범위 값을 사용합니다.

연결된 IoT Hub

Device Provisioning Service는 연결된 IoT Hub에만 디바이스를 프로비전할 수 있습니다. IoT Hub를 Device Provisioning Service 인스턴스에 연결하면 서비스에서 IoT Hub의 디바이스 레지스트리에 대한 읽기/쓰기 권한을 부여합니다. 이 링크를 통해 Device Provisioning Service는 디바이스 ID를 등록하고 디바이스 쌍에서 초기 구성을 설정할 수 있습니다. 연결된 IoT Hub는 모든 Azure 지역에 있을 수 있습니다. 다른 구독의 허브를 프로비전 서비스에 연결할 수 있습니다.

자세한 내용은 IoT Hub를 연결하고 관리하는 방법을 참조하세요.

할당 정책

할당 정책은 Device Provisioning Service가 IoT Hub에 디바이스를 할당하는 방법을 결정하는 서비스 수준 설정입니다. 지원되는 할당 정책에는 다음 네 가지가 있습니다.

  • 균등하게 가중된 배포: 연결된 IoT Hub는 디바이스를 프로비전할 가능성이 높습니다. 기본 설정입니다. 디바이스를 하나의 IoT Hub에만 프로비전하는 경우 이 설정을 유지할 수 있습니다.

  • 가장 낮은 대기 시간: 디바이스는 디바이스에 대한 대기 시간이 가장 낮은 IoT Hub에 프로비전됩니다. 연결된 여러 IoT Hub가 동일한 대기 시간을 제공하는 경우 프로비전 서비스는 해당 허브에서 디바이스를 해시합니다.

  • 등록 목록을 통한 정적 구성: 등록 목록에서 원하는 IoT Hub의 사양이 서비스 수준 할당 정책보다 우선합니다.

  • 사용자 지정(Azure Function 사용): 사용자 지정 할당 정책을 사용하면 디바이스를 IoT Hub에 할당하는 방법을 더 자세히 제어할 수 있습니다. 사용자 지정 할당 정책은 Azure Function을 사용하여 IoT Hub에 디바이스를 할당합니다. 디바이스 프로비저닝 서비스는 디바이스 및 코드 등록에 대한 모든 관련 정보를 제공하는 Azure Function 코드를 호출합니다. 함수 코드가 실행되고 디바이스를 프로비전하는 데 사용되는 IoT Hub 정보를 반환합니다. 자세한 내용은 사용자 지정 할당 정책 이해를 참조하세요.

자세한 내용은 할당 정책을 사용하는 방법을 참조하세요.

등록

등록은 자동 프로비전을 통해 등록할 수 있는 디바이스 또는 디바이스 그룹의 레코드입니다. 등록 레코드에는 다음을 포함하여 디바이스 또는 디바이스 그룹에 대한 정보가 포함됩니다.

Device Provisioning Service에서 지원하는 등록 유형에는 등록 그룹 및 개별 등록의 두 가지 유형이 있습니다.

등록 그룹

등록 그룹은 특정 증명 메커니즘을 공유하는 디바이스 그룹입니다. 등록 그룹은 X.509 인증서 또는 대칭 키 증명을 지원합니다.

등록 그룹의 이름 및 디바이스에서 제공하는 등록 ID는 영숫자 문자의 대/소문자를 구분하지 않는 문자열과 특수 문자 - . _ :여야 합니다. 마지막 문자는 영숫자 또는 대시(-)여야 합니다. 등록 그룹 이름은 최대 128자까지 가능합니다. 대칭 키 등록 그룹에서 디바이스에서 제공하는 등록 ID는 최대 128자까지 가능합니다. 그러나 X.509 등록 그룹에서는 X.509 인증서의 주체 일반 이름의 최대 길이가 64자이므로 등록 ID는 64자로 제한됩니다.

X.509 등록 그룹의 디바이스에는 동일한 루트 또는 중간 CA(인증 기관)에서 서명한 X.509 인증서가 있습니다. 각 디바이스의 끝 엔터티(리프) 인증서의 주체 CN(일반 이름)은 해당 디바이스의 등록 ID가 됩니다. 대칭 키 등록 그룹의 디바이스는 그룹 대칭 키에서 파생된 SAS 토큰을 제공합니다.

등록 그룹의 디바이스의 경우 등록 ID는 IoT Hub에 등록된 디바이스 ID로도 사용됩니다.

팁 (조언)

원하는 초기 구성을 공유하는 많은 수의 디바이스 또는 모두 동일한 테넌트로 가는 디바이스에 등록 그룹을 사용하는 것이 좋습니다.

개별 등록

개별 등록은 등록할 수 있는 단일 디바이스에 대한 항목입니다. 개별 등록은 증명 메커니즘으로 X.509 리프 인증서 또는 SAS 토큰(물리적 또는 가상 TPM)을 사용할 수 있습니다.

개별 등록의 등록 ID는 영숫자 문자와 특수 문자 - . _ :의 대/소문자를 구분하지 않는 문자열입니다. 마지막 문자는 영숫자 또는 대시(-)여야 합니다. DPS는 최대 128자까지 등록 ID를 지원합니다.

X.509 개별 등록의 경우 인증서의 주체 CN(일반 이름)이 등록 ID와 일치해야 하므로 일반 이름은 등록 ID 문자열 형식을 준수해야 합니다. 주체 일반 이름은 최대 길이가 64자이므로 등록 ID는 X.509 등록의 경우 64자로 제한됩니다.

개별 등록에는 등록 항목에 지정된 원하는 IoT Hub 디바이스 ID가 있을 수 있습니다. 지정하지 않으면 등록 ID는 IoT Hub에 등록된 디바이스 ID가 됩니다.

팁 (조언)

고유한 초기 구성이 필요한 디바이스 또는 TPM 증명을 통해서만 SAS 토큰을 사용하여 인증할 수 있는 디바이스에 개별 등록을 사용하는 것이 좋습니다.

증명 메커니즘

증명 메커니즘은 디바이스의 ID를 확인하는 데 사용되는 방법입니다. 증명 메커니즘은 등록 항목에 대해 구성되며 등록 중에 디바이스의 ID를 확인할 때 사용할 방법을 프로비전 서비스에 알려줍니다.

비고

IoT Hub는 해당 서비스의 유사한 개념에 대해 "인증 체계"를 사용합니다.

Device Provisioning Service는 다음과 같은 형태의 증명을 지원합니다.

  • 표준 X.509 인증서 인증 흐름을 기반으로 하는 X.509 인증서입니다. 자세한 내용은 X.509 증명을 참조하세요.
  • TPM(신뢰할 수 있는 플랫폼 모듈) 은 키에 TPM 표준을 사용하여 서명된 SAS(공유 액세스 서명) 토큰을 제공하는 nonce 챌린지를 기반으로 합니다. 디바이스에 물리적 TPM이 필요하지는 않지만 서비스는 TPM 사양에 따라 인증 키를 사용하여 증명해야 합니다. 자세한 내용은 TPM 증명을 참조하세요.
  • 해시된 서명 및 포함된 만료를 포함하는 SAS(공유 액세스 서명) SAS 토큰을 기반으로 하는 대칭 키입니다. 자세한 내용은 대칭 키 증명을 참조하세요.

하드웨어 보안 모듈

하드웨어 보안 모듈(HSM)은 디바이스 비밀의 안전한 하드웨어 기반 스토리지에 사용되며 가장 안전한 형태의 비밀 스토리지입니다. X.509 인증서와 SAS 토큰은 모두 HSM에 저장할 수 있습니다.

팁 (조언)

디바이스에서 HSM을 사용하여 디바이스에 비밀을 안전하게 저장하는 것이 좋습니다.

디바이스 비밀은 소프트웨어(메모리)에 저장할 수도 있지만 HSM보다 덜 안전한 형태의 스토리지입니다.

ID 범위

ID 범위는 생성 시 Device Provisioning Service에 할당되며 특정 프로비전 서비스를 고유하게 식별하는 데 사용됩니다. ID 범위는 서비스에서 생성되며 변경할 수 없으며 고유성을 보장합니다. ID 범위 고유성은 장기 실행 배포 작업 및 인수 합병 시나리오에 중요합니다.

등록 레코드

등록 레코드는 Device Provisioning Service를 통해 IoT Hub에 성공적으로 등록/프로비저닝된 디바이스의 레코드입니다. 등록 레코드는 자동으로 생성됩니다. 삭제할 수 있지만 업데이트할 수는 없습니다.

등록 ID

등록 ID는 Device Provisioning Service를 사용하여 디바이스 등록을 고유하게 식별하는 데 사용됩니다. 등록 ID는 프로비전 서비스 ID 범위에서 고유해야 합니다. 각 디바이스에는 등록 ID가 있어야 합니다. 등록 ID는 영숫자 문자와 특수 문자 - . _ :의 대/소문자를 구분하지 않는 문자열입니다. 마지막 문자는 영숫자 또는 대시(-)여야 합니다. DPS는 최대 128자까지 등록 ID를 지원합니다.

  • TPM 증명을 사용하면 등록 ID가 TPM 자체에서 제공됩니다.
  • X.509 기반 증명을 사용하면 등록 ID가 디바이스 인증서의 주체 CN(일반 이름)으로 설정됩니다. 이러한 이유로 일반 이름은 등록 ID 문자열 형식을 준수해야 합니다. 그러나 등록 ID는 X.509 인증서의 주체 일반 이름의 최대 길이이므로 64자로 제한됩니다.

디바이스 ID

디바이스 ID는 IoT Hub에 표시되는 ID입니다. 원하는 디바이스 ID는 등록 항목에서 설정할 수 있지만 설정할 필요는 없습니다. 원하는 디바이스 ID 설정은 개별 등록에서만 지원됩니다. 등록 목록에 원하는 디바이스 ID가 지정되지 않은 경우 등록 ID는 디바이스를 등록할 때 디바이스 ID로 사용됩니다. IoT Hub의 디바이스 ID에 대해 자세히 알아봅니다.

Operations

작업은 Device Provisioning Service의 청구 단위입니다. 한 가지 작업은 서비스에 대한 하나의 명령이 성공적으로 완료된 것입니다. 작업에는 디바이스 등록 및 다시 등록뿐만 아니라 등록 목록 항목 추가 및 업데이트와 같은 서비스 쪽 변경 내용이 포함될 수 있습니다.