Azure IoT Hub için aşağı akış cihazının kimliğini doğrulama

Şunun için geçerlidir:IoT Edge 1.6 onay işareti IoT Edge 1.6

Önemli

IoT Edge 1.6 LTS desteklenen sürümdür. IoT Edge 1.5 LTS desteği 10 Kasım 2026'da sona erer; IoT Edge 1.4 LTS, 12 Kasım 2024'te ömrünün sonuna ulaştı. Önceki bir sürümü kullanıyorsanız bkz. Update IoT Edge.

Saydam bir ağ geçidi senaryosunda, bazen alt cihazlar olarak da adlandırılan aşağı akış cihazları, diğer cihazlar gibi IoT Hub kimliklere ihtiyaç duyar. Bu makalede, alt cihazın IoT Hub'a kimlik doğrulama seçenekleri açıklanır ve ağ geçidi bağlantısının nasıl bildirileceği gösterilir.

Not

Aşağı akış cihazı, IoT Edge etkin olup olmadıklarına bakılmaksızın verileri doğrudan İnternet'e veya ağ geçidi cihazlarına gönderir. Alt cihaz, iç içe geçmiş topolojideki bir aşağı akış cihazı veya ağ geçidi cihazı olabilir.

Başarılı bir saydam ağ geçidi bağlantısı kurmanın üç genel adımı vardır. Bu makale ikinci adımı kapsar:

  1. Aşağı akış cihazlarının güvenli bir şekilde bağlanabilmesi için ağ geçidi cihazını bir sunucu olarak yapılandırın. Aşağı akış cihazlarından ileti almak ve bunları uygun hedefe yönlendirmek için ağ geçidini ayarlayın. Bu adımlar için bkz. Saydam ağ geçidi olarak davranacak IoT Edge cihazı yapılandırma.
  2. IoT Hub ile kimlik doğrulaması için aşağı akış cihazı için bir cihaz kimliği oluşturun. Aşağı akış cihazını ağ geçidi cihazı üzerinden ileti gönderecek şekilde yapılandırın.
  3. Aşağı akış cihazını ağ geçidi cihazına bağlayın ve ileti göndermeye başlayın. Bu adımlar için bkz. Aşağı akış cihazını Azure IoT Edge ağ geçidine bağlama.

Aşağı akış cihazları üç yöntemden birini kullanarak IoT Hub ile kimlik doğrulaması yapabilir: simetrik anahtarlar (bazen paylaşılan erişim anahtarları olarak adlandırılır), X.509 otomatik olarak imzalanan sertifikalar veya X.509 sertifika yetkilisi (CA) imzalı sertifikalar. Kimlik doğrulama adımları, ağ geçidi ilişkisini bildirmek için küçük farklarla IoT Hub ile IoT Edge olmayan herhangi bir cihazı ayarlamaya yönelik adımlara benzer.

Azure IoT Hub Cihaz Sağlama Hizmeti (DPS) ile aşağı akış cihazlarının otomatik olarak sağlanması desteklenmez.

Önkoşullar

> Saydam ağ geçidi olarak davranacak IoT Edge cihazı yapılandırma adımlarını tamamlayın.

X.509 kimlik doğrulaması kullanıyorsanız aşağı akış cihazınız için sertifikalar oluşturun. Saydam ağ geçidi makalesinde kullandığınız aynı kök CA sertifikasına ve sertifika oluşturma betiğine sahip olduğunuzdan emin olun.

Bu makale, birkaç noktada ağ geçidi ana bilgisayar adından bahseder. Ağ geçidi ana bilgisayar adı, IoT Edge ağ geçidi cihazındaki yapılandırma dosyasının hostname parametresinde ayarlanır. Ayrıca alt akış cihazının bağlantı dizesinde kullanılır. Ağ geçidi ana bilgisayar adı, aşağı akış cihazında DNS veya ana bilgisayar dosyası girişi kullanarak bir IP adresine çözümlenmelidir.

IoT Hub'a cihaz kaydetme

Aşağı akış cihazınızın IoT Hub ile nasıl kimlik doğrulamasını istediğinizi seçin:

  • Symmetric key authentication: IoT Hub aşağı akış cihazına yerleştirdiğiniz bir anahtar oluşturur. Cihaz kimlik doğrulaması yaptığında, IoT Hub iki anahtarın eşleştiğini kontrol eder. Simetrik anahtar kimlik doğrulamasını kullanmak için ek sertifikalar oluşturmanız gerekmez.

    Bir geliştirme veya test senaryosunda ağ geçitlerini test ediyorsanız, bu yöntem kullanmaya başlamak için daha hızlıdır.

  • X.509 otomatik olarak imzalanan kimlik doğrulaması: Cihazın X.509 sertifikasındaki parmak izini IoT Hub paylaştığınızdan bazen parmak izi kimlik doğrulaması olarak adlandırılır.

    Üretim senaryolarındaki cihazlar için sertifika kimlik doğrulaması önerilir.

  • X.509 CA ile imzalanan kimlik doğrulaması: Kök CA sertifikasını IoT Hub yükleyin. Cihazlar kimlik doğrulaması için X.509 sertifikalarını sunduğunda IoT Hub aynı kök CA sertifikası tarafından imzalanan bir güven zincirine ait olup olmadığını denetler.

    Üretim senaryolarındaki cihazlar için sertifika kimlik doğrulaması önerilir.

Simetrik anahtar kimlik doğrulaması

Simetrik anahtar kimlik doğrulaması veya paylaşılan erişim anahtarı kimlik doğrulaması, IoT Hub ile kimlik doğrulaması yapmanın en kolay yoludur. Simetrik anahtar kimlik doğrulaması ile base64 anahtarı, IoT Hub ioT cihaz kimliğiniz ile ilişkilendirilir. Cihazınızın IoT Hub bağlandığında sunabilmesi için bu anahtarı IoT uygulamalarınıza eklersiniz.

Azure portalı, Azure CLI veya Visual Studio Code için IoT uzantısını kullanarak IoT Hub yeni bir IoT cihazı ekleyin. Aşağı akış cihazlarının IoT Edge cihazlar değil, normal IoT cihazları olarak IoT Hub tanımlanması gerektiğini unutmayın.

Yeni cihaz kimliğini oluşturduğunuzda aşağıdaki bilgileri sağlayın:

  • Cihazınız için bir kimlik oluşturun.

  • Kimlik doğrulama türü olarak Simetrik anahtar'ı seçin.

  • Ebeveyn cihazı ayarlarını seçin ve bu aşağı akış cihazının bağlandığı IoT Edge ağ geçidi cihazını belirleyin. Daha sonra her zaman ebeveyni değiştirebilirsiniz.

    > Azure portalında simetrik anahtar yetkilendirmeli cihaz kimliği oluşturma ekran görüntüsü.

    Not

    Ana cihazı ayarlama, simetrik anahtar kimlik doğrulaması kullanan aşağı akış cihazları için isteğe bağlı bir adımdı. Ancak, IoT Edge sürüm 1.1.0'dan itibaren her alt cihaz bir üst cihaza atanmalıdır.

    IoT Edge hub'ını AuthenticationMode ortam değişkenini CloudAndScope değerine ayarlayarak önceki davranışa geri dönecek şekilde yapılandırabilirsiniz.

Aynı işlemi tamamlamak için Azure CLI için IoT uzantısını da kullanabilirsiniz. Aşağıdaki örnekte az iot hub device-identity komutu kullanılarak simetrik anahtarla kimlik doğrulaması yapılan yeni bir IoT cihazı oluşturulur ve bir üst cihaz atanır:

az iot hub device-identity create -n {iothub name} -d {new device ID} --device-scope {deviceScope of parent device}

İpucu

kullanarak az iot hub device-identity list --hub-name {iothub name}cihaz kapsamı dahil olmak üzere cihaz özelliklerini listeleyebilirsiniz.

Ardından, bağlantı dizesini alın ve değiştirin böylece cihazınızın geçidi aracılığıyla bağlanacağını bilmesi için.

X.509 otomatik olarak imzalanan kimlik doğrulaması

X.509 kendinden imzalı kimlik doğrulaması, bazen parmak izi kimlik doğrulaması olarak da adlandırılır, için alt cihazınıza yerleştirmek üzere sertifikalar oluşturmalısınız. Bu sertifikaların içinde kimlik doğrulaması için IoT Hub paylaştığınız bir parmak izi vardır.

  1. CA sertifikanızı kullanarak aşağı akış cihazı için iki cihaz sertifikası (birincil ve ikincil) oluşturun.

    X.509 sertifikaları oluşturmak için bir sertifika yetkiliniz yoksa, IoT Edge tanıtım sertifikası betiklerini kullanarak aşağı yönde cihaz sertifikaları oluşturabilirsiniz. Otomatik olarak imzalanan sertifikalar oluşturma adımlarını izleyin. Ağ geçidi cihazınız için sertifikaları oluşturan kök CA sertifikasını kullanın.

    Kendi sertifikalarınızı oluşturursanız, cihaz sertifikasının konu adının IoT cihazını Azure IoT Hub kaydederken kullandığınız cihaz kimliğine ayarlandığından emin olun. Bu ayar kimlik doğrulaması için gereklidir.

  2. Her sertifikadan 40 onaltılık karakter dizesi olan SHA1 parmak izini (IoT Hub arabiriminde parmak izi olarak adlandırılır) alın. Sertifikayı görüntülemek ve parmak izini bulmak için aşağıdaki openssl komutunu kullanın:

    • Windows:

      openssl x509 -in <path to primary device certificate>.cert.pem -text -fingerprint
      
    • Linux:

      openssl x509 -in <path to primary device certificate>.cert.pem -text -fingerprint | sed 's/[:]//g'
      

    Bu komutu, birincil sertifika için bir kez ve ikincil sertifika için bir kez iki kez çalıştırın. Otomatik olarak imzalanan X.509 sertifikalarını kullanarak yeni bir IoT cihazı kaydettiğinizde her iki sertifika için de parmak izi sağlarsınız.

  3. Azure portalında IoT Hub gidin ve aşağıdaki değerlerle yeni bir IoT cihaz kimliği oluşturun:

    • Cihaz sertifikalarınızın konu adıyla eşleşen Cihaz Kimliğini belirtin.
    • Kimlik doğrulama türü olarak X.509 Otomatik İmzalı seçeneğini belirleyin.
    • Cihazınızın birincil ve ikincil sertifikalarından kopyaladığınız onaltılık dizeleri yapıştırın.
    • Ebeveyn cihazı ayarla seçeneğini belirleyin ve bu aşağı akış cihazının bağlı olduğu IoT Edge ağ geçidi cihazını seçin. Daha sonra her zaman ebeveyni değiştirebilirsiniz.

     Azure portalında X.509 otomatik olarak imzalanan yetkilendirmeye sahip bir cihaz kimliği oluşturmayı gösteren ekran görüntüsü.

  4. Hem birincil hem de ikincil cihaz sertifikalarını ve anahtarlarını aşağı akış cihazındaki herhangi bir konuma kopyalayın. Ayrıca hem ağ geçidi cihaz sertifikasını hem de aşağı akış cihaz sertifikalarını oluşturan paylaşılan kök CA sertifikasının bir kopyasını taşıyın.

    Bu sertifika dosyalarına IoT Hub bağlanan aşağı akış cihazındaki tüm uygulamalarda başvuracaksınız. Sertifika dosyalarını taşımak için Azure Key Vault gibi bir hizmet veya Secure copy protocol gibi bir işlev kullanabilirsiniz.

  5. Tercih ettiğiniz dile bağlı olarak, IoT uygulamalarında X.509 sertifikalarına nasıl başvurulabileceğini gösteren örnekleri gözden geçirin:

Aynı cihaz oluşturma işlemini tamamlamak için Azure CLI için IoT uzantısını da kullanabilirsiniz. Aşağıdaki örnekte, az iot hub device-identity komutu kullanılarak X.509 kendi imzalı kimlik doğrulama ile yeni bir IoT cihazı oluşturulup bir ana cihaz atanır.

az iot hub device-identity create -n {iothub name} -d {device ID} --device-scope {deviceScope of gateway device} --am x509_thumbprint --ptp {primary thumbprint} --stp {secondary thumbprint}

İpucu

kullanarak az iot hub device-identity list --hub-name {iothub name}cihaz kapsamı dahil olmak üzere cihaz özelliklerini listeleyebilirsiniz.

Ardından, bağlantı dizesini alın ve değiştirin böylece cihazınızın geçidi aracılığıyla bağlanacağını bilmesi için.

X.509 CA imzalı kimlik doğrulaması

X.509 sertifika yetkilisi (CA) imzalı kimlik doğrulaması için, aşağı akış cihazınız için sertifikaları imzalamak için kullandığınız IoT Hub kayıtlı bir kök CA sertifikasına ihtiyacınız vardır. Kök CA sertifikası veya ara sertifikalarından herhangi biri tarafından verilen bir sertifikayı kullanan herhangi bir cihazın kimlik doğrulamasına izin verilir.

IoT Hub'ta doğrulama için X.509 CA sertifikalarının kullanılmasına giriş için X.509 CA sertifikası doğrulamasının faydalarına bakınız.

Aşağı akış cihazı için X.509 CA imzalı kimlik doğrulamasını ayarlamak için şu adımları izleyin:

  1. Aşağı akış cihazınız için sertifikaları imzalamak için kullanabileceğiniz bir X.509 CA sertifikası alın. X.509 CA imzalı kimlik doğrulamasını ayarlama örneği için aşağıdaki örnek senaryoya bakın.

  2. Aşağı akış cihazınız için bir sertifika zinciri oluşturun. Daha fazla bilgi edinmek için , alt CA oluşturma adımlarını izleyin.

  3. X.509 CA sertifikasını IoT Hub kaydedin. Daha fazla bilgi edinmek için alt CA sertifikanızı IoT Hub'a kaydetme makalesindeki adımları izleyin.

  4. Cihaz sertifikasını ve anahtarlarını aşağı akış cihazına kopyalayın. Daha fazla bilgi için bkz. IoT Edge sertifikalarını yönetme.

  5. X.509 CA imzalı kimlik doğrulamasını kullanmak için cihazı IoT Hub kaydedin. Daha fazla bilgi için bkz. Cihaz kimliklerini oluşturma ve yönetme.

  6. Tercih ettiğiniz dile bağlı olarak, IoT uygulamalarında X.509 sertifikalarına nasıl başvurulabileceğini gösteren örnekleri gözden geçirin:

Bağlantı dizisini alma ve düzenleme

Portalda bir IoT cihaz kimliği oluşturduktan sonra birincil veya ikincil anahtarını alın. IoT Hub ile iletişim kurmak için uygulamaların kullandığı bağlantı dizisine bu anahtarlardan birini ekleyin. Simetrik anahtar kimlik doğrulaması için IoT Hub, cihaz ayrıntılarında tam bağlantı dizesini gösterir. Belirtilen ağ geçidi cihaz bilgilerini bağlantı dizesi'e ekleyin.

Alt akış cihazı için bağlantı dizesi şu bölümlerden oluşmalıdır:

  • Cihazın bağlandığınız IoT Hub: Hostname=<Iot-Hub-Name>.azure-devices.net
  • Hub'a kayıtlı cihaz kimliği: DeviceID=<Device-ID>
  • Simetrik anahtar veya X.509 sertifikası olan kimlik doğrulama yöntemi.
    • Simetrik anahtar kimlik doğrulaması için birincil veya ikincil anahtarı girin: SharedAccessKey=<Key>
    • X.509 sertifika kimlik doğrulaması için bir bayrak sağlayın: x509=true
  • Cihazın bağlantı kurduğu ağ geçidi cihazı. IoT Edge ağ geçidi cihazının yapılandırma dosyasından hostname değerini girin: GatewayHostName=<Gateway-Hostname>

Tam bir bağlantı dizesi aşağıdaki örneğe benzer:

HostName=myiothub.azure-devices.net;DeviceId=myDownstreamDevice;SharedAccessKey=xxxyyyzzz;GatewayHostName=myGatewayDevice

Veya X.509 sertifika kimlik doğrulaması için:

HostName=myiothub.azure-devices.net;DeviceId=myDownstreamDevice;x509=true;GatewayHostName=myGatewayDevice

Üst ve alt ilişkisi nedeniyle bağlantı dizesini basitleştirmek için ağ geçidini doğrudan bağlantı ana bilgisayarı olarak kullanabilirsiniz. Örneğin:

HostName=myGatewayDevice;DeviceId=myDownstreamDevice;SharedAccessKey=xxxyyyzzz

Saydam ağ geçidi serisinin sonraki makalesinde bu değiştirilmiş bağlantı dizesi kullanın.

Sonraki adımlar

Bu noktada, IoT Hub kayıtlı bir IoT Edge cihazınız vardır ve bunu saydam ağ geçidi olarak ayarlarsınız. IoT Hub'unuza kayıtlı ve ağ geçidi cihazınıza yönlendirilmiş bir downstream cihazınız da bulunmaktadır.

Ardından aşağı akış cihazınızı ağ geçidi cihazına güvenecek ve güvenli bir şekilde bağlanacak şekilde ayarlayın. Saydam ağ geçidi serisindeki sonraki makaleyle devam edin: Aşağı akış cihazını Azure IoT Edge ağ geçidine bağlama.