Membuat dan memprovisikan perangkat IoT Edge di Windows dengan menggunakan sertifikat X.509

Berlaku untuk ikon:yes IoT Edge 1.1

Penting

IoT Edge 1.1 tanggal akhir dukungan adalah 13 Desember 2022. Periksa Siklus Hidup Produk Microsoft untuk mendapatkan informasi tentang bagaimana produk, layanan, teknologi, atau API ini didukung. Untuk informasi selengkapnya tentang memperbarui ke versi terbaru IoT Edge, lihat Memperbarui IoT Edge.

Artikel ini memberikan instruksi menyeluruh guna mendaftarkan dan memprovisikan perangkat IoT Edge Windows.

Catatan

Azure IoT Edge dengan kontainer Windows tidak akan didukung mulai Azure IoT Edge versi 1.2.

Pertimbangkan untuk menggunakan metode baru untuk menjalankan IoT Edge pada perangkat Windows, Azure IoT Edge untuk Linux di Windows.

Jika ingin menggunakan Azure IoT Edge untuk Linux di Windows, Anda dapat mengikuti langkah-langkah dalam panduan penggunaan yang terkait.

Setiap perangkat yang tersambung ke hub IoT memiliki ID perangkat yang digunakan untuk melacak komunikasi cloud-to-device atau device-to-cloud. Anda mengonfigurasi perangkat dengan informasi koneksinya, yang mencakup nama host hub IoT, ID perangkat, dan informasi yang digunakan perangkat untuk mengautentikasi ke IoT Hub.

Langkah-langkah dalam artikel ini melalui proses yang disebut penyediaan manual, di mana Anda menghubungkan satu perangkat ke hub IoT-nya. Untuk penyediaan manual, Anda memiliki dua opsi untuk mengautentikasi perangkat IoT Edge:

  • Kunci konten: Saat Anda membuat identitas perangkat baru di IoT Hub, maka layanan akan membuat dua kunci. Anda menempatkan salah satu kunci pada perangkat, dan menyajikan kunci ke IoT Hub saat mengautentikasi.

    Metode autentikasi ini lebih cepat untuk memulai, tetapi tidak sama amannya.

  • X.509 self-signed: Anda membuat dua sertifikat identitas X.509 dan menempatkannya di perangkat. Saat Anda membuat identitas perangkat baru di IoT Hub, Anda menyediakan thumbprint dari kedua sertifikat. Saat perangkat mengautentikasi ke IoT Hub, perangkat menyajikan satu sertifikat dan IoT Hub memverifikasi bahwa sertifikat cocok dengan thumbprint-nya.

    Metode autentikasi ini lebih aman dan direkomendasikan untuk skenario produksi.

Artikel ini membahas penggunaan sertifikat X.509 sebagai metode autentikasi Anda. Jika Anda ingin menggunakan kunci konten, lihat Membuat dan memprovisikan perangkat IoT Edge di Windows dengan menggunakan kunci konten.

Catatan

Jika Anda memiliki banyak perangkat untuk disiapkan dan tidak ingin memprovisikan masing-masing perangkat secara manual, gunakan salah satu artikel berikut untuk mempelajari cara kerja IoT Edge dengan layanan provisi perangkat IoT Hub:

Prasyarat

Artikel ini mencakup langkah dalam mendaftarkan perangkat IoT Edge Anda dan memasang IoT Edge di perangkat tersebut. Tugas-tugas ini memiliki prasyarat dan utilitas yang berbeda dalam proses penyelesaiannya. Pastikan bahwa Anda memiliki semua prasyarat yang tercantum sebelum melanjutkan.

Alat manajemen perangkat

Anda dapat menggunakan portal Azure, Visual Studio Code, atau Azure CLI untuk langkah-langkah mendaftarkan perangkat Anda. Setiap utilitas memiliki prasyaratnya sendiri:

Hub IoT gratis atau standar di langganan Azure Anda.

Persyaratan perangkat

Perangkat Windows.

IoT Edge dengan kontainer Windows memerlukan Windows versi 1809/build 17763, yang merupakan build terbaru build dukungan jangka panjang Windows. Pastikan untuk meninjau daftar sistem yang didukung untuk daftar SKU yang didukung.

Hasilkan sertifikat identitas perangkat

Penyediaan manual dengan sertifikat X.509 memerlukan IoT Edge versi 1.0.10 atau yang lebih baru.

Saat Anda menyediakan perangkat IoT Edge dengan sertifikat X.509, Anda menggunakan apa yang disebut sertifikat identitas perangkat. Sertifikat ini hanya digunakan untuk menyediakan perangkat IoT Edge dan mengautentikasi perangkat dengan Azure IoT Hub. Ini adalah sertifikat daun yang tidak menandatangani sertifikat lain. Sertifikat identitas perangkat terpisah dari sertifikat otoritas sertifikat (CA) yang disajikan perangkat IoT Edge ke modul atau perangkat hilir untuk verifikasi.

Untuk autentikasi sertifikat X.509, informasi autentikasi setiap perangkat disediakan dalam bentuk thumbprint yang diambil dari sertifikat identitas perangkat Anda. Thumbprint ini diberikan kepada IoT Hub pada saat pendaftaran perangkat sehingga layanan dapat mengenali perangkat saat terhubung.

Untuk informasi selengkapnya tentang cara sertifikat CA digunakan di perangkat IoT Edge, lihat Memahami bagaimana Azure IoT Edge menggunakan sertifikat.

Anda memerlukan file berikut untuk penyediaan manual dengan X.509:

  • Dua sertifikat identitas perangkat dengan sertifikat kunci privat yang cocok dalam format .cer atau .pem.

    Satu set file sertifikat/kunci disediakan ke runtime IoT Edge. Saat Anda membuat sertifikat identitas perangkat, atur nama umum sertifikat (CN) dengan ID perangkat yang Anda inginkan untuk perangkat di hub IoT Anda.

  • Thumbprint diambil dari kedua sertifikat identitas perangkat.

    Nilai thumbprint adalah karakter 40 hex untuk hash SHA-1 atau karakter 64 hex untuk hash SHA-256. Kedua thumbprint disediakan untuk IoT Hub pada saat pendaftaran perangkat.

Jika Anda tidak memiliki sertifikat, Anda bisa Membuat sertifikat demo untuk menguji fitur perangkat IoT Edge. Ikuti petunjuk dalam artikel itu untuk menyiapkan skrip pembuatan sertifikat, membuat sertifikat CA akar, lalu membuat dua sertifikat identitas perangkat IoT Edge.

Salah satu cara untuk mengambil thumbprint dari sertifikat adalah dengan perintah openssl berikut:

openssl x509 -in <certificate filename>.pem -text -fingerprint

Mendaftarkan perangkat Anda

Anda dapat menggunakan portal Microsoft Azure, Visual Studio Code, atau CLI Azure untuk mendaftarkan perangkat, tergantung pada preferensi Anda.

Di hub IoT Anda di portal Microsoft Azure, perangkat IoT Edge dibuat dan dikelola secara terpisah dari perangkat IoT dengan edge tidak aktif.

  1. Masuk ke portal Microsoft Azure dan navigasikan ke hub IoT Anda.

  2. Di panel kiri, pilih Perangkat dari menu, lalu pilih Tambahkan Perangkat.

  3. Pada halaman Buat perangkat, berikan informasi berikut ini:

    • Membuat ID perangkat deskriptif. Catat ID perangkat ini, karena Anda akan menggunakannya nanti.
    • Centang kotak centang Perangkat IoT Edge.
    • Pilih X.509 Self-Signed sebagai jenis autentikasi.
    • Berikan thumbprint sertifikat identitas utama dan sekunder. Nilai thumbprint adalah karakter 40 hex untuk hash SHA-1 atau karakter 64 hex untuk hash SHA-256.
  4. Pilih Simpan.

Setelah Anda memiliki perangkat yang terdaftar di IoT Hub, ambil informasi yang Anda gunakan untuk menyelesaikan instalasi dan provisi runtime IoT Edge.

Melihat perangkat terdaftar dan mengambil informasi provisi

Perangkat yang menggunakan autentikasi sertifikat X.509 memerlukan nama IoT hub, nama perangkat, dan file sertifikat mereka untuk menyelesaikan instalasi dan provisi runtime IoT Edge.

Perangkat berkemampuan edge yang tersambung ke hub IoT Anda tercantum di halaman Perangkat . Anda dapat memfilter daftar menurut jenis Perangkat Iot Edge.

Cuplikan layar cara melihat semua perangkat IoT Edge di hub IoT Anda.

Pasang IoT Edge

Di bagian ini, Anda menyiapkan Mesin Virtual atau perangkat fisik Windows untuk IoT Edge. Kemudian, Anda menginstal IoT Edge.

Azure IoT Edge mengandalkan runtime kontainer yang kompatibel dengan OCI. Moby, mesin berbasis Moby, termasuk dalam skrip instalasi, yang berarti tidak ada langkah tambahan untuk menginstal mesin.

Untuk menginstal runtime IoT Edge:

  1. Jalankan PowerShell sebagai administrator.

    Gunakan sesi AMD64 PowerShell, bukan PowerShell(x86). Jika Anda tidak yakin jenis sesi mana yang Anda gunakan, jalankan perintah berikut:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Jalankan perintah Deploy-IoTEdge yang melakukan tugas berikut ini:

    • Periksa apakah komputer Windows Anda menggunakan versi yang didukung
    • Aktifkan fitur kontainer
    • Unduh mesin Moby dan runtime IoT Edge
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Hidupkan ulang perangkat Anda jika diminta.

Saat Anda memasang IoT Edge di sebuah perangkat, Anda dapat menggunakan parameter tambahan untuk mengubah prosesnya, termasuk:

  • Mengarahkan lalu lintas untuk melalui server proxy
  • Mengarahkan alat penginstal ke sebuah direktori lokal untuk penginstalan offline

Untuk informasi lebih lanjut parameter tambahan ini, lihat skrip PowerShell untuk IoT Edge dengan kontainer Windows.

Menentukan perangkat dengan identitas cloud-nya

Karena saat ini mesin kontainer dan runtime IoT Edge telah dipasang pada perangkat Anda, Anda sudah siap untuk langkah berikutnya, yaitu menyiapkan perangkat dengan identitas cloudnya dan informasi autentikasinya.

  1. Di perangkat IoT Edge, jalankan PowerShell sebagai admin.

  2. Gunakan perintah Initialize-IoTEdge untuk mengonfigurasi runtime IoT Edge pada komputer Anda.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -ManualX509
    
    • Jika Anda mengunduh skrip IoTEdgeSecurityDaemon.ps1 ke perangkat Anda untuk penginstalan versi offline atau versi tertentu, pastikan untuk merujuk ke salinan skrip lokal.

      . <path>/IoTEdgeSecurityDaemon.ps1
      Initialize-IoTEdge -ManualX509
      
  3. Jika diminta, berikan informasi berikut:

    • IotHubHostName: Nama host hub IoT yang akan disambungkan perangkat. Contohnya:{IoT_hub_name}.azure-devices.net
    • DeviceId: ID yang Anda berikan saat mendaftarkan perangkat.
    • X509IdentityCertificate: Jalur absolut ke sertifikat identitas pada perangkat. Contohnya:C:\path\identity_certificate.pem
    • X509IdentityPrivateKey: Jalur absolut ke file kunci privat untuk sertifikat identitas yang disediakan. Contohnya:C:\path\identity_key.pem

Saat Anda menentukan perangkat secara manual, Anda dapat menggunakan parameter tambahan untuk mengubah prosesnya, termasuk:

  • Mengarahkan lalu lintas untuk melalui server proxy
  • Mendeklarasikan gambar kontainer edgeAgent tertentu, dan memberikan informasi masuk jika berada dalam registri privat

Untuk informasi lebih lanjut parameter tambahan ini, lihat skrip PowerShell untuk IoT Edge dengan kontainer Windows.


Memverifikasi konfigurasi yang berhasil

Pastikan bahwa runtime berhasil dipasang dan dikonfigurasi pada perangkat IoT Edge Anda.

Periksa status layanan IoT Edge.

Get-Service iotedge

Periksa log layanan.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

Daftarkan modul yang sedang berjalan.

iotedge list

Penginstalan versi offline atau versi spesifik (opsional)

Langkah-langkah di bagian ini adalah untuk skenario yang tidak dicakup oleh langkah-langkah penginstalan standar. Ini mungkin termasuk:

  • Memasang IoT Edge saat offline
  • Memasang versi RC
  • Memasang versi selain versi yang terbaru

Selama penginstalan, tiga file diunduh:

  • Skrip PowerShell, yang berisi instruksi penginstalan
  • Cab Microsoft Azure IoT Edge, yang berisi daemon keamanan IoT Edge (iotedged), mesin kontainer Moby, dan Moby CLI
  • Alat penginstal paket visual C++ yang dapat didistribusikan ulang (VC runtime)

Jika perangkat Anda akan offline selama penginstalan, atau jika Anda ingin memasang versi IoT Edge tertentu, Anda dapat mengunduh file-file ini sebelumnya ke perangkatnya. Ketika saatnya memasang, arahkan skrip penginstalan di direktori yang berisi file yang telah diunduh. Alat penginstal memeriksa direktori tersebut terlebih dahulu, lalu hanya mengunduh komponen yang tidak ditemukan. Jika semua file tersedia secara offline, Anda dapat memasang tanpa koneksi internet.

  1. Untuk file penginstalan IoT Edge terbaru bersama dengan versi sebelumnya, lihat Rilis Azure IoT Edge.

  2. Temukan versi yang ingin Anda pasang, dan unduh file berikut dari bagian Aset dari catatan rilis ke perangkat IoT Anda:

    • IoTEdgeSecurityDaemon.ps1
    • Microsoft-Azure-IoTEdge-amd64.cab dari saluran rilis 1.1.

    Penting untuk menggunakan skrip PowerShell dari rilis yang sama dengan file .cab yang Anda gunakan karena fungsionalitas berubah untuk mendukung fitur di setiap rilis.

  3. Jika file .cab yang telah Anda unduh memiliki akhiran arsitektur, ganti nama file menjadi hanya Microsoft-Azure-IoTEdge.cab.

  4. Secara opsional, unduh alat penginstal untuk Visual C++ distribusi ulang. Misalnya, skrip PowerShell menggunakan versi ini: vc_redist.x64.exe. Simpan alat penginstal di folder yang sama di perangkat IoT Anda sebagai file IoT Edge.

  5. Untuk memasang dengan komponen offline, sumber dot salinan lokal skrip PowerShell.

  6. Jalankan perintah Deploy-IoTEdge dengan parameter -OfflineInstallationPath. Sediakan jalur absolut ke direktori file. Misalnya,

    . path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1
    Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
    

    Perintah penyebaran akan menggunakan komponen apapun yang ditemukan dalam direktori file lokal yang disediakan. Jika file .cab atau alat penginstal Visual C++ hilang, perintah tersebut akan mencoba untuk mengunduhnya.

Mencopot pemasangan IoT Edge

Jika Anda ingin mencopot pemasangan IoT Edge dari perangkat Windows Anda, gunakan perintah Uninstall-IoTEdge dari jendela PowerShell administratif. Perintah ini menghapus runtime IoT Edge, bersama dengan konfigurasi Anda yang sudah ada dan data mesin Moby.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge

Untuk informasi lebih lanjut tentang opsi pencopotan pemasangan, gunakan perintah Get-Help Uninstall-IoTEdge -full.

Langkah berikutnya

Lanjutkan ke menyebarkan modul IoT Edge untuk mempelajari cara menggunakan modul ke perangkat Anda.