- Newest
- Most votes
- Most comments
Based on the AWS IoT Core fleet provisioning documentation, a microcontroller like the ESP32 is not intended to be the "trusted user" in the fleet provisioning by trusted user model.
In the fleet provisioning by trusted user approach, the trusted user is typically a human end user or installation technician who uses a mobile app or web service to initiate the provisioning process. The trusted user must be authenticated and have permissions to perform the provisioning operations.
For your use case with ESP32 microcontrollers, you have two main options:
-
Fleet provisioning by claim: This would involve manufacturing your ESP32 devices with provisioning claim certificates and private keys embedded in them. These certificates would be registered with AWS IoT and can be exchanged for unique device certificates when the device connects to AWS IoT for the first time.
-
Fleet provisioning by trusted user: In this case, your mobile app would act as the interface for the trusted user (the end user of your product). The mobile app would obtain temporary provisioning credentials and pass them to the ESP32 during the initial setup/Wi-Fi configuration.
For your goal of avoiding user account creation, you could implement the second approach where your mobile app handles the trusted user role without requiring the end user to create an AWS account. The app itself would be granted the necessary permissions to act as the trusted user through your backend services.
The ESP32 would not be the trusted user itself, but rather the recipient of the temporary credentials generated through the trusted user process initiated by the mobile app. Once the ESP32 receives these temporary credentials, it can connect to AWS IoT and exchange them for permanent device-specific credentials.
Sources
Provisioning devices that don't have device certificates using fleet provisioning - AWS IoT Core
Fleet provisioning layer - IoT Lens
Provisioning identity in AWS IoT Core for device connections - Device Manufacturing and Provisioning with X.509 Certificates in AWS IoT Core
Device provisioning - AWS IoT Core
answered a year ago
It is possible to use ESP32 (or any other device) to automate the initial onboarding process. There are several ways to implement that functionality.
One of the most commonly used solutions uses the Onboarding Certificate to initiate the connectivity with AWS IoT and obtain the Unique Certificate (dedicated for a given device). Then the ESP32 can send the Unique Certificate to the Mobile App. From that moment, the Mobie App can communicate directly with AWS IoT via MQTT using that certificate and the corresponding Private Key.
This is a high-level diagram that describes this solution:
I am unsure about the Mobile App <-> OT communication based on the description you provided.
answered a year ago
Relevant content
asked 3 years ago
- AWS OFFICIALUpdated 3 years ago

How would I go about getting the temporary provisioning credentials with my app, again the goal is preventing the user from having to make any kind of account or even interact with AWS directly at all. Additionally, how long would this temporary provision last? Is it possible for the app to request multiple in case the old one expires?