Azure IoT Hub’da bir aşağı akış cihazının kimliğini doğrulama

Şunlar için geçerlidir:IoT Edge 1.4 checkmark IoT Edge 1.4

Önemli

IoT Edge 1.4 desteklenen sürümdür. Önceki bir sürümdeyseniz bkz. IoT Edge’i güncelleştirme.

Saydam bir ağ geçidi senaryosunda, aşağı akış cihazları (bazen alt cihazlar olarak adlandırılır) diğer tüm cihazlar gibi IoT Hub'da kimliklere ihtiyaç duyar. Bu makalede, ioT Hub'a bir aşağı akış cihazının kimliğini doğrulama seçenekleri açıklanıp ağ geçidi bağlantısının nasıl bildirilir gösterilmektedir.

Dekont

Aşağı akış cihazı verileri doğrudan İnternet'e veya ağ geçidi cihazlarına (IoT Edge etkin veya değil) yayar. Alt cihaz, iç içe 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 . IoT Edge cihazını saydam ağ geçidi işlevi görecek şekilde 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ğlan 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ğlan.

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

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

Ön koşullar

IoT Edge cihazını saydam ağ geçidi işlevi görmesi için yapılandırma bölümünde yer alan adımları tamamlayın.

X.509 kimlik doğrulamasını kullanıyorsanız aşağı akış cihazınız için sertifikalar oluşturursunuz. Saydam ağ geçidi makalesi için kullandığınız aynı kök CA sertifikasına ve sertifika oluşturma betiğine yeniden kullanılabilir.

Bu makale, çeşitli noktalarda ağ geçidi ana bilgisayar adını ifade eder. Ağ geçidi ana bilgisayar adı, IoT Edge ağ geçidi cihazındaki yapılandırma dosyasının konak adı parametresinde bildirilir. Aşağı akış cihazının bağlantı dizesi başvurulur. Ağ geçidi ana bilgisayar adının, DNS veya aşağı akış cihazında bir ana bilgisayar dosyası girişi kullanılarak bir IP Adresi ile çözümlenebilir olması gerekir.

Cihazı IoT Hub'a kaydetme

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

  • Simetrik anahtar kimlik doğrulaması: IoT Hub, aşağı akış cihazına yerleştirdiğiniz bir anahtar oluşturur. Cihaz kimlik doğrulamasından geçtiğinde IoT Hub iki anahtarın eşleştiğinden emin olun. 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 ile paylaştığınız için 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 imzalı kimlik doğrulaması: Kök CA sertifikasını IoT Hub'a 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ıyla, IoT Hub'daki IoT cihaz kimliğiniz ile bir base64 anahtarı ilişkilendirilir. Cihazınızın IoT Hub'a bağlandığında sunabilmesi için bu anahtarı IoT uygulamalarınıza eklersiniz.

Azure portalını, Azure CLI'yi veya Visual Studio Code için IoT uzantısını kullanarak IoT hub'ınıza yeni bir IoT cihazı ekleyin. Aşağı akış cihazlarının IoT Edge cihazları olarak değil, IoT Hub'da normal IoT cihazları olarak 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.

  • Üst cihaz ayarla'yı seçin ve bu aşağı akış cihazının bağlanacağı IoT Edge ağ geçidi cihazını seçin. Üst öğeyi daha sonra istediğiniz zaman değiştirebilirsiniz.

    Screenshot of how to create a device ID with symmetric key authorization in the Azure portal.

    Dekont

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

    AuthenticationMode ortam değişkenini CloudAndScope değerine ayarlayarak IoT Edge hub'ını ö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 anahtar kimlik doğrulamasıyla 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}

Bahşiş

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

Ardından bağlantı dizesi alın ve değiştirerek cihazınızın ağ geçidi üzerinden bağlanmayı bilmesine olanak sağlayın.

X.509 otomatik olarak imzalanan kimlik doğrulaması

Bazen parmak izi kimlik doğrulaması olarak da adlandırılan X.509 otomatik olarak imzalanan kimlik doğrulaması için aşağı akış cihazınıza yerleştirmek için sertifikalar oluşturmanız gerekir. Bu sertifikaların içinde kimlik doğrulaması için IoT Hub ile 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 Aşağı akış cihaz sertifikaları oluşturmak için IoT Edge tanıtım sertifikası betiklerini kullanabilirsiniz. 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'a 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'ınıza 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.
    • Üst cihaz ayarla'yı seçin ve bu aşağı akış cihazının bağlanacağı IoT Edge ağ geçidi cihazını seçin. Üst öğeyi daha sonra istediğiniz zaman değiştirebilirsiniz.

    Screenshot that shows how to create a device ID with an X.509 self-signed authorization in the Azure portal.

  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.

    IoT Hub'a bağlanan aşağı akış cihazındaki tüm uygulamalarda bu sertifika dosyalarına başvuracaksınız. Sertifika dosyalarını taşımak için Azure Key Vault gibi bir hizmeti veya Güvenli kopyalama protokolü gibi bir işlevi 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 otomatik olarak imzalanan kimlik doğrulamasıyla yeni bir IoT cihazı oluşturulur ve bir üst 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}

Bahşiş

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

Ardından bağlantı dizesi alın ve değiştirerek cihazınızın ağ geçidi üzerinden bağlanmayı bilmesine olanak sağlayın.

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'a kaydedilmiş bir kök CA sertifikasına ihtiyacınız vardır. Kök CA sertifikası veya ara sertifikalarından herhangi biri tarafından sorun olan bir sertifika kullanan tüm cihazlarda kimlik doğrulaması yapılmasına izin verilir.

Bu bölüm IoT Hub X.509 sertifika öğretici serisini temel alır. Bu serinin tanıtımı için bkz . Ortak Anahtar Şifrelemesi ve X.509 Ortak Anahtar Altyapısını Anlama.

  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 Aşağı akış cihaz sertifikaları oluşturmak için IoT Edge tanıtım sertifikası betiklerini kullanabilirsiniz. CA ile 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.

  2. Azure IoT hub'ınızda X.509 güvenliğini ayarlama bölümünün Sahip olma kanıtını gösterme bölümündeki yönergeleri izleyin. Bu bölümde aşağıdaki adımları gerçekleştirebilirsiniz:

    1. Kök CA sertifikalarını karşıya yükleyin. Tanıtım sertifikalarını kullanıyorsanız kök CA path/certs/azure-iot-test-only.root.ca.cert.pem şeklindedir<.>

    2. Bu kök CA sertifikasına sahip olduğunuzu doğrulayın.

  3. Azure IoT hub'ınızda X.509 güvenliğini ayarlama'nın IoT Hub'ınızda cihaz oluşturma bölümündeki yönergeleri izleyin. Bu bölümde aşağıdaki adımları gerçekleştirebilirsiniz:

    1. Yeni bir cihaz ekleyin. Cihaz kimliği için küçük harfli bir ad sağlayın ve X.509 CA İmzalı kimlik doğrulama türünü seçin.

    2. Bir üst cihaz ayarlayın. Üst cihaz ayarla'yı seçin ve IoT Hub'a bağlantı sağlayacak IoT Edge ağ geçidi cihazını seçin.

  4. Aşağı akış cihazınız için bir sertifika zinciri oluşturun. Bu zinciri oluşturmak için IoT Hub'a yüklediğiniz kök CA sertifikasını kullanın. Portalda cihaz kimliğinize vermiş olduğunuz küçük harfli cihaz kimliğini kullanın.

  5. Cihaz sertifikası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.

    IoT Hub'a bağlanan aşağı akış cihazındaki tüm uygulamalarda bu dosyalara başvuracaksınız. Sertifika dosyalarını taşımak için Azure Key Vault gibi bir hizmeti veya Güvenli kopyalama protokolü gibi bir işlevi kullanabilirsiniz.

  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:

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 CA imzalı kimlik doğrulamasıyla yeni bir IoT cihazı oluşturulur ve bir üst cihaz atanır:

az iot hub device-identity create -n {iothub name} -d {device ID} --device-scope {deviceScope of gateway device} --am x509_ca

Bahşiş

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

Ardından bağlantı dizesi alın ve değiştirerek cihazınızın ağ geçidi üzerinden bağlanmayı bilmesine olanak sağlayın.

bağlantı dizesi alma ve değiştirme

Portalda bir IoT cihaz kimliği oluşturduktan sonra birincil veya ikincil anahtarlarını alabilirsiniz. Bu anahtarlardan birinin uygulamaların IoT Hub ile iletişim kurmak için kullandığı bağlantı dizesi dahil edilmesi gerekir. Simetrik anahtar kimlik doğrulaması için IoT Hub, size kolaylık sağlamak için cihaz ayrıntılarında tam biçimlendirilmiş bağlantı dizesi sağlar. bağlantı dizesi ağ geçidi cihazı hakkında ek bilgi eklemeniz gerekir.

Aşağı akış cihazları için Bağlan ion dizeleri aşağıdaki bileşenlere ihtiyaç duyar:

  • Cihazın bağlandığını IoT hub'ı: Hostname={iothub name}.azure-devices.net
  • Hub'a kayıtlı cihaz kimliği: DeviceID={device ID}
  • Simetrik anahtar veya X.509 sertifikaları gibi kimlik doğrulama yöntemi
    • Simetrik anahtar kimlik doğrulaması kullanılıyorsa birincil veya ikincil anahtarı sağlayın: SharedAccessKey={key}
    • X.509 sertifika kimlik doğrulaması kullanıyorsanız bir bayrak sağlayın: x509=true
  • Cihazın üzerinden bağlandığını ağ geçidi cihazı. IoT Edge ağ geçidi cihazının yapılandırma dosyasından konak adı değerini belirtin:GatewayHostName={gateway hostname}

Birlikte, eksiksiz bir bağlantı dizesi şöyle görünür:

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

Veya:

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

Üst/alt ilişki sayesinde ağ geçidini doğrudan bağlantı konağı olarak çağırarak bağlantı dizesi basitleştirebilirsiniz. Örnek:

HostName=myGatewayDevice;DeviceId=myDownstreamDevice;SharedAccessKey=xxxyyyzzz

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

Sonraki adımlar

Bu noktada IoT hub'ınıza kayıtlı ve saydam bir ağ geçidi olarak yapılandırılmış bir IoT Edge cihazınız vardır. IoT hub'ınıza kayıtlı ve ağ geçidi cihazına işaret eden bir aşağı akış cihazınız da vardır.

Ardından, aşağı akış cihazınızı ağ geçidi cihazına güvenecek ve güvenli bir şekilde bağlanacak şekilde yapılandırmanız gerekir. Azure IoT Edge ağ geçidine aşağı akış cihazı Bağlan saydam ağ geçidi serisindeki sonraki makaleye geçin.