Bagikan melalui


Memahami registri identitas di IoT hub Anda

Setiap hub IoT memiliki registri identitas yang menyimpan informasi tentang perangkat dan modul yang diizinkan untuk terhubung ke hub IoT tersebut. Sebelum perangkat atau modul dapat terhubung ke IoT hub, harus ada entri untuk perangkat atau modul tersebut di registri identitas IoT hub. Perangkat atau modul mengotentikasi ke IoT hub berdasarkan kredensial yang disimpan dalam registri identitas.

ID perangkat atau ID modul yang disimpan dalam registri identitas sensitif terhadap huruf besar/kecil.

Registri identitas adalah kumpulan sumber daya identitas berkemampuan REST. Saat Anda menambahkan entri dalam registri identitas, IoT Hub membuat sekumpulan sumber daya per perangkat seperti antrean yang berisi pesan cloud ke perangkat dalam penerbangan.

Gunakan registri identitas untuk:

  • Provisi perangkat atau modul yang terhubung ke IoT hub Anda.
  • Kontrol akses per perangkat/per modul ke titik akhir hub Anda.

Operasi registri identitas

Registri identitas IoT Hub memaparkan operasi berikut:

  • Membuat identitas
  • Perbarui identitas
  • Mengambil identitas berdasarkan ID
  • Menghapus identitas
  • Daftar hingga 1.000 identitas
  • Mengekspor identitas ke penyimpanan blob Azure
  • Mengimpor identitas dari penyimpanan blob Azure

Semua operasi ini dapat menggunakan konkurensi optimis, seperti yang ditentukan dalam RFC 7232.

Registri identitas IoT Hub tidak berisi metadata aplikasi apa pun.

Penting

Hanya gunakan registri identitas untuk manajemen perangkat dan operasi provisi. Operasi throughput tinggi pada waktu proses seharusnya tidak bergantung pada melakukan operasi di registri identitas. Misalnya, memeriksa status koneksi perangkat sebelum mengirim perintah bukanlah pola yang didukung. Pastikan untuk memeriksa tingkat pembatasan akses untuk registri identitas.

Catatan

Diperlukan waktu beberapa detik agar identitas perangkat atau modul tersedia untuk dapat diambil setelah pembuatan. Jika kegagalan terjadi, Anda dapat mencoba get kembali pengoperasian identitas perangkat atau modul.

Menonaktifkan perangkat

Anda dapat menonaktifkan perangkat dengan memperbarui properti status identitas di registri identitas. Biasanya, Anda menggunakan properti ini dalam dua skenario:

  • Selama proses orkestrasi penyediaan. Untuk informasi selengkapnya, lihat Provisi Perangkat.

  • Jika menurut Anda perangkat mungkin disusupi atau tidak diizinkan untuk alasan apapun.

    Penting

    IoT Hub tidak memeriksa daftar pencabutan sertifikat saat mengautentikasi perangkat dengan autentikasi berbasis sertifikat. Jika Anda memiliki perangkat yang perlu diblokir agar tidak tersambung ke IoT Hub karena sertifikat yang berpotensi disusupi, Anda harus menonaktifkan perangkat di registri identitas.

Fitur ini tidak tersedia untuk modul.

Untuk informasi selengkapnya, lihat bagian Menonaktifkan atau menghapus perangkat dari Membuat dan mengelola identitas perangkat.

Impor dan ekspor identitas perangkat

Satu-satunya cara untuk mengambil semua identitas dalam registri identitas hub IoT adalah dengan menggunakan fungsionalitas ekspor.

Gunakan operasi asinkron pada titik akhir penyedia sumber daya IoT Hub untuk mengimpor atau mengekspor identitas perangkat secara massal dari registri identitas hub IoT. Impor dan ekspor adalah pekerjaan jangka panjang yang menggunakan kontainer blob yang disediakan pelanggan.

Untuk informasi selengkapnya tentang API impor dan ekspor, lihat Sumber Daya IoT Hub. Untuk mempelajari selengkapnya tentang menjalankan pekerjaan impor dan ekspor, lihat Mengimpor dan mengekspor identitas perangkat IoT Hub secara massal.

Identitas perangkat juga dapat diekspor dan diimpor dari hub IoT dengan menggunakan API Layanan melalui REST API atau salah satu SDK layanan IoT Hub.

Provisi perangkat

Data perangkat yang disimpan solusi IoT tertentu tergantung pada persyaratan khusus dari solusi tersebut. Tapi, minimal, solusi harus menyimpan identitas perangkat dan kunci autentikasi. Registri identitas IoT Hub dapat menyimpan nilai untuk setiap perangkat seperti ID, kunci autentikasi, dan kode status. Solusi dapat menggunakan layanan Azure lainnya seperti penyimpanan Tabel, penyimpanan Blob, atau Azure Cosmos DB untuk menyimpan data perangkat lain.

Provisi perangkat adalah proses penambahan data perangkat awal ke penyimpanan dalam solusi Anda. Untuk mengaktifkan perangkat baru agar tersambung ke hub, Anda menambahkan ID perangkat dan kunci ke registri identitas IoT Hub. Sebagai bagian dari proses provisi, Anda mungkin perlu menginisialisasi data khusus perangkat di penyimpanan solusi lainnya. Anda juga dapat menggunakan Layanan Penyiapan Perangkat Azure IoT Hub untuk mengaktifkan penyiapan otomatis dan tepat waktu ke satu atau beberapa hub IoT. Untuk informasi selengkapnya, lihat Dokumentasi Azure IoT Hub Device Provisioning Service.

Pemberitahuan siklus hidup modul dan perangkat

IoT Hub dapat memberi tahu solusi IoT Anda saat identitas perangkat dibuat atau dihapus dengan mengirim notifikasi siklus hidup. Untuk melakukannya, solusi IoT Anda perlu membuat rute dan mengatur sumber data yang sama dengan DeviceLifecycleEvents. Secara default, tidak ada pemberitahuan siklus hidup yang dikirim, yaitu, tidak ada rute seperti itu yang sudah ada sebelumnya. Saat Anda membuat rute dengan sumber data yang sama dengan DeviceLifecycleEvents, peristiwa siklus hidup dikirim untuk identitas perangkat dan identitas modul. Konten pesan berbeda tergantung pada apakah peristiwa dihasilkan untuk identitas modul atau identitas perangkat. Untuk informasi selengkapnya tentang properti dan isi yang dikembalikan dalam pesan pemberitahuan, lihat Skema peristiwa non-telemetri Azure IoT Hub.

Pemberitahuan untuk pembuatan identitas modul berbeda untuk modul IoT Edge daripada modul lainnya. Untuk modul IoT Edge, pemberitahuan pembuatan hanya dikirim jika perangkat IoT Edge yang sesuai sedang berjalan. Untuk semua modul lainnya, notifikasi siklus hidup dikirim setiap kali identitas modul diperbarui di sisi IoT Hub.

Properti identitas perangkat

Identitas perangkat dinyatakan sebagai dokumen JSON dengan properti berikut:

Properti Opsi Deskripsi
ID perangkat diperlukan, baca-saja pada pembaruan Untai peka huruf besar/kecil (panjang maksimal 128 karakter), karakter ASCII 7-bit alfanumerik, plus karakter khusus tertentu: - . % _ * ? ! ( ) , : = @ $ '. Karakter + # khusus tidak didukung.
generationId diperlukan, baca-saja String sensitif huruf besar/kecil yang dihasilkan oleh IoT Hub dengan panjang hingga 128 karakter. Nilai ini digunakan untuk membedakan perangkat dengan deviceId yang sama, saat dihapus dan dibuat ulang.
etag diperlukan, baca-saja String yang mewakili ETag lemah untuk identitas perangkat, sesuai RFC 7232.
Autentikasi opsional Objek komposit yang berisi informasi autentikasi dan materi keamanan. Untuk informasi selengkapnya, lihat AuthenticationMechanism dalam dokumentasi REST API.
kapabilitas opsional Rangkaian kemampuan perangkat. Misalnya, apakah perangkat tersebut merupakan perangkat edge atau bukan. Untuk informasi selengkapnya, lihat DeviceCapabilities dalam dokumentasi REST API.
jangkauan perangkat opsional Cakupan perangkat. Di perangkat edge, dihasilkan secara otomatis dan tidak berubah. Tidak lagi direkomendasikan di perangkat yang bukan edge. Namun, di perangkat anak (leaf), atur properti ini ke nilai yang sama dengan properti parentScopes (deviceScope dari perangkat induk) untuk kompatibilitas mundur dengan versi API sebelumnya. Untuk informasi selengkapnya, lihat bagian Hubungan induk dan turunan dari Bagaimana perangkat IoT Edge dapat digunakan sebagai gateway.
parentScopes opsional Cakupan induk langsung dari perangkat anak (nilai properti deviceScope dari perangkat induk). Pada perangkat edge, nilainya akan kosong jika perangkat tidak memiliki induk. Di perangkat nonedge, properti tidak ada jika perangkat tidak memiliki induk. Untuk informasi selengkapnya, lihat bagian Hubungan induk dan turunan dari Bagaimana perangkat IoT Edge dapat digunakan sebagai gateway.
keadaan wajib Sebuah indikator akses. Bisa Enabled atau Disabled. Jika Enabled, perangkat diizinkan untuk terhubung. Jika Disabled, perangkat tidak dapat mengakses titik akhir yang menghadap perangkat apa pun.
alasanStatus opsional Untai (karakter) sepanjang 128 karakter yang menyimpan alasan status identitas perangkat. Semua karakter UTF-8 diperbolehkan.
waktuPembaruanStatus baca-saja Indikator sementara, memperlihatkan tanggal dan waktu pembaruan status terakhir.
connectionState baca-saja Bidang yang menunjukkan status koneksi: baik Connected atau Disconnected. Bidang ini mewakili tampilan IoT Hub dari status koneksi perangkat. Penting: Bidang ini hanya boleh digunakan untuk tujuan pengembangan/penelusuran kesalahan. Status koneksi diperbarui hanya untuk perangkat yang menggunakan MQTT atau AMQP. Selain itu, ini didasarkan pada ping tingkat protokol (ping MQTT, atau ping AMQP), dan dapat memiliki penundaan maksimum hanya 5 menit. Untuk alasan ini, mungkin ada hasil positif yang keliru, seperti perangkat yang terputus yang dilaporkan terhubung.
waktuDiperbaruiStatusKoneksi baca-saja Indikator sementara, memperlihatkan tanggal dan terakhir kali status koneksi diperbarui.
lastActivityTime baca-saja Indikator sementara, memperlihatkan tanggal dan terakhir kali perangkat terhubung, menerima, atau mengirim pesan. Properti ini akhirnya konsisten, tetapi bisa tertunda hingga 5 hingga 10 menit. Untuk alasan ini, itu tidak boleh digunakan dalam skenario produksi.

Catatan

Status koneksi hanya dapat mewakili tampilan IoT Hub dari status koneksi. Pembaruan untuk status ini mungkin tertunda, tergantung pada kondisi dan konfigurasi jaringan.

Sifat identitas modul

Identitas modul dinyatakan sebagai dokumen JSON dengan properti berikut:

Properti Opsi Deskripsi
ID perangkat diperlukan, hanya dapat dibaca saat pembaruan Untai peka huruf besar/kecil (panjang maksimal 128 karakter), karakter ASCII 7-bit alfanumerik, plus karakter khusus tertentu: - . % _ * ? ! ( ) , : = @ $ '.
moduleId diperlukan, baca-saja pada pembaruan Untai peka huruf besar/kecil (panjang maksimal 128 karakter), karakter ASCII 7-bit alfanumerik, plus karakter khusus tertentu: - . % _ * ? ! ( ) , : = @ $ '. Karakter + # khusus tidak didukung.
generationId diperlukan, baca-saja Rangkaian karakter yang dihasilkan oleh IoT hub, peka terhadap huruf besar dan kecil, hingga 128 karakter. Nilai ini digunakan untuk membedakan perangkat dengan deviceId yang sama, saat dihapus dan dibuat ulang.
etag diperlukan, baca-saja Rangkaian karakter yang mewakili ETag lemah untuk identitas perangkat, sesuai RFC 7232.
Autentikasi opsional Objek komposit yang berisi informasi autentikasi dan materi keamanan. Untuk informasi selengkapnya, lihat AuthenticationMechanism dalam dokumentasi REST API.
dikelola oleh opsional Mengidentifikasi siapa yang mengelola modul ini. Misalnya, nilai ini adalah IoT Edge jika runtime edge memiliki modul ini.
jumlahPesanCloudKePerangkat baca-saja Jumlah pesan cloud-to-module yang sedang mengantre untuk dikirim ke modul.
Status Koneksi baca-saja Bidang yang menunjukkan status koneksi: baik Connected atau Disconnected. Bidang ini mewakili tampilan IoT Hub dari status koneksi perangkat. Penting: Bidang ini hanya boleh digunakan untuk tujuan pengembangan/penelusuran kesalahan. Status koneksi diperbarui hanya untuk perangkat yang menggunakan MQTT atau AMQP. Selain itu, ini didasarkan pada ping tingkat protokol (ping MQTT, atau ping AMQP), dan dapat memiliki penundaan maksimum hanya 5 menit. Untuk alasan ini, mungkin ada hasil positif yang keliru, seperti perangkat yang terputus yang dilaporkan terhubung.
waktuDiperbaruiStatusKoneksi baca-saja Indikator sementara, memperlihatkan tanggal dan terakhir kali status koneksi diperbarui.
lastActivityTime baca-saja Indikator sementara, memperlihatkan tanggal dan terakhir kali perangkat terhubung, menerima, atau mengirim pesan.

Untuk menjelajahi penggunaan IoT Hub Device Provisioning Service untuk mengaktifkan penyediaan tanpa interaksi dan tepat waktu, lihat: