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

Şunlar için geçerlidir:IoT Edge 1.4 onay işareti IoT Edge 1.4

Saydam bir ağ geçidi senaryosunda aşağı akış cihazları (bazen alt cihazlar olarak adlandırılır) diğer cihazlar gibi IoT Hub kimliklere ihtiyaç duyar. Bu makalede, IoT Hub için aşağı akış cihazının kimliğini doğrulama seçenekleri açık ve ardından ağ geçidi bağlantısının nasıl bildirilir gösterilmektedir.

Not

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ı kurmak için üç 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ğ geçidini aşağı akış cihazlarından ileti alacak ve bunları uygun hedefe yönlendirecek şekilde ayarlayın. Bu adımlar için bkz. IoT Edge cihazı saydam ağ geçidi görevi 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ğ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 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ı, ağ geçidi ilişkisini bildirmek için küçük farklarla IoT Hub ile IoT-Edge olmayan cihazları ayarlamak için kullanılan adımlara benzer.

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

Önkoşullar

IoT Edge cihazını saydam ağ geçidi olarak davranacak şekilde yapılandırma bölümündeki 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 sahip olun.

Bu makale, birkaç noktada 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 ana bilgisayar adı parametresinde bildirilir. Aşağı akış cihazının bağlantı dizesinde buna başvurulur. Ağ geçidi ana bilgisayar adı, DNS veya aşağı akış cihazında bir konak dosyası girişi kullanılarak bir IP Adresi ile çözümlenebilir olmalıdır.

Cihazı IoT Hub kaydetme

Aşağı akış cihazınızın IoT Hub 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ğine bakın. 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ı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 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'de IoT cihaz kimliğiniz ile bir base64 anahtarı 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'ınıza 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.

  • Ü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.

    Portalda simetrik anahtar kimlik doğrulaması ile cihaz kimliği oluşturma

    Not

    Ana cihazı ayarlamak, simetrik anahtar kimlik doğrulaması kullanan aşağı akış cihazları için isteğe bağlı bir adım olarak kullanılır. Ancak, IoT Edge sürüm 1.1.0'dan başlayarak 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 örnek, simetrik anahtar kimlik doğrulaması ile yeni bir IoT cihazı oluşturmak ve bir üst cihaz atamak için az iot hub device-identity komutunu kullanı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, cihazınızın ağ geçidi üzerinden bağlanmayı bilmesi için bağlantı dizesini alın ve değiştirin .

X.509 otomatik olarak imzalanan kimlik doğrulaması

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ştirecek sertifikalar oluşturmanız gerekir. 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 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 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 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 olarak imzalanan'ı seçin.
    • 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.

    Portalda X.509 otomatik olarak imzalanan kimlik doğrulaması ile cihaz kimliği oluşturma

  4. Hem birincil hem de ikincil cihaz sertifikalarını ve bunların 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 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ğine ilişkin ö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}

İpucu

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

Ardından, cihazınızın ağ geçidi üzerinden bağlanmayı bilmesi için bağlantı dizesini alın ve değiştirin .

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.

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 imzalı 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ştirirsiniz:

    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 cihazınızdacihaz oluşturma bölümündeki yönergeleri izleyin. Bu bölümde aşağıdaki adımları gerçekleştirirsiniz:

    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 bağlantısını 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 yüklediğiniz kök CA sertifikasını kullanın. Portalda cihaz kimliğinize verdiğiniz 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.

    Bu dosyalara 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 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ğine ilişkin ö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

İpucu

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

Ardından, cihazınızın ağ geçidi üzerinden bağlanmayı bilmesi için bağlantı dizesini alın ve değiştirin .

Bağlantı dizesini 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 iletişim kurmak için kullandığı bağlantı dizesine eklenmesi 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ı dizesini sağlar. Bağlantı dizesine ağ geçidi cihazı hakkında ek bilgi eklemeniz gerekir.

Aşağı akış cihazları için bağlantı 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 bağlantı kurduğu ağ geçidi cihazı. IoT Edge ağ geçidi cihazının yapılandırma dosyasından konak adı değerini sağlayın:GatewayHostName={gateway hostname}

Tümü birlikte, tam 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ı dizesini basitleştirebilirsiniz. Örnek:

HostName=myGatewayDevice;DeviceId=myDownstreamDevice;SharedAccessKey=xxxyyyzzz

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

Sonraki adımlar

Bu noktada IoT hub'ınıza kaydedilmiş ve saydam 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ını 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. Saydam ağ geçidi serisinin aşağı akış cihazını Azure IoT Edge ağ geçidine bağlama başlıklı sonraki makaleye geçin.