Share via


X.509 sertifikalarını kullanarak Windows'da IoT Edge cihazı oluşturma ve sağlama

Şunun için geçerlidir:evet simgesi IoT Edge 1.1

Önemli

IoT Edge 1.1 destek sonu tarihi 13 Aralık 2022'ydi. Bu ürünün, hizmetin, teknolojinin veya API’nin nasıl desteklendiği hakkında bilgi edinmek için Microsoft Ürün Yaşam Döngüsü’ne göz atın. IoT Edge'nin en son sürümüne güncelleştirme hakkında daha fazla bilgi için bkz. Güncelleştirme IoT Edge.

Bu makalede, Bir Windows IoT Edge cihazı kaydetme ve sağlama için uçtan uca yönergeler sağlanır.

Not

Windows kapsayıcıları ile Azure IoT Edge, Azure IoT Edge 1.2 sürümünden itibaren desteklenmeyecektir.

Windows cihazlarda IoT Edge çalıştırmak için yeni yöntemi, Windows üzerinde Linux için Azure IoT Edge kullanmayı göz önünde bulundurun.

Windows üzerinde Linux için Azure IoT Edge kullanmak istiyorsanız, eşdeğer nasıl yapılır kılavuzundaki adımları izleyebilirsiniz.

IoT hub'ına bağlanan her cihazın buluttan cihaza veya cihazdan buluta iletişimlerini izlemek için kullanılan bir cihaz kimliği vardır. Bir cihazı IoT hub ana bilgisayar adı, cihaz kimliği ve cihazın IoT Hub kimlik doğrulaması için kullandığı bilgileri içeren bağlantı bilgileriyle yapılandırabilirsiniz.

Bu makaledeki adımlarda, tek bir cihazı IoT hub'ına bağladığınız el ile sağlama adlı işlem adım adım izlenmiştir. El ile sağlama için, IoT Edge cihazların kimliğini doğrulamak için iki seçeneğiniz vardır:

  • Simetrik anahtarlar: IoT Hub'da yeni bir cihaz kimliği oluşturduğunuzda hizmet iki anahtar oluşturur. Anahtarlardan birini cihaza yerleştirirsiniz ve kimlik doğrulaması sırasında IoT Hub anahtarı sunar.

    Bu kimlik doğrulama yöntemini kullanmaya başlamak daha hızlıdır ancak bu kadar güvenli değildir.

  • X.509 otomatik olarak imzalanan: İki X.509 kimlik sertifikası oluşturur ve bunları cihaza yerleştirirsiniz. IoT Hub'da yeni bir cihaz kimliği oluşturduğunuzda, her iki sertifikadan da parmak izi sağlarsınız. Cihaz IoT Hub kimliğini doğruladığında bir sertifika sunar ve IoT Hub sertifikanın parmak iziyle eşleşip eşleşmediğini doğrular.

    Bu kimlik doğrulama yöntemi daha güvenlidir ve üretim senaryoları için önerilir.

Bu makale, kimlik doğrulama yönteminiz olarak X.509 sertifikalarını kullanmayı kapsar. Simetrik anahtarları kullanmak istiyorsanız bkz. Simetrik anahtarları kullanarak Windows'ta IoT Edge cihazı oluşturma ve sağlama.

Not

Ayarlamanız gereken çok sayıda cihazınız varsa ve her birini el ile sağlamak istemiyorsanız, IoT Edge IoT Hub cihaz sağlama hizmetiyle nasıl çalıştığını öğrenmek için aşağıdaki makalelerden birini kullanın:

Önkoşullar

Bu makale, IoT Edge cihazınızı kaydetmeyi ve IoT Edge yüklemeyi kapsar. Bu görevlerin farklı önkoşulları ve bunları gerçekleştirmek için kullanılan yardımcı programları vardır. Devam etmeden önce tüm önkoşullara sahip olduğunuzdan emin olun.

Cihaz yönetimi araçları

Cihazınızı kaydetme adımları için Azure portal, Visual Studio Code veya Azure CLI kullanabilirsiniz. Her yardımcı programın kendi önkoşulları vardır:

Azure aboneliğinizde ücretsiz veya standart bir IoT hub'ı .

Cihaz gereksinimleri

Bir Windows cihazı.

Windows kapsayıcıları ile IoT Edge için en son Windows uzun vadeli destek derlemesi olan Windows sürüm 1809/derleme 17763 gerekir. Desteklenen SKU'ların listesi için desteklenen sistemler listesini gözden geçirmeyi unutmayın.

Cihaz kimliği sertifikaları oluşturma

X.509 sertifikalarıyla el ile sağlama için IoT Edge sürüm 1.0.10 veya üzeri gerekir.

X.509 sertifikalarıyla IoT Edge bir cihaz sağladığınızda, cihaz kimlik sertifikası olarak adlandırılan bir sertifika kullanırsınız. Bu sertifika yalnızca bir IoT Edge cihazı sağlamak ve Azure IoT Hub ile cihazın kimliğini doğrulamak için kullanılır. Diğer sertifikaları imzalamayan yaprak bir sertifikadır. Cihaz kimliği sertifikası, IoT Edge cihazının doğrulama için modüllere veya aşağı akış cihazlarına sunduğu sertifika yetkilisi (CA) sertifikalarından ayrıdır.

X.509 sertifika kimlik doğrulaması için her cihazın kimlik doğrulama bilgileri, cihaz kimlik sertifikalarınızdan alınan parmak izleri biçiminde sağlanır. Bu parmak izleri cihaz kaydı sırasında IoT Hub verilir, böylece hizmet bağlandığında cihazı tanıyabilir.

CA sertifikalarının IoT Edge cihazlarda nasıl kullanıldığı hakkında daha fazla bilgi için bkz. Azure IoT Edge sertifikaları nasıl kullandığını anlama.

X.509 ile el ile sağlama için aşağıdaki dosyalara ihtiyacınız vardır:

  • .cer veya .pem biçimlerinde eşleşen özel anahtar sertifikalarına sahip iki cihaz kimliği sertifikası.

    IoT Edge çalışma zamanına bir sertifika/anahtar dosyası kümesi sağlanır. Cihaz kimliği sertifikaları oluşturduğunuzda, cihazın IoT hub'ınızda olmasını istediğiniz cihaz kimliğiyle sertifika ortak adını (CN) ayarlayın.

  • Her iki cihaz kimliği sertifikasından alınan parmak izleri.

    Parmak izi değerleri SHA-1 karmaları için 40 onaltılık karakter veya SHA-256 karmaları için 64 onaltılık karakterlerdir. Her iki parmak izi de cihaz kaydı sırasında IoT Hub sağlanır.

Kullanılabilir sertifikanız yoksa, IoT Edge cihaz özelliklerini test etmek için tanıtım sertifikaları oluşturabilirsiniz. Sertifika oluşturma betiklerini ayarlamak, kök CA sertifikası oluşturmak ve ardından iki IoT Edge cihaz kimliği sertifikası oluşturmak için bu makaledeki yönergeleri izleyin.

Bir sertifikadan parmak izini alma yollarından biri aşağıdaki openssl komutudur:

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

Cihazınızı kaydetme

Tercihinize bağlı olarak cihazınızı kaydetmek için Azure portal, Visual Studio Code veya Azure CLI kullanabilirsiniz.

Azure portal IoT hub'ınızda, IoT Edge cihazlar kenar etkin olmayan IoT cihazlarından ayrı olarak oluşturulur ve yönetilir.

  1. Azure portal oturum açın ve IoT hub'ınıza gidin.

  2. Sol bölmede, menüden Cihazlar'ı ve ardından Cihaz Ekle'yi seçin.

  3. Cihaz oluştur sayfasında aşağıdaki bilgileri sağlayın:

    • Açıklayıcı bir cihaz kimliği oluşturun. Daha sonra kullanacağınız için bu cihaz kimliğini not edin.
    • cihaz IoT Edge onay kutusunu işaretleyin.
    • Kimlik doğrulama türü olarak X.509 Otomatik olarak imzalanan'ı seçin.
    • Birincil ve ikincil kimlik sertifikası parmak izlerini sağlayın. Parmak izi değerleri SHA-1 karmaları için 40 onaltılık karakter veya SHA-256 karmaları için 64 onaltılık karakterlerdir.
  4. Kaydet’i seçin.

artık IoT Hub kayıtlı bir cihazınız olduğuna göre, IoT Edge çalışma zamanının yüklenmesini ve sağlanmasını tamamlamak için kullandığınız bilgileri alın.

Kayıtlı cihazları görüntüleme ve sağlama bilgilerini alma

X.509 sertifika kimlik doğrulaması kullanan cihazların IoT Edge çalışma zamanının yüklenmesini ve sağlanmasını tamamlamak için IoT hub'ının adı, cihaz adı ve sertifika dosyaları gerekir.

IoT hub'ınıza bağlanan uç özellikli cihazlar Cihazlar sayfasında listelenir. Listeyi Iot Edge Cihazı türüne göre filtreleyebilirsiniz.

IoT hub'ınızdaki tüm IoT Edge cihazlarını görüntülemenin ekran görüntüsü.

yükleme IoT Edge

Bu bölümde, Windows VM'nizi veya fiziksel cihazınızı IoT Edge için hazırlarsınız. Ardından IoT Edge yüklersiniz.

Azure IoT Edge, OCI uyumlu bir kapsayıcı çalışma zamanı kullanır. Moby tabanlı bir altyapı olan Moby, yükleme betiğine dahil edilir, bu da motoru yüklemek için ek adımlar olmadığı anlamına gelir.

IoT Edge çalışma zamanını yüklemek için:

  1. PowerShell'i yönetici olarak çalıştırın.

    PowerShell(x86) yerine PowerShell'in AMD64 oturumu kullanın. Hangi oturum türünü kullandığınızdan emin değilseniz aşağıdaki komutu çalıştırın:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Aşağıdaki görevleri gerçekleştiren Deploy-IoTEdge komutunu çalıştırın:

    • Windows makinenizin desteklenen bir sürümde olup olmadığını denetler
    • Kapsayıcılar özelliğini açar
    • Moby altyapısını ve IoT Edge çalışma zamanını indirir
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. İstenirse cihazınızı yeniden başlatın.

Bir cihaza IoT Edge yüklediğinizde, işlemi değiştirmek için aşağıdakiler de dahil olmak üzere ek parametreler kullanabilirsiniz:

  • Ara sunucudan geçmek için trafiği yönlendirme
  • Yükleyiciyi çevrimdışı yükleme için yerel bir dizine yöneltin

Bu ek parametreler hakkında daha fazla bilgi için bkz. Windows kapsayıcılarıyla IoT Edge için PowerShell betikleri.

Cihazı bulut kimliğiyle sağlama

Artık kapsayıcı altyapısı ve IoT Edge çalışma zamanı cihazınıza yüklendiğinden, cihazı bulut kimliği ve kimlik doğrulama bilgileriyle ayarlamak üzere bir sonraki adıma hazırsınız demektir.

  1. IoT Edge cihazda PowerShell'i yönetici olarak çalıştırın.

  2. Makinenizde IoT Edge çalışma zamanını yapılandırmak için Initialize-IoTEdge komutunu kullanın.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -ManualX509
    
    • çevrimdışı veya belirli bir sürüm yüklemesi için IoTEdgeSecurityDaemon.ps1 betiğini cihazınıza indirdiyseniz, betiğin yerel kopyasına başvurdığınızdan emin olun.

      . <path>/IoTEdgeSecurityDaemon.ps1
      Initialize-IoTEdge -ManualX509
      
  3. İstendiğinde aşağıdaki bilgileri girin:

    • IotHubHostName: Cihazın bağlanacağı IoT hub'ının ana bilgisayar adı. Örneğin, {IoT_hub_name}.azure-devices.net.
    • DeviceId: Cihazı kaydederken sağladığınız kimlik.
    • X509IdentityCertificate: Cihazdaki bir kimlik sertifikasının mutlak yolu. Örneğin, C:\path\identity_certificate.pem.
    • X509IdentityPrivateKey: Sağlanan kimlik sertifikası için özel anahtar dosyasının mutlak yolu. Örneğin, C:\path\identity_key.pem.

Bir cihazı el ile sağladığınızda, işlemi değiştirmek için aşağıdakiler gibi ek parametreler kullanabilirsiniz:

  • Ara sunucudan geçmek için trafiği yönlendirme
  • Belirli bir edgeAgent kapsayıcı görüntüsü bildirin ve özel kayıt defterindeyse kimlik bilgilerini sağlayın

Bu ek parametreler hakkında daha fazla bilgi için bkz. Windows kapsayıcılarıyla IoT Edge için PowerShell betikleri.


Başarılı yapılandırmayı doğrulama

Çalışma zamanının IoT Edge cihazınıza başarıyla yüklendiğini ve yapılandırıldığını doğrulayın.

IoT Edge hizmetinin durumunu kontrol edin.

Get-Service iotedge

Hizmet günlüklerini inceleyin.

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

Çalışan modülleri listeleme.

iotedge list

Çevrimdışı veya belirli bir sürüm yüklemesi (isteğe bağlı)

Bu bölümdeki adımlar, standart yükleme adımları kapsamında olmayan senaryolara yöneliktir. Bu şunları içerebilir:

  • Çevrimdışıyken IoT Edge yükleme
  • Sürüm adayı sürümünü yükleme
  • En son sürüm dışında bir sürüm yükleme

Yükleme sırasında üç dosya indirilir:

  • Yükleme yönergelerini içeren bir PowerShell betiği
  • IoT Edge güvenlik daemon'unu (iotedged), Moby kapsayıcı altyapısını ve Moby CLI'yi içeren Microsoft Azure IoT Edge cab
  • Visual C++ yeniden dağıtılabilir paket (VC çalışma zamanı) yükleyicisi

Cihazınız yükleme sırasında çevrimdışı olacaksa veya belirli bir IoT Edge sürümünü yüklemek istiyorsanız, bu dosyaları önceden cihaza indirebilirsiniz. Yükleme zamanı geldiğinde, yükleme betiğini indirilen dosyaları içeren dizine işaret edin. Yükleyici önce bu dizini denetler ve ardından yalnızca bulunmayan bileşenleri indirir. Tüm dosyalar çevrimdışı kullanılabilir durumdaysa, İnternet bağlantısı olmadan yükleyebilirsiniz.

  1. Önceki sürümlerle birlikte en son IoT Edge yükleme dosyaları için bkz. Azure IoT Edge sürümleri.

  2. Yüklemek istediğiniz sürümü bulun ve sürüm notlarının Varlıklar bölümünden aşağıdaki dosyaları IoT cihazınıza indirin:

    • IoTEdgeSecurityDaemon.ps1
    • 1.1 yayın kanalından Microsoft-Azure-IoTEdge-amd64.cab.

    İşlevler her sürümdeki özellikleri destekleyecek şekilde değiştiğinden, PowerShell betiğini kullandığınız .cab dosyasıyla aynı sürümde kullanmak önemlidir.

  3. İndirdiğiniz .cab dosyasında mimari soneki varsa, dosyayı yalnızca Microsoft-Azure-IoTEdge.cabolarak yeniden adlandırın.

  4. İsteğe bağlı olarak, Visual C++ yeniden dağıtılabilir yükleyicisini indirin. Örneğin, PowerShell betiği şu sürümü kullanır: vc_redist.x64.exe. Yükleyiciyi IoT cihazınızdaki IoT Edge dosyalarıyla aynı klasöre kaydedin.

  5. Çevrimdışı bileşenlerle yüklemek için PowerShell betiğinin yerel kopyasını nokta kaynağı yapın.

  6. Deploy-IoTEdge komutunu parametresiyle -OfflineInstallationPath çalıştırın. Dosya dizininin mutlak yolunu belirtin. Örneğin,

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

    Dağıtım komutu, sağlanan yerel dosya dizininde bulunan tüm bileşenleri kullanır. .cab dosyası veya Visual C++ yükleyicisi eksikse, bunları indirmeyi dener.

IoT Edge kaldırma

windows cihazınızdan IoT Edge yüklemesini kaldırmak istiyorsanız, yönetim PowerShell penceresinden Uninstall-IoTEdge komutunu kullanın. Bu komut, mevcut yapılandırmanız ve Moby altyapı verilerinizle birlikte IoT Edge çalışma zamanını kaldırır.

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

Kaldırma seçenekleri hakkında daha fazla bilgi için komutunu Get-Help Uninstall-IoTEdge -fullkullanın.

Sonraki adımlar

Modülleri cihazınıza dağıtmayı öğrenmek için IoT Edge modülleri dağıtmaya devam edin.