Klien MQTT
Dalam artikel ini, Anda mempelajari tentang mengonfigurasi klien MQTT dan grup klien.
Klien
Klien dapat berupa perangkat atau aplikasi, seperti perangkat atau kendaraan yang mengirim/menerima pesan MQTT.
Misalnya, pertimbangkan perusahaan manajemen armada dengan ratusan truk dan kendaraan pengiriman pengiriman lainnya. Anda dapat meningkatkan kemampuan perutean, pelacakan, keamanan driver, dan pemeliharaan yang dapat diprediksi dengan mengirim dan menerima pesan MQTT ke/dari layanan cloud.
Dalam skenario ini, kendaraan dapat dikonfigurasi sebagai klien yang menerbitkan/berlangganan berbagai topik seperti informasi cuaca, kondisi jalan, lokasi geografis, performa mesin dan aspek keausan kendaraan lainnya. Dan, saat mengonfigurasi kendaraan sebagai klien, sekumpulan atribut seperti jenis kendaraan, tahun, make &model, kapasitas beban maks, dll. juga dapat disertakan dalam metadata klien.
Catatan
- Panjang nama klien bisa 1-128 karakter.
- Nama klien dapat mencakup alfanumerik, tanda hubung(-), titik dua(:), titik(.), dan garis bawah(_), tanpa spasi. Ini peka huruf besar/kecil dan harus unik per namespace layanan.
Ketentuan utama metadata klien
Nama Autentikasi Klien: Anda dapat memberikan pengidentifikasi unik untuk klien tanpa batasan penamaan Azure Resource Manager. Ini adalah bidang wajib dan jika tidak disediakan secara eksplisit, bidang tersebut default ke Nama Klien.
Tidak ada dua klien yang dapat memiliki nama autentikasi yang sama dalam Namespace. Saat mengautentikasi klien, kami memperlakukan nama autentikasi Klien sebagai tidak peka huruf besar/kecil.
Kami mempertahankan kasus asli nama autentikasi klien yang Anda konfigurasikan di klien. Kami menggunakan nama autentikasi klien asli (peka huruf besar/kecil) yang disediakan ketika klien dibuat, dalam pengayaan perutean, pencocokan ruang topik, dll.
Catatan
- Nama autentikasi klien dapat memiliki panjang 1-128 karakter, string UTf-8, tanpa batasan
- Nama autentikasi klien peka huruf besar/kecil dan harus unik per namespace layanan (kasus diabaikan saat menentukan keunikan)
Skema Validasi Autentikasi Sertifikat Klien: Untuk menggunakan sertifikat CA untuk autentikasi, Anda dapat memilih dari salah satu opsi berikut untuk menentukan lokasi identitas klien dalam sertifikat klien. Ketika klien mencoba terhubung ke layanan, layanan menemukan klien mengidentifikasi dari bidang sertifikat ini dan mencocokkannya dengan nama autentikasi klien untuk mengautentikasi klien.
Kami mendukung lima bidang sertifikat:
- Subjek Cocok dengan Nama Autentikasi
- Dns Cocok dengan Nama Autentikasi
- Uri Cocok dengan Nama Autentikasi
- IP Cocok dengan Nama Autentikasi
- Email Cocok dengan Nama Autentikasi
Gunakan opsi "Thumbprint Match" saat menggunakan sertifikat yang ditandatangani sendiri untuk mengautentikasi klien.
Catatan
- clientCertificateAuthentication selalu diperlukan dengan nilai validationScheme yang valid.
- authenticationName tidak diperlukan, tetapi setelah permintaan pembuatan pertama, nilai authenticationName default ke nama ARM, lalu tidak dapat diperbarui.
- authenticationName tidak dapat diperbarui.
- Jika validationScheme adalah apa pun selain ThumbprintMatch, daftar allowedThumbprints tidak dapat disediakan.
- daftar allowedThumbprints hanya dapat disediakan dan harus disediakan jika validationScheme adalah ThumbprintMatch dengan setidaknya satu thumbprint.
- allowedThumbprints hanya dapat menampung maksimal 2 thumbprint.
- Nilai validasi yang diizinkanSkema adalah SubjectMatchesAuthenticationName, DnsMatchesAuthenticationName, UriMatchesAuthenticationName, IpMatchesAuthenticationName, EmailMatchesAuthenticationName, ThumbprintMatch
- Menggunakan thumbprint dengan izinkan penggunaan kembali sertifikat yang sama di beberapa klien. Untuk jenis validasi lainnya, nama autentikasi harus berada di bidang sertifikat klien yang dipilih.
Atribut klien
Atribut klien adalah sekumpulan pasangan atau tag nilai kunci yang ditentukan pengguna yang memberikan informasi tentang klien.
Atribut klien ini dapat digunakan untuk membuat grup klien. Misalnya, Anda dapat mengelompokkan semua kendaraan jenis semi-truk ke dalam satu kelompok dan semua kendaraan jenis pickup-truck ke dalam kelompok lain.
Atribut ini digunakan dalam kueri grup klien untuk memfilter sekumpulan klien. Atribut dapat menjelaskan karakteristik fisik atau fungsi klien. Atribut umum bisa menjadi "jenis" klien.
Berikut contohnya:
- Jenis: Nilai bisa berupa "sensor" atau "termostat" atau "kendaraan"
Berikut adalah contoh skema untuk klien dengan definisi atribut:
{
"id": "device123",
"attributes": {
"type": "home-sensors",
"sensors": ["motion", "noise", "light"]
}
}
Saat mengonfigurasi atribut klien, pertimbangkan topik yang diterbitkan klien (berlangganan). Berpikir mundur dari topik ke klien membantu mengidentifikasi kesamaan di seluruh peran klien lebih mudah dan menentukan atribut klien untuk membuat pengelompokan klien lebih sederhana.
Catatan
- Kunci atribut klien harus unik di klien. Kunci tidak dapat diulang.
- Nilai atribut klien bisa dari
string
,integer
atauarray of strings
jenis. - Ukuran total atribut klien untuk klien harus selalu kurang dari 4KB.
- Nama atribut klien (kunci) hanya dapat berisi karakter alfanumerik dan garis bawah(_).
Contoh kontrak
Contoh untuk autentikasi klien berbasis rantai sertifikat
{
"properties": {
"authenticationName": "127.0.0.1",
"state": "Enabled",
"clientCertificateAuthentication": {
"validationScheme": "IpMatchesAuthenticationName"
},
"attributes": {
"room": "345",
"floor": 3,
"bldg": "17"
},
"description": "Description of the client"
}
}
Contoh untuk autentikasi klien berbasis thumbprint sertifikat yang ditandatangani sendiri
{
"properties": {
"authenticationName": "abcd@domain.com-1",
"state": "Enabled",
"clientCertificateAuthentication": {
"validationScheme": "ThumbprintMatch",
"allowedThumbprints": ["primary", "secondary"]
},
"attributes": {
"room": "345",
"floor": "3",
"bldg": 17
},
"description": "Description of the client"
}
}
Konfigurasi portal Microsoft Azure
Gunakan langkah-langkah berikut untuk membuat klien:
Buka namespace Anda di portal Azure
Di bawah Klien, pilih + Klien.
Pilih skema validasi autentikasi sertifikat klien. Untuk informasi selengkapnya tentang konfigurasi autentikasi klien, lihat artikel autentikasi klien.
Tambahkan atribut klien.
- Pilih Buat
Konfigurasi CLI Azure
Gunakan perintah berikut untuk membuat/menampilkan/menghapus klien
Buat klien
az eventgrid namespace client create -g myRG --namespace-name myNS -n myClient
Dapatkan klien
az eventgrid namespace client show -g myRG --namespace-name myNS -n myClient
Hapus klien
az eventgrid namespace client delete -g myRG --namespace-name myNS -n myClient
Langkah berikutnya
- Pelajari tentang autentikasi klien