Azure IoT Hub’da bir aşağı akış cihazının kimliğini doğrulama
Şunlar için geçerlidir: IoT Edge 1.5 IoT Edge 1.4
Önemli
IoT Edge 1.5 LTS ve IoT Edge 1.4 LTS desteklenen sürümlerdir. IoT Edge 1.4 LTS, 12 Kasım 2024'te kullanım ömrü sona erer. Ö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.
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ı kurmanın üç genel adımı vardır. Bu makale ikinci adımı kapsar:
- 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.
- 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.
- 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 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.
Önkoş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.
Not
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}
İpucu
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.
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.
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.
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.
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.
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}
İpucu
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.
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.
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:
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<.>
Bu kök CA sertifikasına sahip olduğunuzu doğrulayın.
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:
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.
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.
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.
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.
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
İpucu
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ğ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
- Simetrik anahtar kimlik doğrulaması kullanılıyorsa birincil veya ikincil anahtarı sağlayın:
- 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. Örneğin:
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. Saydam ağ geçidi serisinin bir sonraki makalesi olan Aşağı akış cihazını Azure IoT Edge ağ geçidine bağlama makalesine geçin.