Mengelola sertifikat di perangkat IoT Edge

Berlaku untuk ikon:yes IoT Edge 1.1 Versi lain: IoT Edge 1.2, IoT Edge 1.3

Berlaku untuktanda centang:IoT Edge 1.2 IoT Edge 1.2 IoT Edge 1.3 IoT Edge 1.3 Versi lain:IoT Edge 1.1

Semua perangkat IoT Edge menggunakan sertifikat untuk membuat koneksi aman antara runtime dan modul apa pun yang berjalan di perangkat. Perangkat IoT Edge juga berfungsi sebagai gateway menggunakan sertifikat yang sama ini untuk tersambung ke perangkat downstream-nya.

Menginstal sertifikat produksi

Saat pertama kali menginstal IoT Edge dan menyediakan perangkat Anda, perangkat disiapkan dengan sertifikat sementara sehingga Anda dapat menguji layanan. Sertifikat sementara ini kedaluwarsa dalam 90 hari, atau dapat diatur ulang dengan menghidupkan ulang komputer Anda. Setelah Anda pindah ke skenario produksi, atau Anda ingin membuat perangkat gateway, Anda perlu menyediakan sertifikat Anda sendiri. Artikel ini menunjukkan langkah-langkah untuk menginstal sertifikat di perangkat IoT Edge Anda.

Untuk mempelajari selengkapnya tentang berbagai jenis sertifikat dan perannya, lihat Memahami cara Azure IoT Edge menggunakan sertifikat.

Catatan

Istilah "root CA" yang digunakan di seluruh artikel ini mengacu pada sertifikat publik otoritas tertinggi dari rantai sertifikat untuk solusi IoT Anda. Anda tidak perlu menggunakan akar sertifikat dari otoritas sertifikat sindikasi, atau akar otoritas sertifikat organisasi Anda. Dalam banyak kasus, sertifikat sebenarnya merupakan sertifikat publik CA menengah.

Pperubahan di versi 1.2

  • Sertifikat OS perangkat diubah namanya menjadi sertifikat OS tepi.
  • Sertifikat OS beban kerja tidak digunakan lagi. Sekarang manajer keamanan IoT Edge menghasilkan sertifikat server hub IoT Edge langsung dari sertifikat OS tepi, tanpa sertifikat OS beban kerja perantara di antara mereka.

Prasyarat

  • Perangkat IoT Edge.

    Jika Anda tidak menyiapkan perangkat IoT Edge, Anda dapat menyiapkannya di komputer virtual Azure. Ikuti langkah-langkah di salah satu artikel mulai cepat untuk Membuat perangkat Linux virtual atau Membuat perangkat Windows virtual.

  • Miliki sertifikat otoritas sertifikat akar (CA), baik yang ditandatangani sendiri atau dibeli dari otoritas sertifikat komersial tepercaya seperti Baltimore, Verisign, DigiCert, atau GlobalSign.

    Jika Anda belum memiliki otoritas sertifikat root, tetapi ingin mencoba fitur IoT Edge yang memerlukan sertifikat produksi (seperti skenario gateway) Anda dapat Membuat sertifikat demo untuk menguji fitur perangkat IoT Edge.

Membuat sertifikat produksi

Anda harus menggunakan otoritas sertifikat Anda sendiri untuk membuat file berikut:

  • CA akar
  • Sertifikat OS Tepi
  • Kunci privat Azure Stack Edge CA
  • CA akar
  • Sertifikat OS perangkat
  • Kunci privat OS perangkat

Dalam artikel ini, apa yang kita sebut sebagai CA akar bukanlah otoritas sertifikat teratas untuk sebuah organisasi. Ini adalah otoritas sertifikat teratas untuk skenario IoT Edge, yang digunakan oleh modul hub IoT Edge, modul pengguna, dan perangkat downstream untuk membangun kepercayaan antara satu sama lain.

Catatan

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

Untuk melihat contoh sertifikat ini, tinjau skrip yang membuat sertifikat demo di Mengelola sertifikat CA pengujian untuk sampel dan tutorial.

Menginstal sertifikat pada perangkat

Instal rantai sertifikat Anda di perangkat IoT Edge dan konfigurasikan runtime IoT Edge untuk mereferensikan sertifikat baru.

Salin tiga sertifikat dan file kunci ke perangkat IoT Edge Anda.

Jika Anda menggunakan skrip contoh untuk membuat sertifikat demo, tiga file sertifikat dan kunci berada di jalur berikut:

  • Sertifikat AZURE Stack Edge: <WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
  • Kunci privat Azure Stack Edge CA: <WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
  • CA akar: <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
  • Sertifikat CA perangkat: <WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
  • Kunci privat CA perangkat: <WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
  • CA akar: <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem

Anda dapat menggunakan layanan seperti Azure Key Vault atau fungsi seperti Protokol salin aman untuk memindahkan file sertifikat. Jika Anda membuat sertifikat pada perangkat IoT Edge itu sendiri, Anda dapat melewati langkah ini dan menggunakan jalur ke direktori yang berfungsi.

Jika Anda menggunakan IoT Edge untuk Linux di Windows, Anda perlu menggunakan kunci SSH yang terletak di file id_rsa Azure IoT Edge untuk mengautentikasi transfer file antara OS host dan komputer virtual Linux. Ambil alamat IP mesin virtual Linux menggunakan perintah Get-EflowVmAddr. Kemudian, Anda dapat melakukan SCP yang diautentikasi menggunakan perintah berikut:

C:\WINDOWS\System32\OpenSSH\scp.exe -i 'C:\Program Files\Azure IoT Edge\id_rsa' <PATH_TO_SOURCE_FILE> iotedge-user@<VM_IP>:<PATH_TO_FILE_DESTINATION>

Mengonfigurasi IoT Edge dengan sertifikat baru

  1. Buka file konfigurasi daemon keamanan IoT Edge: /etc/iotedge/config.yaml

  2. Atur properti sertifikat di config.yaml ke jalur URI file lalu ke sertifikat dan file kunci pada perangkat IoT Edge. Hapus karakter # sebelum properti sertifikat untuk membatalkan komentar empat baris. Pastikan baris sertifikat: tidak memiliki spasi kosong sebelumnya dan item bertumpuk diindentasi oleh dua spasi. Contohnya:

    certificates:
       device_ca_cert: "file:///<path>/<device CA cert>"
       device_ca_pk: "file:///<path>/<device CA key>"
       trusted_ca_certs: "file:///<path>/<root CA cert>"
    
  3. Pastikan bahwa iotedge pengguna memiliki izin baca/tulis untuk direktori yang memegang sertifikat.

  4. Jika Anda telah menggunakan sertifikat lain untuk IoT Edge pada perangkat sebelumnya, hapus file di dua direktori berikut sebelum memulai atau menghidupkan ulang IoT Edge:

    • /var/lib/iotedge/hsm/certs
    • /var/lib/iotedge/hsm/cert_keys
  5. Hidupkan ulang IoT Edge.

    sudo iotedge system restart
    
  1. Buka file konfigurasi daemon keamanan IoT Edge: /etc/aziot/config.toml

  2. Temukan parameter trust_bundle_cert di awal file. Batalkan komentar baris ini, lalu berikan URI file ke sertifikat CA akar pada perangkat Anda.

    trust_bundle_cert = "file:///<path>/<root CA cert>"
    
  3. Temukan bagian [edge_ca] dalam file config.toml. Batalkan komentar baris di bagian ini, lalu berikan jalur URI file untuk file kunci dan sertifikat di perangkat IoT Edge.

    [edge_ca]
    cert = "file:///<path>/<edge CA cert>"
    pk = "file:///<path>/<edge CA key>"
    
  4. Pastikan bahwa layanan telah membaca izin untuk direktori yang menyimpan sertifikat dan kunci.

    • File kunci pribadi harus dimiliki oleh grup aziotks.
    • Berkas sertifikat harus dimiliki oleh grup aziotcs.

    Tip

    Jika sertifikat OS tepi Anda bersifat baca-saja, artinya Anda membuatnya dan tidak ingin layanan IoT Edge memutarnya, atur file kunci privat ke mode 0440 dan file sertifikat ke mode 0444. Jika Anda membuat file awal dan kemudian mengonfigurasi layanan sertifikasi untuk memutar sertifikat OS tepi di masa mendatang, atur file kunci privat ke mode 0660 dan file sertifikat ke mode 0664.

  5. Jika Anda pernah menggunakan sertifikat lain untuk IoT Edge di perangkat sebelumnya, hapus file di direktori berikut. IoT Edge akan menciptakannya kembali dengan sertifikat CA baru yang Anda berikan.

    • /var/lib/aziot/certd/certs
  6. Terapkan perubahan konfigurasi.

    sudo iotedge config apply
    

Menyesuaikan masa pakai sertifikat

IoT Edge akan otomatis membuat sertifikat pada perangkat dalam beberapa kasus, termasuk:

Jika Anda tidak memberikan sertifikat produksi Anda sendiri saat menginstal dan menyediakan IoT Edge, manajer keamanan IoT Edge secara otomatis menghasilkan sertifikat OS tepi. Sertifikat yang ditandatangani sendiri ini hanya dimaksudkan untuk skenario pengembangan dan pengujian, bukan produksi. Sertifikat ini kedaluwarsa setelah 90 hari.

  • Jika Anda tidak memberikan sertifikat produksi Anda sendiri saat menginstal dan menyediakan IoT Edge, pengelola keamanan IoT Edge akan otomatis membuat sertifikat CA perangkat. Sertifikat yang ditandatangani sendiri ini hanya dimaksudkan untuk skenario pengembangan dan pengujian, bukan produksi. Sertifikat ini kedaluwarsa setelah 90 hari.
  • Pengelola keamanan IoT Edge juga membuat sertifikat CA beban kerja yang ditandatangani oleh sertifikat CA perangkat

Untuk informasi selengkapnya tentang fungsi berbagai sertifikat pada perangkat IoT Edge, lihat Memahami cara Azure IoT Edge menggunakan sertifikat.

Untuk dua sertifikat yang dibuat secara otomatis ini, Anda memiliki opsi untuk menyetel tanda di file konfigurasi untuk mengonfigurasi jumlah hari untuk masa pakai sertifikat.

Catatan

Ada sertifikat ketiga yang otomatis dibuat oleh pengelola keamanan IoT Edge, yaitu sertifikat server hub IoT Edge. Sertifikat ini selalu memiliki masa pakai 30 hari, tetapi diperpanjang secara otomatis sebelum kedaluwarsa. Nilai seumur hidup CA yang dihasilkan secara otomatis yang ditetapkan dalam file konfigurasi tidak memengaruhi sertifikat ini.

Setelah kedaluwarsa setelah jumlah hari yang ditentukan, IoT Edge harus dimulai ulang untuk meregenerasi sertifikat OS tepi. Sertifikat OS tepi tidak akan diperbarui secara otomatis.

Setelah kedaluwarsa dalam jumlah hari yang ditentukan, IoT Edge harus dihidupkan ulang untuk meregenerasi sertifikat CA perangkat. Sertifikat CA perangkat tidak akan diperpanjang secara otomatis.

  1. Untuk mengonfigurasi masa pakai sertifikat ke durasi selain jangka waktu default 90 hari, tambahkan nilai dalam hari ke bagian sertifikat pada file konfigurasi.

    certificates:
      device_ca_cert: "<ADD URI TO DEVICE CA CERTIFICATE HERE>"
      device_ca_pk: "<ADD URI TO DEVICE CA PRIVATE KEY HERE>"
      trusted_ca_certs: "<ADD URI TO TRUSTED CA CERTIFICATES HERE>"
      auto_generated_ca_lifetime_days: <value>
    

    Catatan

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

  2. Hapus konten folder hsm untuk menghapus sertifikat yang dibuat sebelumnya.

    • /var/lib/iotedge/hsm/certs
    • /var/lib/iotedge/hsm/cert_keys
  3. Menghidupkan ulang layanan IoT Edge.

    sudo systemctl restart iotedge
    
  4. Konfirmasi pengaturan masa pakai.

    sudo iotedge check --verbose
    

    Periksa output kesiapan produksi: pemeriksaan sertifikat, yang mencantumkan jumlah hari sampai sertifikat CA perangkat yang otomatis dibuat kedaluwarsa.

  1. Untuk mengonfigurasi kedaluwarsa sertifikat ke sesuatu selain 90 hari default, tambahkan nilai dalam hari ke bagian Sertifikat Edge CA (Quickstart) dari file konfigurasi.

    [edge_ca]
    auto_generated_edge_ca_expiry_days = <value>
    
  2. Hapus konten certd folder dan keyd untuk menghapus sertifikat yang dibuat sebelumnya: /var/lib/aziot/certd/certs/var/lib/aziot/keyd/keys

  3. Terapkan perubahan konfigurasi.

    sudo iotedge config apply
    
  4. Konfirmasi pengaturan masa pakai yang baru.

    sudo iotedge check --verbose
    

    Periksa output kesiapan produksi: pemeriksaan sertifikat , yang mencantumkan jumlah hari hingga sertifikat OS tepi yang dihasilkan secara otomatis kedaluwarsa.

Langkah berikutnya

Menginstal sertifikat pada perangkat IoT Edge adalah langkah yang diperlukan sebelum menyebarkan solusi Anda dalam produksi. Pelajari selengkapnya tentang cara Menyiapkan penyebaran solusi IoT Edge dalam produksi.