IoT Edge cihazda sertifikaları yönetme

Uygulama hedefi:  Evet simgesi IoT Edge 1,1 diğer sürümler: IoT Edge 1,2

Uygulama hedefi:  Evet simgesi IoT Edge 1,2 diğer sürümler: IoT Edge 1,1

Tüm IoT Edge cihazları çalışma zamanı ile cihazda çalışan modüller arasında güvenli bağlantılar oluşturmak için sertifikaları kullanır. Ağ geçitleri olarak çalışan IoT Edge cihazların, bu sertifikaları da kendi aşağı akış cihazlarına bağlamak için kullanır.

Üretim sertifikalarını yükleme

IoT Edge ilk yüklediğinizde ve cihazınızı sağladığınızda cihaz, hizmeti test edebilmeniz için geçici sertifikalarla ayarlanır. Bu geçici sertifikaların süreleri 90 gün içinde doluyor veya makineniz yeniden başlatılarak sıfırlanabilir. Bir üretim senaryosuna geçtiğinizde veya bir ağ geçidi cihazı oluşturmak istiyorsanız kendi sertifikalarınızı sağlamanız gerekir. Bu makalede, IoT Edge cihazlarınıza sertifika yüklemek için gereken adımlar gösterilir.

Farklı sertifika türleri ve rolleri hakkında daha fazla bilgi edinmek için bkz. Azure IoT Edge sertifikaları nasıl kullandığını anlayın.

Not

Bu makale boyunca kullanılan "kök CA" terimi, IoT çözümünüz için Sertifika zincirinin en üst yetkili ortak sertifikasına başvurur. Bir dağıtılmış sertifika yetkilisinin sertifika kökünü veya kuruluşunuzun sertifika yetkilisinin kökünü kullanmanız gerekmez. Çoğu durumda, aslında bir ara CA genel sertifikasıdır.

Önkoşullar

Üretim sertifikaları oluşturma

Aşağıdaki dosyaları oluşturmak için kendi sertifika yetkilinizi kullanmanız gerekir:

  • Kök CA
  • Cihaz CA sertifikası
  • Cihaz CA özel anahtarı

Bu makalede kök CA 'sı olarak adlandırdığımız, bir kuruluşun en üst sertifika yetkilisi değil. Bu, IoT Edge hub modülünün, Kullanıcı modüllerinin ve herhangi bir aşağı akış aygıtının birbirleriyle güven sağlamak için kullanacağı IoT Edge senaryoya yönelik en üst sertifika yetkilissudur.

Not

Şu anda libiothsm içindeki bir sınırlama 1 Ocak 2038 tarihinde veya sonrasında sona ermekte olan sertifikaların kullanılmasını engelliyor.

Bu sertifikalara bir örnek görmek için, örnekler ve öğreticiler için test CA sertifikalarını yönetmebölümünde tanıtım Sertifikaları oluşturan betikleri gözden geçirin.

Cihaza sertifika yükler

Sertifika zincirinizi IoT Edge cihaza yükleyip IoT Edge çalışma zamanını yeni sertifikalara başvuracak şekilde yapılandırın.

IoT Edge cihazınıza üç sertifika ve anahtar dosyasını kopyalayın. Sertifika dosyalarını taşımak için Azure Key Vault veya Güvenli kopya Protokolü gibi bir işlev gibi bir hizmet kullanabilirsiniz. Sertifikaları IoT Edge cihazında oluşturduysanız, bu adımı atlayabilir ve çalışma dizininin yolunu kullanabilirsiniz.

Windows üzerinde Linux için IoT Edge kullanıyorsanız, id_rsa ana bilgisayar işletim sistemi ve Linux sanal makinesi arasında dosya aktarımlarının kimliğini doğrulamak için Azure IoT Edge dosyasında bulunan SSH anahtarını kullanmanız gerekir. Kimliği doğrulanmış bir SCP 'YI aşağıdaki komutu kullanarak yapabilirsiniz:

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>

Not

Linux sanal makinesinin IP adresi komut aracılığıyla sorgulanabilir Get-EflowVmAddr .

Tanıtım sertifikaları oluşturmakiçin örnek betikleri kullandıysanız, aşağıdaki dosyaları IoT-Edge cihazınıza kopyalayın:

  • Cihaz CA sertifikası: <WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
  • Cihaz CA özel anahtarı: <WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
  • Kök CA: <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
  1. IoT Edge güvenliği Daemon yapılandırma dosyasını açın.

    • Linux ve Windows üzerinde Linux için IoT Edge: /etc/iotedge/config.yaml

    • Windows kapsayıcıları kullanan pencereler: C:\ProgramData\iotedge\config.yaml

  2. Config. YAML içindeki sertifika özelliklerini IoT Edge cihazdaki sertifika ve anahtar dosyaları IÇIN dosya URI yolu olarak ayarlayın. #Dört satırın açıklamasını kaldırmak için, sertifika özelliklerinden önceki karakteri kaldırın. Sertifikalarda: Line 'ın önünde boşluk olmadığından ve iç içe yerleştirilmiş öğelerin iki boşlukla girintilendiğinden emin olun. Örnek:

    • Linux ve Windows üzerinde Linux için IoT Edge:

      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>"
      
    • Windows kapsayıcıları kullanan pencereler:

      certificates:
         device_ca_cert: "file:///C:/<path>/<device CA cert>"
         device_ca_pk: "file:///C:/<path>/<device CA key>"
         trusted_ca_certs: "file:///C:/<path>/<root CA cert>"
      
  3. Linux cihazlarda, kullanıcının ıotedge 'in sertifikaları tutan dizin için okuma izinlerine sahip olduğundan emin olun.

  4. Daha önce cihazda IoT Edge için başka bir sertifika kullandıysanız, IoT Edge başlatmadan veya yeniden başlatmadan önce aşağıdaki iki dizindeki dosyaları silin:

    • Linux ve Windows üzerinde Linux için IoT Edge: /var/lib/iotedge/hsm/certs ve /var/lib/iotedge/hsm/cert_keys

    • Windows kapsayıcıları kullanan pencereler: C:\ProgramData\iotedge\hsm\certs ve C:\ProgramData\iotedge\hsm\cert_keys

  1. IoT Edge güvenliği Daemon yapılandırma dosyasını açın: /etc/aziot/config.toml

  2. trust_bundle_certDosyanın başlangıcında parametresini bulun. Bu satırın açıklamasını kaldırın ve cihazınızdaki kök CA sertifikasına dosya URI 'SI sağlayın.

    trust_bundle_cert = "file:///<path>/<root CA cert>"
    
  3. [edge_ca]Config. TOML dosyasındaki bölümünü bulun. Bu bölümdeki satırların açıklamasını kaldırın ve IoT Edge cihazında sertifika ve anahtar dosyaları için dosya URI 'SI yollarını sağlayın.

    [edge_ca]
    cert = "file:///<path>/<device CA cert>"
    pk = "file:///<path>/<device CA key>"
    
  4. Kullanıcının ıotedge 'in sertifikaları tutan dizin için okuma izinlerine sahip olduğundan emin olun.

  5. Daha önce cihazda IoT Edge için başka bir sertifika kullandıysanız, IoT Edge başlatmadan veya yeniden başlatmadan önce aşağıdaki iki dizindeki dosyaları silin:

    • /var/lib/aziot/certd/certs
    • /var/lib/aziot/keyd/keys

Sertifika ömrünü özelleştirme

IoT Edge, cihaz üzerinde aşağıdakiler dahil olmak üzere çeşitli durumlarda otomatik olarak sertifika üretir:

  • IoT Edge yüklerken ve sağladığınızda kendi üretim sertifikalarınızı sağlamazsanız, IoT Edge Güvenlik Yöneticisi otomatik olarak bir CIHAZ CA sertifikası oluşturur. Bu otomatik olarak imzalanan sertifika yalnızca geliştirme ve test senaryoları için tasarlanmıştır, üretim değildir. Bu sertifikanın süresi 90 gün sonra doluyor.
  • IoT Edge Güvenlik Yöneticisi Ayrıca cihaz CA sertifikası tarafından imzalanan bir iş yükü CA sertifikası oluşturur

IoT Edge aygıttaki farklı sertifikaların işlevi hakkında daha fazla bilgi için bkz. Azure IoT Edge sertifikaları nasıl kullandığını anlama.

Bu iki otomatik oluşturulan sertifika için, sertifikaların kullanım ömrü için gün sayısını yapılandırmak üzere yapılandırma dosyasında auto_generated_ca_lifetime_days bayrağını ayarlama seçeneğiniz vardır.

Not

IoT Edge Güvenlik Yöneticisi 'nin oluşturduğu, IoT Edge merkezi sunucu sertifikası olan üçüncü bir otomatik oluşturulan sertifika vardır. Bu sertifikanın her zaman 90 gün ömrü vardır, ancak süresi dolmadan önce otomatik olarak yenilenir. Auto_generated_ca_lifetime_days değeri bu sertifikayı etkilemez.

Süre dolduktan sonra, belirtilen gün sayısından sonra, cihaz CA sertifikasını yeniden oluşturmak için IoT Edge yeniden başlatılması gerekir. Cihaz CA sertifikası otomatik olarak yenilenmez.

  1. Sertifika süre sonunu varsayılan 90 gün dışında bir şeye göre yapılandırmak için, değeri, yapılandırma dosyasının Sertifikalar bölümüne gün olarak ekleyin.

    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>
    

    Not

    Şu anda libiothsm içindeki bir sınırlama 1 Ocak 2038 tarihinde veya sonrasında sona ermekte olan sertifikaların kullanılmasını engelliyor.

  2. hsmÖnceden oluşturulmuş tüm sertifikaları kaldırmak için klasörün içeriğini silin.

    • Linux ve Windows üzerinde Linux için IoT Edge: /var/lib/iotedge/hsm/certs ve /var/lib/iotedge/hsm/cert_keys

    • Windows kapsayıcıları kullanan pencereler: C:\ProgramData\iotedge\hsm\certs ve C:\ProgramData\iotedge\hsm\cert_keys

  3. IoT Edge hizmetini yeniden başlatın.

    • Linux ve Windows üzerinde Linux için IoT Edge:
    sudo systemctl restart iotedge
    
    • Windows kapsayıcıları kullanan pencereler:
    Restart-Service iotedge
    
  4. Ömür ayarını onaylayın.

    • Linux ve Windows üzerinde Linux için IoT Edge:
    sudo iotedge check --verbose
    
    • Windows kapsayıcıları kullanan pencereler:
    iotedge check --verbose
    

    Otomatik olarak oluşturulan cihaz CA sertifikalarının sona erene kadar geçen gün sayısını listeleyen Üretim hazırlığı: sertifika denetimi çıktısını denetleyin.

Sonraki adımlar

IoT Edge cihaza sertifika yükleme, çözümünüzü üretime dağıtmak için gereken bir adımdır. IoT Edge çözümünüzü üretime dağıtmaya hazırlanmahakkında daha fazla bilgi edinin.