IoT Hub Device Provisioning Service 용어
IoT Hub DPS(Device Provisioning Service)는 IoT Hub에 대한 제로 터치 디바이스 프로비저닝을 가능하게 하는 IoT Hub용 도우미 서비스입니다. Device Provisioning Service를 사용하여 안전하고 확장 가능한 방식으로 수백만 개의 디바이스를 프로비전할 수 있습니다.
디바이스 프로비전은 두 부분의 프로세스로 구성됩니다.
- 첫 번째 부분은 디바이스를 등록함으로써 디바이스와 IoT 솔루션 간 초기 연결을 설정하는 것입니다.
- 두 번째 부분은 솔루션의 특정 요구 사항에 따라 디바이스에 적절한 구성을 적용하는 것입니다.
두 단계가 수행되고 나면 디바이스가 완벽히 프로비전된 것입니다. Device Provisioning Service는 두 단계를 모두 자동화하여 디바이스에 원활한 프로비전 환경을 제공합니다.
이 문서는 서비스 관리에 적합한 프로비전 개념의 개요를 제공합니다. 이 문서는 배포를 위해 디바이스를 준비하는 클라우드 설치 단계에 관련된 사람에게 가장 적합합니다.
서비스 작업 엔드포인트
서비스 작업 엔드포인트는 서비스 설정을 관리하고 등록 목록을 유지 관리하기 위한 엔드포인트입니다. 이 엔드포인트는 서비스 관리자에 의해서만 사용됩니다. 디바이스에서 사용되지 않습니다.
디바이스 프로비저닝 엔드포인트
디바이스 프로비전 엔드포인트는 모든 디바이스가 프로비전에 사용하는 단일 엔드포인트입니다. URL은 공급 체인 시나리오에서 새 연결 정보를 사용하여 디바이스를 새로 고쳐야 하는 필요성을 경감하기 위해 모든 프로비전 서비스 인스턴스에 대해 동일합니다. ID 범위는 테넌트 격리를 보장합니다.
연결된 IoT 허브
Device Provisioning 서비스는 Device Provisioning 서비스에 연결된 IoT 허브에만 프로비전할 수 있습니다. IoT Hub를 Device Provisioning Service 인스턴스에 연결하면 IoT Hub의 디바이스 레지스트리에 대한 읽기/쓰기 권한이 서비스에 제공됩니다. 이 링크를 통해 Device Provisioning Service는 디바이스 ID를 등록하고 디바이스 쌍에서 초기 구성을 설정할 수 있습니다. 연결된 IoT 허브는 모든 Azure 지역에 있을 수 있습니다. 다른 구독의 허브를 프로비전 서비스에 연결할 수 있습니다.
자세한 내용은 IoT Hub를 연결하고 관리하는 방법을 참조하세요.
할당 정책
할당 정책은 Device Provisioning Service가 IoT Hub에 디바이스를 할당하는 방법을 결정하는 서비스 수준 설정입니다. 네 가지의 지원되는 할당 정책이 있습니다.
균등하게 가중치 적용 배포: 연결된 IoT 허브는 디바이스를 동일하게 프로비전했을 가능성이 있습니다. 기본 설정 디바이스를 단 하나의 IoT Hub에 프로비전하려는 경우 이 설정을 유지할 수 있습니다.
최소 대기 시간: 디바이스가 디바이스에 대한 최소 대기 시간으로 IoT 허브에 프로비전됩니다. 연결된 여러 IoT 허브가 동일한 최소 대기 시간을 제공하는 경우 프로비전 서비스는 이러한 허브에서 디바이스를 해싱합니다.
등록 목록을 통한 고정 구성: 등록 목록에서 원하는 IoT Hub의 사양을 서비스 수준 할당 정책보다 우선합니다.
사용자 지정(Azure 함수 사용): 사용자 지정 할당 정책을 사용하면 IoT Hub에 디바이스를 할당하는 방법을 더 구체적으로 제어할 수 있습니다. 사용자 지정 할당 정책은 Azure Function을 사용하여 IoT Hub에 디바이스를 할당합니다. 디바이스 프로비저닝 서비스는 Azure Function 코드를 호출하여 디바이스 및 등록과 관련된 모든 정보를 코드에 제공합니다. 실행된 함수 코드는 디바이스를 프로비전하는 데 사용된 IoT Hub 정보를 반환합니다. 자세한 내용은 사용자 지정 할당 정책 이해를 참조하세요.
자세한 내용은 할당 정책을 사용하는 방법을 참조하세요.
등록
등록은 자동 프로비전을 통해 등록될 수 있는 디바이스 또는 디바이스 그룹의 레코드입니다. 등록 레코드에는 다음을 포함하여 디바이스 또는 디바이스 그룹에 대한 정보가 들어 있습니다.
- 디바이스에서 사용되는 증명 메커니즘
- 원하는 초기 구성(선택)
- 원하는 IoT Hub
- 원하는 디바이스 ID
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 허브 디바이스 ID가 있을 수 있습니다. 지정하지 않으면 등록 ID가 IoT Hub에 등록된 디바이스 ID가 됩니다.
팁
고유한 초기 구성이 필요한 디바이스 또는 TPM 증명을 통해 SAS 토큰만으로 인증될 수 있는 디바이스의 경우 개별 등록을 사용하는 것이 좋습니다.
증명 메커니즘
증명 메커니즘은 디바이스의 ID 확인에 사용되는 방법입니다. 증명 메커니즘은 등록 항목에 대해 구성되며 등록하는 동안 디바이스 ID를 확인할 때 사용할 방법을 프로비전 서비스에 알립니다.
참고 항목
IoT Hub는 해당 서비스에서 비슷한 개념에 대해 "인증 체계"를 사용합니다.
Device Provisioning Service는 다음 형식의 증명을 지원합니다.
- 표준 X.509 인증서 인증 흐름을 기반으로 하는 X.509 인증서 자세한 내용은 X.509 증명을 참조하세요.
- nonce 문제를 기반으로 하는 TPM(신뢰할 수 있는 플랫폼 모듈)은 서명된 SAS(공유 액세스 서명) 토큰을 표시하기 위해 키에 TPM 표준을 사용합니다. 디바이스에서 실제 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에 대해 자세히 알아봅니다.
작업
작업은 Device Provisioning 서비스의 대금 청구 단위입니다. 하나의 작업은 서비스에 대한 하나의 명령의 성공적인 완료입니다. 작업에는 디바이스 등록 및 다시 등록뿐만 아니라 등록 목록 항목 추가 및 업데이트와 같은 서비스 쪽 변경이 포함될 수 있습니다.