Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara membuat IoT Hub baru dengan integrasi Azure Device Registry (ADR) dan manajemen sertifikat X.509 yang didukung Microsoft.
Penting
Azure IoT Hub dengan integrasi ADR dan manajemen sertifikat X.509 yang didukung Microsoft berada dalam pratinjau publik dan tidak direkomendasikan untuk beban kerja produksi. Untuk informasi selengkapnya, lihat FAQ: Apa yang baru di IoT Hub?.
Prasyarat
Langganan Azure aktif. Jika Anda tidak memiliki langganan Azure, buat akun gratis.
Jika Anda belum menginstal Azure CLI, ikuti langkah-langkah untuk menginstal Azure CLI.
Instal ekstensi Azure IoT CLI dengan pratinjau yang diaktifkan untuk mengakses integrasi ADR dan fungsi manajemen sertifikat untuk IoT Hub:
Periksa penginstalan ekstensi Azure CLI yang sudah ada.
az extension listHapus instalasi azure-iot yang sudah ada.
az extension remove --name azure-iotInstal ekstensi azure-iot dari indeks dengan pratinjau diaktifkan,
az extension add --name azure-iot --allow-previewatau unduh file .whl dari halaman rilis GitHub untuk menginstal ekstensi secara manual.
az extension add --upgrade --source https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.30.0b1/azure_iot-0.30.0b1-py3-none-any.whlSetelah penginstalan, pastikan bahwa versi plugin azure-iot Anda lebih besar dari 0.30.0b1.
az extension list
Pastikan Anda memiliki hak istimewa untuk melakukan penetapan peran dalam cakupan yang ditargetkan Anda. Melakukan penetapan peran di Azure memerlukan peran istimewa, seperti Pemilik atau Administrator Akses Pengguna pada cakupan yang sesuai.
Pilih metode penyebaran
Untuk menggunakan manajemen sertifikat, Anda juga harus menyiapkan IoT Hub, ADR, dan Device Provisioning Service (DPS). Jika mau, Anda dapat memilih untuk tidak mengaktifkan manajemen sertifikat dan hanya mengonfigurasi IoT Hub dengan ADR.
Untuk menyiapkan IoT Hub Anda dengan integrasi ADR dan manajemen sertifikat, Anda dapat menggunakan Azure CLI atau skrip yang mengotomatiskan proses penyiapan.
| Metode penyebaran | Description |
|---|---|
| Pilih Azure CLI di bagian atas halaman | Gunakan Azure CLI untuk membuat IoT Hub, instans DPS, dan namespace layanan ADR baru dan konfigurasikan semua pengaturan yang diperlukan. |
| Pilih skrip PowerShell di bagian atas halaman | Gunakan skrip PowerShell (khusus Windows) untuk mengotomatiskan pembuatan IoT Hub baru, instans DPS, dan namespace layanan ADR dan konfigurasikan semua pengaturan yang diperlukan. |
Gambaran Umum
Gunakan perintah Azure CLI untuk membuat IoT Hub dengan integrasi ADR dan manajemen sertifikat.
Proses penyiapan dalam artikel ini mencakup langkah-langkah berikut:
- Membuat grup sumber daya
- Mengonfigurasi hak istimewa aplikasi yang diperlukan
- Buat identitas terkelola yang ditetapkan pengguna
- Buat namespace ADR dengan identitas terkelola yang ditetapkan oleh sistem
- Buat kredensial (CA akar) dan kebijakan (CA penerbit) yang dirujukkan secara khusus ke namespace itu.
- Membuat IoT Hub (pratinjau) dengan namespace layanan tertaut dan identitas terkelola
- Membuat DPS dengan IoT Hub dan namespace tertaut
- Sinkronkan kredensial dan kebijakan Anda (sertifikat CA) ke namespace ADR
- Membuat grup pendaftaran dan menautkan ke kebijakan Anda untuk mengaktifkan provisi sertifikat
Penting
Selama periode pratinjau, IoT Hub dengan integrasi ADR dan fitur manajemen sertifikat yang diaktifkan di atas IoT Hub tersedia secara gratis. Device Provisioning Service (DPS) ditagih secara terpisah dan tidak disertakan dalam penawaran pratinjau. Untuk detail tentang harga DPS, lihat Harga Azure IoT Hub.
Menyiapkan lingkungan Anda
Untuk menyiapkan lingkungan Anda untuk menggunakan Azure Device Registry, selesaikan langkah-langkah berikut:
Buka jendela terminal.
Untuk masuk ke akun Azure Anda, jalankan
az login.Untuk mencantumkan semua langganan dan penyewa yang dapat Anda akses, jalankan
az account list.Jika Anda memiliki akses ke beberapa langganan Azure, atur langganan aktif Anda di mana perangkat IoT Anda dibuat dengan menjalankan perintah berikut.
az account set --subscription "<your subscription name or ID>"Untuk menampilkan detail akun Anda saat ini, jalankan
az account show. Salin kedua nilai berikut dari output perintah, dan simpan ke lokasi yang aman.-
idGUID tersebut. Anda menggunakan nilai ini untuk memberikan ID Langganan Anda. -
tenantIdGUID tersebut. Anda menggunakan nilai ini untuk memperbarui izin Anda menggunakan ID Penyewa.
-
Mengonfigurasi grup sumber daya, izin, dan identitas terkelola Anda
Untuk membuat grup sumber daya, peran, dan izin untuk solusi IoT Anda, selesaikan langkah-langkah berikut:
Buat grup sumber daya untuk lingkungan Anda.
az group create --name <RESOURCE_GROUP_NAME> --location <REGION>Tetapkan peran Kontributor ke IoT Hub pada tingkat grup sumber daya. Nilai
AppId, yang merupakan ID utama untuk IoT Hub, adalah89d10474-74af-4874-99a7-c23c2f643083dan sama untuk semua aplikasi Hub.az role assignment create --assignee "89d10474-74af-4874-99a7-c23c2f643083" --role "Contributor" --scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>"Buat identitas terkelola baru yang ditetapkan pengguna (UAMI).
az identity create --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP_NAME> --location <REGION>Ambil ID sumber daya identitas terkelola. Anda memerlukan ID sumber daya untuk menetapkan peran, mengonfigurasi kebijakan akses, atau menautkan identitas ke sumber daya lain.
UAMI_RESOURCE_ID=$(az identity show --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP_NAME> --query id -o tsv)
Membuat namespace ADR baru
Di bagian ini, Anda membuat namespace layanan ADR baru dengan identitas terkelola yang ditetapkan sistem. Proses ini secara otomatis menghasilkan kredensial CA akar dan kebijakan CA penerbit untuk namespace. Untuk informasi selengkapnya tentang bagaimana kredensial dan kebijakan digunakan untuk menandatangani sertifikat daun perangkat selama penyediaan, lihat Manajemen Sertifikat.
Nota
Kredensial bersifat opsional. Anda juga dapat membuat namespace tanpa identitas terkelola dengan menghilangkan --enable-credential-policy dan --policy-name parameter.
Buat namespace layanan ADR baru. Namespace Anda
namehanya boleh berisi huruf kecil dan tanda hubung ('-') di tengah nama, tetapi tidak di awal atau akhir. Misalnya, nama "msft-namespace" valid.
Perintah--enable-credential-policymembuat kredensial (CA akar) dan kebijakan default (mengeluarkan CA) untuk namespace ini. Anda dapat mengonfigurasi nama untuk kebijakan ini menggunakan--policy-nameperintah . Secara default, kebijakan dapat mengeluarkan sertifikat dengan validitas 30 hari.az iot adr ns create --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --location <REGION> --enable-credential-policy true --policy-name <POLICY_NAME>Petunjuk / Saran
Anda dapat secara opsional membuat kebijakan kustom dengan menambahkan
--cert-subjectparameter dan--cert-validity-days. Untuk informasi selengkapnya, lihat Membuat kebijakan kustom.Nota
Pembuatan namespace ADR dengan identitas terkelola yang ditetapkan oleh sistem mungkin memerlukan waktu hingga 5 menit.
Verifikasi bahwa namespace dengan identitas terkelola yang ditetapkan sistem, atau ID prinsipal, telah dibuat.
az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>Verifikasi bahwa kredensial dan kebijakan yang ditentukan telah dibuat.
az iot adr ns credential show --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> az iot adr ns policy show --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --name <POLICY_NAME>Nota
Jika Anda tidak menetapkan nama kebijakan, kebijakan dibuat dengan nama "default".
Mengalokasikan peran UAMI untuk mengakses namespace ADR
Di bagian ini, Anda menetapkan peran Kontributor Azure Device Registry kepada identitas terkelola dan menetapkan ruang lingkupnya ke namespace tertentu. Peran kustom ini memungkinkan akses penuh ke perangkat IoT dalam namespace ADR.
Ambil ID utama identitas terkelola User-Assigned. ID ini diperlukan untuk menetapkan peran pada identitas dalam sistem.
UAMI_PRINCIPAL_ID=$(az identity show --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP> --query principalId -o tsv)Ambil ID Sumber Daya Namespace LAYANAN ADR. ID ini digunakan sebagai ruang lingkup untuk penetapan peran.
NAMESPACE_RESOURCE_ID=$(az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP> --query id -o tsv)Tetapkan peran Kontributor Azure Device Registry ke identitas terkelola. Peran ini memberikan identitas terkelola izin yang diperlukan, yang terbatas pada namespace.
az role assignment create --assignee $UAMI_PRINCIPAL_ID --role "a5c3590a-3a1a-4cd4-9648-ea0a32b15137" --scope $NAMESPACE_RESOURCE_ID
Membuat IoT Hub dengan integrasi ADR
Buat IoT Hub baru yang ditautkan ke namespace ADR dengan UAMI yang dibuat sebelumnya.
az iot hub create --name <HUB_NAME> --resource-group <RESOURCE_GROUP> --location <HUB_LOCATION> --sku GEN2 --mi-user-assigned $UAMI_RESOURCE_ID --ns-resource-id $NAMESPACE_RESOURCE_ID --ns-identity-id $UAMI_RESOURCE_IDPenting
Karena hub IoT akan dapat ditemukan secara umum sebagai titik akhir DNS, pastikan untuk menghindari memasukkan informasi sensitif atau identitas pribadi saat menamainya.
Verifikasi bahwa IoT Hub memiliki identitas yang benar dan properti ADR yang dikonfigurasi.
az iot hub show --name <HUB_NAME> --resource-group <RESOURCE_GROUP> --query identity --output json
Menetapkan peran IoT Hub untuk mengakses namespace ADR
Ambil ID utama identitas terkelola namespace ADR. Identitas ini memerlukan izin untuk berinteraksi dengan IoT Hub.
ADR_PRINCIPAL_ID=$(az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP> --query identity.principalId -o tsv)Ambil ID sumber daya IoT Hub. ID ini digunakan sebagai jangkauan untuk penetapan peran.
HUB_RESOURCE_ID=$(az iot hub show --name <HUB_NAME> --resource-group <RESOURCE_GROUP> --query id -o tsv)Tetapkan peran "Kontributor" ke identitas ADR. Ini memberikan akses Kontributor identitas terkelola namespace ADR ke IoT Hub. Peran ini memungkinkan akses luas, termasuk mengelola sumber daya, tetapi tidak menetapkan peran.
az role assignment create --assignee $ADR_PRINCIPAL_ID --role "Contributor" --scope $HUB_RESOURCE_IDTetapkan peran "Kontributor Registri IoT Hub" pada identitas ADR. Ini memberikan izin yang lebih spesifik untuk mengelola identitas perangkat di IoT Hub. Ini penting bagi ADR untuk mendaftar dan mengelola perangkat di hub.
az role assignment create --assignee $ADR_PRINCIPAL_ID --role "IoT Hub Registry Contributor" --scope $HUB_RESOURCE_ID
Membuat instans Device Provisioning Service dengan integrasi ADR
Buat instans DPS baru yang ditautkan ke namespace layanan ADR Anda yang dibuat di bagian sebelumnya. Instans DPS Anda harus terletak di wilayah yang sama dengan namespace layanan ADR Anda.
az iot dps create --name <DPS_NAME> --resource-group <RESOURCE_GROUP> --location <LOCATION> --mi-user-assigned $UAMI_RESOURCE_ID --ns-resource-id $NAMESPACE_RESOURCE_ID --ns-identity-id $UAMI_RESOURCE_IDVerifikasi bahwa identitas dan properti ADR DPS sudah dikonfigurasi dengan benar.
az iot dps show --name <DPS_NAME> --resource-group <RESOURCE_GROUP> --query identity --output json
Menautkan IoT Hub Anda ke instans Device Provisioning Service
Tautkan IoT Hub ke DPS Anda.
az iot dps linked-hub create --dps-name <DPS_NAME> --resource-group <RESOURCE_GROUP> --hub-name <HUB_NAME>Verifikasi bahwa IoT Hub muncul dalam daftar hub yang tertaut pada DPS.
az iot dps linked-hub list --dps-name <DPS_NAME> --resource-group <RESOURCE_GROUP>
Jalankan sinkronisasi kredensial ADR
Sinkronkan kredensial dan kebijakan Anda ke IoT Hub. Langkah ini memastikan IoT Hub mendaftarkan sertifikat CA serta mempercayai sertifikat leaf yang dikeluarkan oleh kebijakan yang telah Anda konfigurasikan.
az iot adr ns credential sync --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP>
Memvalidasi sertifikat CA hub
Validasi bahwa IoT Hub Anda telah mendaftarkan sertifikat CA-nya.
az iot hub certificate list --hub-name <HUB_NAME> --resource-group <RESOURCE_GROUP>
Membuat pendaftaran di DPS
Untuk menyediakan perangkat menggunakan sertifikat daun, buat grup pendaftaran di DPS dan tetapkan ke kebijakan kredensial yang sesuai dengan parameter --credential-policy.
Perintah berikut membuat grup pendaftaran, menggunakan pengesahan kunci simetris secara default:
Nota
Jika Anda membuat kebijakan dengan nama yang berbeda dari "default", pastikan Anda menggunakan nama kebijakan tersebut --credential-policy setelah parameter .
az iot dps enrollment-group create --dps-name <DPS_NAME> --resource-group <RESOURCE_GROUP> --enrollment-id <ENROLLMENT_ID> --credential-policy <POLICY_NAME>
IoT Hub Anda dengan integrasi ADR dan manajemen sertifikat sekarang disiapkan dan siap digunakan.
Perintah opsional
Perintah berikut membantu Anda mengelola namespace layanan ADR, menonaktifkan perangkat, membuat kebijakan kustom, dan menghapus sumber daya saat tidak lagi diperlukan.
Mengelola namespace Anda
Mencantumkan semua namespace di grup sumber daya Anda.
az iot adr ns list --resource-group <RESOURCE_GROUP_NAME>Perlihatkan detail namespace tertentu.
az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>Cantumkan semua kebijakan di namespace Anda.
az iot adr ns policy list --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>Menampilkan detail kebijakan tertentu.
az iot adr ns policy show --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --name <POLICY_NAME>Cantumkan semua kredensial di namespace Anda.
az iot adr ns credential list --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>
Nonaktifkan perangkat
Mencantumkan semua perangkat di IoT Hub Anda.
az iot hub device-identity list --hub-name <HUB_NAME> --resource-group <RESOURCE_GROUP_NAME>Nonaktifkan perangkat dengan memperbarui statusnya menjadi
disabled. Pastikan untuk mengganti<MY_DEVICE_ID>dengan ID perangkat yang ingin Anda nonaktifkan.az iot hub device-identity update --hub-name <HUB_NAME> --resource-group <RESOURCE_GROUP_NAME> -d <MY_DEVICE_ID> --status disabledJalankan perangkat lagi dan verifikasi bahwa perangkat tidak dapat tersambung ke IoT Hub.
Buat kebijakan kustom
Buat kebijakan kustom menggunakan az iot adr ns policy create perintah . Atur nama, subjek sertifikat, dan periode validitas untuk kebijakan berikut aturan ini:
- Nilai kebijakan
nameharus unik dalam namespace. Jika Anda mencoba membuat kebijakan dengan nama yang sudah ada, Anda menerima pesan kesalahan. - Nilai subjek
cert-subjectsertifikat harus unik di semua kebijakan dalam namespace. Jika Anda mencoba membuat kebijakan dengan subjek yang sudah ada, Anda menerima pesan kesalahan. - Nilai periode
cert-validity-daysvaliditas harus antara 1 dan 30 hari. Jika Anda mencoba membuat kebijakan dengan periode validitas di luar rentang ini, Anda menerima pesan kesalahan.
Contoh berikut membuat kebijakan bernama "custom-policy" dengan subjek "CN=TestDevice" dan periode validitas 30 hari.
az iot adr ns policy create --name "custom-policy" --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --cert-subject "CN=TestDevice" --cert-validity-days "30"
Menghapus sumber daya
Untuk menghapus namespace layanan ADR, Anda harus terlebih dahulu menghapus instans IoT Hubs dan DPS yang ditautkan ke namespace layanan.
az iot hub delete --name <HUB_NAME> --resource-group <RESOURCE_GROUP_NAME>
az iot adr ns delete --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>
az iot dps delete --name <DPS_NAME> --resource-group <RESOURCE_GROUP_NAME>
az identity delete --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP_NAME>
Gambaran Umum
Gunakan skrip PowerShell yang disediakan untuk mengotomatiskan penyiapan IoT Hub Anda dengan integrasi Azure Device Registry. Skrip melakukan semua langkah yang diperlukan untuk membuat sumber daya yang diperlukan dan menautkannya bersama-sama, termasuk:
- Membuat grup sumber daya
- Mengonfigurasi hak istimewa aplikasi yang diperlukan
- Buat identitas terkelola yang ditetapkan pengguna
- Buat namespace ADR dengan identitas terkelola yang ditetapkan oleh sistem
- Buat kredensial (CA akar) dan kebijakan (CA penerbit) yang dirujukkan secara khusus ke namespace itu.
- Membuat IoT Hub (pratinjau) dengan namespace layanan tertaut dan identitas terkelola
- Membuat DPS dengan IoT Hub dan namespace tertaut
- Sinkronkan kredensial dan kebijakan Anda (sertifikat CA) ke namespace ADR
- Membuat grup pendaftaran dan menautkan ke kebijakan Anda untuk mengaktifkan provisi sertifikat
Penting
Selama periode pratinjau, IoT Hub dengan integrasi ADR dan fitur manajemen sertifikat yang diaktifkan di atas IoT Hub tersedia secara gratis. Device Provisioning Service (DPS) ditagih secara terpisah dan tidak disertakan dalam penawaran pratinjau. Untuk detail tentang harga DPS, lihat Harga Azure IoT Hub.
Menyiapkan lingkungan Anda
- Unduh PowerShell 7 untuk Windows.
- Navigasikan ke repositori GitHub dan unduh folder Skrip , yang berisi file skrip,
iothub-adr-certs-setup-preview.ps1.
Menyesuaikan variabel skrip
Buka file skrip di editor teks dan ubah variabel berikut agar sesuai dengan konfigurasi yang Anda inginkan.
-
TenantId: ID penyewa Anda. Anda dapat menemukan nilai ini dengan menjalankanaz account showdi terminal Anda. -
SubscriptionId: ID langganan Anda. Anda dapat menemukan nilai ini dengan menjalankanaz account showdi terminal Anda. -
ResourceGroup: Nama grup sumber daya Anda. -
Location: Wilayah Azure tempat Anda ingin membuat sumber daya. Lihat lokasi yang tersedia untuk fitur pratinjau di bagian Wilayah yang didukung . -
NamespaceName: Nama namespace Anda hanya boleh berisi huruf kecil dan tanda hubung ('-') di tengah nama, tetapi tidak di awal atau akhir. Misalnya, "msft-namespace" adalah nama yang valid. -
HubName: Nama hub Anda hanya dapat berisi huruf kecil dan angka. -
DpsName: Nama instans Device Provisioning Service Anda. -
UserIdentity: Identitas terkelola yang ditetapkan pengguna untuk sumber daya Anda. -
WorkingFolder: Folder lokal tempat skrip Anda berada.
Penting
Karena hub IoT akan dapat ditemukan secara umum sebagai titik akhir DNS, pastikan untuk menghindari memasukkan informasi sensitif atau identitas pribadi saat menamainya.
Jalankan skrip secara interaktif
Buka skrip dan jalankan di PowerShell 7+ sebagai administrator. Navigasi ke folder yang berisi skrip Anda dan jalankan
.\iothub-adr-certs-setup-preview.ps1.Jika Anda mengalami masalah kebijakan eksekusi, coba jalankan
powershell -ExecutionPolicy Bypass -File .\iothub-adr-certs-setup-preview.ps1.Ikuti perintah terpandu:
- Tekan
Enteruntuk melanjutkan dengan langkah - Tekan
satauSuntuk melewati langkah - Tekan
Ctrl+Cuntuk membatalkan
- Tekan
Nota
Pembuatan namespace layanan ADR, IoT Hub, DPS, dan sumber daya lainnya mungkin memakan waktu hingga 5 menit masing-masing.
Memantau eksekusi dan memvalidasi sumber daya
Skrip melanjutkan eksekusi ketika peringatan ditemui dan hanya berhenti jika perintah mengembalikan kode keluar bukan nol. Pantau konsol untuk pesan KESALAHAN merah, yang menunjukkan masalah yang memerlukan perhatian.
Setelah skrip selesai, validasi pembuatan sumber daya Anda dengan mengunjungi Grup Sumber Daya baru Anda di portal Microsoft Azure. Anda akan melihat sumber daya berikut dibuat:
- Instans IoT Hub
- Instans Layanan Penyediaan Perangkat (Device Provisioning Service - DPS)
- Namespace Azure Device Registry (ADR)
- Identitas Terkelola yang Ditugaskan oleh Pengguna (UAMI)
Langkah selanjutnya
Pada titik ini, IoT Hub Anda dengan integrasi ADR dan manajemen sertifikat disiapkan dan siap digunakan. Anda sekarang dapat mulai onboarding perangkat IoT Anda ke hub menggunakan instans Device Provisioning Service (DPS) dan mengelola perangkat IoT Anda dengan aman menggunakan kebijakan dan pendaftaran yang telah Anda siapkan.
Baru: Manajemen sertifikat didukung di SDK Perangkat DPS tertentu. Anda sekarang dapat melakukan onboarding perangkat menggunakan manajemen sertifikat X.509 yang didukung Microsoft dengan sampel SDK berikut: