Skip to main content
Azure
  • 2 min read

Azure IoT Hub Device Provisioning Service is generally available

The Azure IoT Hub Device Provisioning Service is now available with the same great support you've come to know and expect from Azure IoT services. The Device Provisioning Service enables customers to…

The Azure IoT Hub Device Provisioning Service is now available with the same great support you’ve come to know and expect from Azure IoT services. The Device Provisioning Service enables customers to configure zero-touch device provisioning to Azure IoT Hub, and it brings the scalability of the cloud to what was once a laborious one-at-a-time process. The Device Provisioning Process was designed with the challenges of the supply chain in mind, providing the infrastructure needed to provision millions of devices in a secure and scalable manner.

image

With general availability support comes expanded protocol support. Automatic device provisioning with the Device Provisioning Service now supports all protocols that IoT Hub supports including HTTP, AMQP, MQTT, AMQP over websockets, and MQTT over websockets. This release also corresponds to expanded SDK language support for both the device and client side. We now support SDKs in the following languages including C, C#, Java, Node (service for now, device coming soon), and Python (device for now, service coming soon). Get started with the Device Provisioning Service with the quick start tutorials.

The Device Provisioning Service works in a wide variety of scenarios:

  • Zero-touch provisioning to a single IoT solution without requiring hardcoded IoT Hub connection information in the factory (initial setup).
  • Automatically configuring devices based on solution-specific needs.
  • Load balancing devices across multiple hubs.
  • Connecting devices to their owner’s IoT solution based on sales transaction data (multitenancy).
  • Connecting devices to a specific IoT solution depending on use-case (solution isolation).
  • Connecting a device to the IoT hub with the nearest geo-location.
  • Re-provisioning based on a change in the device, such as a change in ownership or location.

The Device Provisioning Service is flexible enough to support all those scenarios using the same basic flow:

image

We’ve made it easier than ever to use hardware-based security with the Device Provisioning Service device SDKs. We offer in-box support for different kinds of hardware security modules (HSMs), and we have partnerships with several hardware manufacturers to help our customers be as secure as possible. You can learn more about the hardware partnerships by reading the blog post Provisioning for true zero-touch secure identity management for IoT, and you can learn more about HSMs by reading the blog post Azure IoT supports new security hardware to strengthen IoT security. The SDKs are extensible to support other HSMs, and you can learn more about how to use your own custom HSM with the device SDKs. While using an HSM is not required to use the Device Provisioning Service, we strongly recommend using one in your devices. The SDKs provide a TPM simulator and a DICE simulator (for X.509 certs) for development and testing purposes. Learn more about all the technical concepts involved in device provisioning.

Azure IoT is committed to offering you services which take the pain out of deploying and managing an IoT solution in a secure, reliable way. To learn more please watch the videos What is the Device Provisioning Service and Provisioning a real device. You can create your own Device Provisioning Service on the Azure portal, and you can check out the device SDKs on GitHub. Learn all about the Device Provisioning Service and how to use it in the documentation center. We would love to get your feedback on secure device registration, so please continue to submit your suggestions through the Azure IoT User Voice forum.

To sum things up with a limerick:

Come join us in our celebration
Of IoT auto-registration
It’s generally available
Full-featured and capable
For your devices’ automation