This repository is intended to educate IoT developers and Solutions architect on the different ways IoT devices can be provisioned for AWS IoT Core. This is an educational project, and the code samples and libraries should not be applied to a production environment without the appropriate development and understanding.
Developing and manufacturing IoT device at scale comes with a multitude of challenges, being one of them, provision the devices with the necessary authentication elements. In AWS IoT Core authentication is handled by customers, following our shared responsibility model. In order to help customers to accomplish provisioning in the most efficient and secure way for their use case, AWS IoT Core supports a number of provisioning methods using X.509 certificates, those are:
- Just in time provisioning(JITP)
- Just in time registration(JITR)
- Multi-account registration
- Fleet provisioning - by trusted user
- Fleet provisioning - by claim
- Bulk registration
- Single thing provisioning
Each one of those methods will be suitable to a specific use case, which is usually influenced by the device manufacturing supply chain. In the Device manufacturing and Provisioning with x.509 Certificates in AWS IoT Core white paper, you can learn more about how supply chains can influence you device provisioning strategy.
Once you have read and understood the links above, identify below which use case you would like to explore first. Each use case below is linked to its own directory in this repository where you can find the documentation on how to use it. The use cases exemplified below are built using one of the above AWS IoT Core provisioning features, and reflect diferent challenge/solutions that have been requested by our customers. Please bookmark this repository as more use case will be published here as needed, also feel free to reach out with ideas!
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.