Bagikan melalui


Buat dan provisikan perangkat IoT Edge dalam skala besar di Linux 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 petunjuk menyeluruh terkait provisi otomatis untuk satu atau beberapa perangkat Azure IoT Edge di Windows menggunakan sertifikat X.509. Anda dapat memprovisikan perangkat Azure IoT Edge secara otomatis dengan Azure IoT Hub Device Provisioning Service (DPS). Jika Anda tidak terbiasa dengan proses provisi otomatis, tinjau gambaran umum provisi sebelum melanjutkan.

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.

Tugasnya adalah sebagai berikut:

  1. Hasilkan sertifikat dan kunci.
  2. Buat pendaftaran individu untuk perangkat tunggal atau pendaftaran grup untuk sekumpulan perangkat.
  3. Instal runtime IoT Edge dan daftarkan perangkat dengan IoT Hub.

Menggunakan sertifikat X.509 sebagai mekanisme pengesahan adalah cara terbaik untuk menskalakan produksi dan menyederhanakan penyediaan perangkat. Biasanya, sertifikat X.509 diatur dalam rantai sertifikat kepercayaan. Dimulai dengan sertifikat akar yang ditandatangani sendiri atau tepercaya, setiap sertifikat dalam rantai menandatangani sertifikat lebih rendah berikutnya. Pola ini membuat rantai kepercayaan yang didelegasikan dari sertifikat akar ke bawah melalui setiap sertifikat perantara ke sertifikat perangkat hilir akhir yang diinstal pada perangkat.

Prasyarat

Sumber daya cloud

  • Hub IoT yang aktif
  • Instans layanan provisi perangkat IoT Hub di Azure, yang ditautkan ke hub IoT Anda

Persyaratan perangkat

Perangkat Windows fisik atau virtual untuk menjadi perangkat IoT Edge.

Hasilkan sertifikat identitas perangkat

Sertifikat identitas perangkat adalah sertifikat perangkat hilir yang terhubung melalui rantai sertifikat kepercayaan ke sertifikat otoritas sertifikat (CA) X.509 teratas. Sertifikat identitas perangkat harus memiliki nama umum (CN) yang diatur ke ID perangkat yang Anda inginkan untuk memiliki perangkat di IoT hub Anda.

Sertifikat identitas perangkat hanya digunakan untuk menyediakan perangkat IoT Edge dan mengautentikasi perangkat dengan Azure IoT Hub. Mereka tidak menandatangani sertifikat, tidak seperti sertifikat CA yang disajikan perangkat IoT Edge ke modul atau perangkat hilir untuk verifikasi. Untuk informasi selengkapnya, lihat Detail penggunaan sertifikat Azure IoT Edge.

Setelah Anda membuat sertifikat identitas perangkat, Anda harus memiliki dua file: file .cer atau .pem yang berisi bagian publik sertifikat, dan file .cer atau .pem dengan kunci pribadi sertifikat. Jika Anda berencana untuk menggunakan pendaftaran grup di DPS, Anda juga memerlukan bagian publik dari sertifikat CA menengah atau root dalam rantai kepercayaan sertifikat yang sama.

Anda memerlukan file berikut untuk menyiapkan penyediaan otomatis dengan X.509:

  • Sertifikat identitas perangkat dan sertifikat kunci pribadinya. Sertifikat identitas perangkat diunggah ke DPS jika Anda membuat pendaftaran individual. Kunci pribadi diteruskan ke runtime IoT Edge.
  • Rantai sertifikat penuh, yang seharusnya memiliki setidaknya identitas perangkat dan sertifikat perantara di dalamnya. Rantai sertifikat penuh diteruskan ke runtime IoT Edge.
  • Sertifikat CA menengah atau root dari rantai sertifikat kepercayaan. Sertifikat ini diunggah ke DPS jika Anda membuat pendaftaran grup.

Catatan

Saat ini, pembatasan libiothsm mencegah penggunaan sertifikat yang kedaluwarsa pada atau setelah 1 Januari 2038.

Gunakan sertifikat uji (opsional)

Jika Anda tidak memiliki otoritas sertifikat yang tersedia untuk membuat sertifikasi identitas baru dan ingin mencoba skenario ini, repositori git Azure IoT Edge berisi skrip yang dapat Anda gunakan untuk menghasilkan sertifikat pengujian. Sertifikat ini dirancang hanya untuk pengujian pengembangan, dan tidak boleh digunakan dalam produksi.

Untuk membuat sertifikat pengujian, ikuti langkah-langkah dalam Membuat sertifikat demo untuk menguji fitur perangkat IoT Edge. Selesaikan dua bagian yang diperlukan untuk mengatur skrip pembuatan sertifikat dan membuat sertifikat CA root. Kemudian, ikuti langkah-langkah untuk membuat sertifikat identitas perangkat. Setelah selesai, Anda harus memiliki rantai sertifikat dan pasangan kunci berikut:

  • <WRKDIR>\certs\iot-edge-device-identity-<name>-full-chain.cert.pem
  • <WRKDIR>\private\iot-edge-device-identity-<name>.key.pem

Anda memerlukan kedua sertifikat ini pada perangkat IoT Edge. Jika Anda akan menggunakan pendaftaran individual di DPS, Anda akan mengunggah file .cert.pem. Jika Anda akan menggunakan pendaftaran grup di DPS, maka Anda juga memerlukan sertifikat CA menengah atau root dalam rantai sertifikat kepercayaan yang sama untuk diunggah. Jika Anda menggunakan sertifikasi demo, gunakan <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem sertifikat untuk pendaftaran grup.

Buat pendaftaran DPS

Gunakan sertifikat dan kunci yang Anda buat untuk membuat pendaftaran grup di DPS untuk beberapa perangkat IoT Edge.

Jika Anda ingin menyediakan satu perangkat IoT Edge, buatlah pendaftaran individu. Jika Anda memerlukan beberapa perangkat yang disediakan, ikuti langkah-langkah untuk membuat pendaftaran grup DPS.

Ketika Anda membuat pendaftaran di DPS, Anda memiliki kesempatan untuk menyatakan Status Kembar Perangkat Awal. Di perangkat kembaran, Anda dapat mengatur tag ke perangkat grup dengan metrik apa pun yang Anda butuhkan dalam solusi Anda, seperti wilayah, lingkungan, lokasi, atau jenis perangkat. Tag ini digunakan untuk membuat penyebaran otomatis.

Untuk informasi selengkapnya tentang pendaftaran di Layanan Provisi Perangkat, lihat Cara mengelola pendaftaran perangkat.

Membuat pendaftaran individu DPS

Pendaftaran individu mengambil bagian publik dari sertifikat identitas perangkat dan mencocokkannya dengan sertifikat pada perangkat.

Tip

Langkah-langkah dalam artikel ini adalah untuk portal Microsoft Azure, tetapi Anda juga dapat membuat pendaftaran individu menggunakan Azure CLI. Untuk informasi selengkapnya, lihat az iot dps enrollment. Sebagai bagian dari perintah CLI, gunakan bendera berkemampuan edge untuk menentukan bahwa pendaftaran tersebut adalah untuk perangkat IoT Edge.

  1. Di portal Microsoft Azure, buka instans Layanan provisi perangkat IoT Hub.

  2. Di bawah Pengaturan, pilih Kelola pendaftaran.

  3. Pilih Tambahkan pendaftaran individual lalu selesaikan langkah-langkah berikut untuk mengonfigurasi pendaftaran:

    • Mekanisme: Pilih X.509.

    • Sertifikat Utama .pem .cer file: Unggah file publik dari sertifikat identitas perangkat. Jika Anda menggunakan skrip untuk membuat sertifikat pengujian, pilih file berikut:

      <WRKDIR>\certs\iot-edge-device-identity-<name>.cert.pem

    • ID Azure IoT Hub: Berikan ID untuk perangkat Anda jika Anda mau. Anda dapat menggunakan ID perangkat untuk menargetkan perangkat individual untuk penyebaran modul. Jika Anda tidak memberikan ID perangkat, nama umum (CN) dalam sertifikat X.509 digunakan.

    • Perangkat IoT Edge: Pilih True untuk menyatakan bahwa pendaftaran adalah untuk perangkat IoT Edge.

    • Pilih hub IoT yang bisa ditetapkan oleh perangkat ini: Pilih hub IoT yang ditautkan yang ingin disambungkan perangkat Anda. Anda dapat memilih beberapa hub, dan perangkat akan ditetapkan ke salah satunya sesuai dengan kebijakan alokasi yang dipilih.

    • Status Kembar Perangkat Awal: Tambahkan nilai tag yang akan ditambahkan ke perangkat kembar jika Anda mau. Anda dapat menggunakan tag untuk menargetkan grup perangkat untuk penyebaran otomatis. Contohnya:

      {
          "tags": {
             "environment": "test"
          },
          "properties": {
             "desired": {}
          }
      }
      
  4. Pilih Simpan.

Di bawah Kelola Pendaftaran, Anda dapat melihat ID Pendaftaran untuk pendaftaran yang baru saja Anda buat. Harap catat ID Pendaftaran, karena dapat digunakan saat Anda memprovisikan perangkat Anda.

Sekarang setelah pendaftaran ada untuk perangkat ini, runtime bahasa umum IoT Edge dapat secara otomatis melakukan provisi perangkat selama penginstalan.

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

Setelah runtime diinstal pada perangkat Anda, konfigurasikan perangkat dengan informasi yang digunakannya untuk terhubung ke layanan provisi perangkat dan IoT Hub.

Siapkan informasi berikut:

  • Nilai Cakupan ID DPS. Anda dapat mengambil nilai ini dari halaman gambaran umum instans DPS Anda di portal Microsoft Azure.
  • Berkas rantai sertifikat identitas perangkat pada perangkat.
  • Berkas kunci identitas perangkat pada perangkat.
  1. Buka jendela PowerShell dalam mode administrator. Pastikan untuk menggunakan sesi AMD64 PowerShell saat menginstal IoT Edge, bukan PowerShell (x86).

  2. Perintah Initialize-IoTEdge mengonfigurasi runtime IoT Edge pada mesin Anda. Perintah default untuk penyediaan manual dengan kontainer Windows, jadi gunakan bendera -DpsX509 untuk menggunakan penyediaan otomatis dengan autentikasi sertifikat X.509.

    Ganti nilai tempat penampung scope_id, identity cert chain path, dan identity key path dengan nilai yang sesuai dengan instans DPS Anda dan jalur file di perangkat Anda.

    Tambahkan -RegistrationId paste_registration_id_here jika Anda ingin menetapkan ID perangkat sebagai sesuatu selain nama CN sertifikat identitas.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -DpsX509 -ScopeId paste_scope_id_here -X509IdentityCertificate paste_identity_cert_chain_path_here -X509IdentityPrivateKey paste_identity_key_path_here
    

    Tip

    File konfigurasi menyimpan sertifikat dan informasi kunci Anda sebagai URI file. Namun, perintah Initialize-IoTEdge menangani langkah pemformatan ini untuk Anda, sehingga Anda dapat menyediakan jalur absolut ke sertifikat dan file kunci di perangkat Anda.

Verifikasi keberhasilan penginstalan

Jika runtime berhasil dimulai, Anda dapat masuk ke Azure IoT Hub Anda dan mulai menggunakan modul IoT Edge ke perangkat Anda.

Anda dapat memverifikasi bahwa pendaftaran individual yang Anda buat di layanan provisi perangkat telah digunakan. Navigasikan ke instans layanan provisi perangkat Anda di portal Microsoft Azure. Buka detail pendaftaran untuk pendaftaran individual yang Anda buat. Perhatikan bahwa status pendaftaran telah ditetapkan dan ID perangkat telah dicantumkan.

Gunakan perintah berikut di perangkat Anda untuk memverifikasi bahwa IoT Edge terpasang dan berhasil dimulai.

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

Langkah berikutnya

Proses pendaftaran layanan provisi perangkat memungkinkan Anda mengatur ID perangkat dan tag perangkat kembaran pada saat yang sama saat Anda memprovisikan perangkat baru. Anda dapat menggunakan nilai tersebut untuk menargetkan masing-masing perangkat atau grup perangkat menggunakan manajemen perangkat otomatis. Pelajari cara Menerapkan dan memantau modul IoT Edge dalam skala besar menggunakan portal Azure atau menggunakan Azure CLI.