Apa itu Azure IoT Hub Device Provisioning Service?

IoT Hub Device Provisioning Service (DPS) adalah layanan pembantu untuk IoT Hub yang memungkinkan provisi nol sentuhan dan just-in-time ke hub IoT yang tepat tanpa memerlukan intervensi manusia. DPS memungkinkan penyediaan jutaan perangkat dengan cara yang aman dan terukur. Banyak langkah manual yang secara tradisional terlibat dalam penyediaan diotomatisasi dengan DPS untuk mengurangi waktu untuk menggunakan perangkat IoT dan menurunkan risiko kesalahan manual.

Cara kerja Device Provisioning Service

Diagram berikut menjelaskan apa yang terjadi di belakang layar untuk memprovisikan perangkat dengan DPS.

Diagram that shows how the device, Device Provisioning Service, and IoT Hub work together.

Sebelum alur provisi perangkat dimulai, ada dua langkah manual untuk mempersiapkan:

  • Di sisi perangkat, produsen perangkat menyiapkan perangkat untuk provisi dengan mengonfigurasinya sebelumnya dengan kredensial autentikasinya dan ID dan titik akhir Device Provisioning Service yang ditetapkan.
  • Di sisi cloud, Anda atau produsen perangkat menyiapkan instans Device Provisioning Service dengan pendaftaran individu dan grup pendaftaran yang mengidentifikasi perangkat yang valid dan menentukan bagaimana mereka harus disediakan.

Setelah perangkat dan cloud disiapkan untuk provisi, langkah-langkah berikut dimulai secara otomatis segera setelah perangkat menyala untuk pertama kalinya:

  1. Perangkat menyala untuk pertama kalinya, lalu terhubung ke titik akhir DPS dan menyajikan kredensial autentikasinya.
  2. Instans DPS memeriksa identitas perangkat terhadap daftar pendaftarannya. Setelah identitas perangkat diverifikasi, DPS menetapkan perangkat ke hub IoT dan mendaftarkannya di hub.
  3. Instans DPS menerima ID perangkat dan informasi pendaftaran dari hub yang ditetapkan dan meneruskan informasi tersebut kembali ke perangkat.
  4. Perangkat menggunakan informasi pendaftarannya untuk terhubung langsung ke hub IoT yang ditetapkan dan mengautentikasi.
  5. Perangkat dan hub IoT mulai berkomunikasi secara langsung. Instans DPS tidak memiliki peran lebih lanjut sebagai perantara kecuali perangkat perlu melakukan provisi ulang.

Kapan menggunakan Device Provisioning Service

Ada banyak skenario provisi di mana DPS adalah pilihan yang sangat baik untuk membuat perangkat terhubung dan terkonfigurasi ke IoT Hub, seperti:

  • Provisi nol sentuhan untuk satu solusi IoT tanpa melakukan hardcoding informasi koneksi IoT Hub di pabrik (pengaturan awal)
  • Perangkat penyeimbang muatan di beberapa hub
  • Menyambungkan perangkat ke solusi IoT pemiliknya berdasarkan data transaksi penjualan (multipenyewaan)
  • Menyambungkan perangkat ke solusi IoT tertentu bergantung pada kasus penggunaan (isolasi solusi)
  • Menyambungkan perangkat ke hub IoT dengan latensi terendah (geo-sharding)
  • Melakukan provisi ulang berdasarkan perubahan pada perangkat
  • Menerapkan kunci yang digunakan oleh perangkat untuk menyambungkan ke IoT Hub (ketika tidak menggunakan sertifikat X.509 untuk menyambungkan)

Provisi perangkat IoT Edge berlapis (hierarki induk/anak) saat ini tidak didukung oleh DPS.

Proses provisi

Ada dua langkah yang terjadi di depan provisi perangkat dengan DPS:

  • Langkah manufaktur di mana perangkat dibuat dan disiapkan di pabrik, dan
  • Langkah penyiapan cloud di mana Device Provisioning Service dikonfigurasi untuk provisi otomatis.

Kedua langkah ini dapat dimasukkan ke dalam proses manufaktur dan penyebaran yang ada. DPS bahkan menyederhanakan beberapa proses penyebaran yang melibatkan upaya manual untuk mendapatkan informasi koneksi ke perangkat.

Langkah manufaktur

Langkah ini berfokus pada hal yang terjadi pada lini manufaktur. Peran yang terlibat dalam langkah ini termasuk desainer silikon, produsen silikon, integrator dan/atau produsen akhir perangkat. Langkah ini berkaitan dengan pembuatan perangkat keras itu sendiri.

DPS tidak memperkenalkan langkah baru dalam proses manufaktur; sebaliknya, ia mengikat ke langkah yang ada yang menginstal perangkat lunak awal dan (idealnya) modul keamanan perangkat keras (HSM) pada perangkat. Alih-alih membuat ID perangkat dalam langkah ini, perangkat diprogram dengan informasi layanan provisi, memungkinkannya untuk memanggil layanan provisi untuk mendapatkan info koneksi/penetapan solusi IoT saat diaktifkan.

Juga dalam langkah ini, produsen memasok penyebar/operator perangkat dengan mengidentifikasi informasi utama. Memasok informasi tersebut bisa sesederhana mengonfirmasi bahwa semua perangkat memiliki sertifikat X.509 yang dihasilkan dari sertifikat penandatanganan yang disediakan oleh penyebar/operator perangkat, atau sesederhana mengekstraksi bagian publik dari kunci dukungan TPM dari setiap perangkat TPM. Banyak produsen silikon menawarkan layanan ini.

Langkah penyiapan cloud

Langkah ini berkaitan dengan cara mengonfigurasi cloud untuk provisi otomatis yang tepat. Umumnya ada dua jenis pengguna yang terlibat dalam langkah penyiapan cloud: seseorang yang tahu bagaimana perangkat pada awalnya perlu disiapkan (operator perangkat), dan orang lain yang tahu bagaimana perangkat akan dibagi di antara hub IoT (operator solusi).

Ada pengaturan awal satu kali dari layanan provisi, yang biasanya ditangani operator solusi. Setelah layanan provisi dikonfigurasi, layanan tidak harus dimodifikasi kecuali kasus penggunaan berubah.

Setelah layanan dikonfigurasi untuk provisi otomatis, layanan harus disiapkan untuk mendaftarkan perangkat. Langkah ini dilakukan oleh operator perangkat, yang mengetahui konfigurasi perangkat yang diinginkan dan memastikan bahwa layanan provisi dapat membuktikan identitas perangkat dengan benar. Operator perangkat mengambil informasi utama identifikasi dari produsen dan menambahkannya ke daftar pendaftaran. Ada pembaruan berikutnya ke daftar pendaftaran karena entri baru ditambahkan atau entri yang ada diperbarui dengan informasi terbaru tentang perangkat.

Pendaftaran dan penyediaan

Penyediaan berarti berbagai hal tergantung pada industri tempat istilah tersebut digunakan. Dalam konteks provisi perangkat IoT ke solusi cloud mereka, penyediaan adalah proses dua bagian:

  • Bagian pertama adalah membangun koneksi awal antara perangkat dan solusi IoT dengan mendaftarkan perangkat.
  • Bagian kedua adalah menerapkan konfigurasi yang tepat ke perangkat berdasarkan persyaratan khusus dari solusi yang didaftarkannya.

Setelah kedua langkah itu selesai, kita dapat mengatakan bahwa perangkat telah sepenuhnya terprovisi. Beberapa layanan cloud hanya menyediakan langkah pertama dari proses provisi, mendaftarkan perangkat ke titik akhir solusi IoT, tetapi tidak menyediakan konfigurasi awal. DPS mengotomatiskan kedua langkah untuk memberikan pengalaman provisi yang lancar untuk perangkat.

Fitur Device Provisioning Service

DPS memiliki banyak fitur, menjadikannya ideal untuk provisi perangkat.

  • Dukungan pengesahan aman untuk identitas berbasis X.509 dan TPM.
  • Daftar pendaftaran berisi data lengkap perangkat/ grup perangkat yang mungkin pada waktu tertentu akan mendaftar. Daftar pendaftaran berisi informasi tentang konfigurasi perangkat yang diinginkan setelah mendaftar, dan dapat diperbarui kapan saja.
  • Beberapa kebijakan alokasi untuk mengontrol bagaimana DPS menetapkan perangkat ke hub IoT untuk mendukung skenario Anda: Latensi terendah, distribusi tertimbang merata (default), dan konfigurasi statis. Latensi ditentukan menggunakan metode yang sama dengan Traffic Manager. Alokasi kustom, yang memungkinkan Anda menerapkan kebijakan alokasi Anda sendiri melalui webhook yang dihosting di Azure Functions juga didukung.
  • Pemantauan dan pembuatan log diagnostik untuk memastikan semuanya berfungsi dengan baik.
  • Dukungan multi-hub memungkinkan DPS menetapkan perangkat ke lebih dari satu hub IoT. DPS dapat menghubungi hub di beberapa langganan Azure.
  • Dukungan lintas wilayah memungkinkan DPS menetapkan perangkat ke hub IoT di wilayah lain.
  • Enkripsi untuk data tidak aktif memungkinkan data dalam DPS dienkripsi dan didekripsi secara transparan menggunakan enkripsi AES 256-bit, salah satu cipher blok terkuat yang tersedia, dan sesuai dengan FIPS 140-2.

Anda dapat mempelajari selengkapnya tentang konsep dan fitur yang terlibat dalam provisi perangkat dengan meninjau artikel terminologi DPS bersama dengan artikel konseptual lainnya di bagian yang sama.

Dukungan lintas platform

Sama seperti semua layanan Azure IoT, DPS bekerja lintas platform dengan berbagai sistem operasi. Azure menawarkan SDK sumber terbuka dalam berbagai bahasa untuk memfasilitasi menghubungkan perangkat dan mengelola layanan. DPS mendukung protokol berikut untuk menyambungkan perangkat:

  • HTTPS
  • AMQP
  • AMQP melalui soket web
  • MQTT
  • MQTT melalui soket web

DPS hanya mendukung koneksi HTTPS untuk operasi layanan.

Wilayah

DPS tersedia di banyak wilayah. Daftar wilayah yang didukung untuk semua layanan tersedia di Wilayah Azure. Anda dapat memeriksa ketersediaan Layanan Provisi Perangkat di halaman Status Azure.

Untuk ketahanan dan keandalan, sebaiknya sebarkan ke salah satu wilayah yang mendukung Zona Ketersediaan.

Pertimbangan residensi data

Device Provisioning Service menyimpan data pelanggan. Secara default, data pelanggan direplikasi ke wilayah sekunder untuk mendukung skenario pemulihan bencana. Untuk penyebaran di Asia Tenggara dan Brasil Selatan, pelanggan dapat memilih untuk menyimpan data mereka hanya di wilayah tersebut dengan menonaktifkan pemulihan bencana. Untuk informasi selengkapnya, lihat Replikasi lintas wilayah di Azure.

DPS menggunakan titik akhir provisi perangkat yang sama untuk semua instans layanan provisi, dan melakukan penyeimbangan beban lalu lintas ke titik akhir layanan terdekat yang tersedia. Akibatnya, rahasia autentikasi dapat ditransfer sementara ke luar wilayah di mana instans DPS awalnya dibuat. Namun, setelah perangkat tersambung, data perangkat mengalir langsung ke wilayah asli instans DPS. Untuk memastikan bahwa data Anda tidak meninggalkan wilayah asli atau sekunder, gunakan titik akhir privat. Untuk mempelajari cara menyiapkan titik akhir privat, lihat Dukungan DPS untuk jaringan virtual.

Kuota dan Batasan

Setiap langganan Azure memiliki batas kuota default yang dapat memengaruhi cakupan solusi IoT Anda. Batas saat ini adalah 10 instans Device Provisioning Service per langganan.

Untuk informasi selengkapnya tentang batas kuota, lihat Batas Layanan Langganan Azure.

Tabel berikut ini mencantumkan batasan yang berlaku untuk sumber daya Layanan Provisi Perangkat Azure IoT Hub.

Sumber daya Batasan Dapat disesuaikan?
Layanan provisi perangkat maksimum per langganan Azure 10 No
Jumlah maksimum registrasi 1\.000.000 No
Jumlah maksimum pendaftaran individu 1\.000.000 No
Jumlah maksimum grup pendaftaran(sertifikat X.509) 100 Tidak
Jumlah maksimum grup pendaftaran(kunci konten) 100 Tidak
Jumlah maksimum CA 25 No
Jumlah maksimum IoT hub yang ditautkan 50 No
Ukuran maksimum pesan 96 KB No

Tip

Jika batas keras pada grup pendaftaran kunci simetris adalah masalah pemblokiran, disarankan untuk menggunakan pendaftaran individu sebagai solusinya.

Layanan Penyediaan Perangkat memiliki batas tarif berikut.

Tarif Nilai per unit Dapat disesuaikan?
Operasional 1.000/menit/layanan No
Registrasi perangkat 1.000/menit/layanan No
Operasi poling perangkat 5/10 detik/perangkat No

Operasi dan harga layanan yang dapat ditagih

Setiap panggilan API di DPS dapat ditagih sebagai satu operasi. Ini termasuk semua API layanan dan API pendaftaran perangkat.

Tabel di bawah ini menunjukkan status yang dapat ditagih saat ini untuk setiap operasi API layanan DPS. Untuk mempelajari selengkapnya tentang harga untuk DPS, pilih Tabel harga di bagian atas halaman harga Azure IoT Hub. Kemudian pilih tab IoT Hub Device Provisioning Service dan mata uang dan wilayah untuk layanan Anda.

API Operasi Dapat ditagih?
API Perangkat Pencarian Status Pendaftaran Perangkat No
API Perangkat Pencarian Status Operasi No
API Perangkat Mendaftarkan Perangkat Ya
API Layanan DPS (status pendaftaran) Hapus Ya
API Layanan DPS (status pendaftaran) Dapatkan Ya
API Layanan DPS (status pendaftaran) Kueri Ya
API Layanan DPS (grup pendaftaran) Buat atau Perbarui Ya
API Layanan DPS (grup pendaftaran) Hapus Ya
API Layanan DPS (grup pendaftaran) Dapatkan Ya
API Layanan DPS (grup pendaftaran) Mendapatkan Mekanisme Pengesahan Ya
API Layanan DPS (grup pendaftaran) Kueri Ya
API Layanan DPS (grup pendaftaran) Menjalankan Operasi Massal Ya
API Layanan DPS (pendaftaran individu) Buat atau Perbarui Ya
API Layanan DPS (pendaftaran individu) Hapus Ya
API Layanan DPS (pendaftaran individu) Dapatkan Ya
API Layanan DPS (pendaftaran individu) Mendapatkan Mekanisme Pengesahan Ya
API Layanan DPS (pendaftaran individu) Kueri Ya
API Layanan DPS (pendaftaran individu) Menjalankan Operasi Massal Ya
API Sertifikat DPS Buat atau Perbarui No
API Sertifikat DPS Hapus No
API Sertifikat DPS Membuat Kode Verifikasi No
API Sertifikat DPS Dapatkan No
API Sertifikat DPS Daftar No
API Sertifikat DPS Memverifikasi Sertifikat No
API Sumber Daya IoT DPS Periksa Ketersediaan Nama Layanan Provisi No
API Sumber Daya IoT DPS Buat atau Perbarui No
API Sumber Daya IoT DPS Hapus No
API Sumber Daya IoT DPS Dapatkan No
API Sumber Daya IoT DPS Dapatkan Hasil Operasi No
API Sumber Daya IoT DPS List By Resource Group No
API Sumber Daya IoT DPS List By Subscription No
API Sumber Daya IoT DPS Daftar Berdasarkan Kunci No
API Sumber Daya IoT DPS Daftar Kunci untuk Nama Kunci No
API Sumber Daya IoT DPS Daftar SKU yang Valid No
API Sumber Daya IoT DPS Pembaruan No

DPS mengotomatiskan provisi perangkat dengan Azure IoT Hub. Pelajari IoT Hub lebih lanjut.

Catatan

Provisi perangkat edge berlapis (hierarki induk/anak) saat ini tidak didukung oleh DPS.

Aplikasi IoT Central menggunakan instans DPS internal untuk mengelola koneksi perangkat. Untuk mempelajari selengkapnya, lihat Cara perangkat tersambung ke IoT Central.

Langkah berikutnya

Sekarang Anda telah mendapatkan gambaran umum provisi perangkat IoT di Azure. Langkah selanjutnya adalah mencoba skenario IoT ujung-ke-ujung.

Menyiapkan IoT Hub Device Provisioning Service dengan portal Microsoft Azure

Membuat dan memprovisikan perangkat yang disimulasikan