Provisionee - Integrasi terkelola untuk AWS IoT Device Management

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Provisionee

Provisionee adalah komponen integrasi terkelola yang memungkinkan penyediaan armada dengan klaim. Dengan provisionee, Anda menyediakan perangkat Anda dengan aman. SDK menciptakan sumber daya yang diperlukan untuk penyediaan perangkat, yang mencakup sertifikat perangkat dan kunci pribadi yang diperoleh dari cloud integrasi terkelola. Saat Anda ingin menyediakan perangkat Anda, atau jika ada perubahan yang mengharuskan Anda untuk menyediakan kembali perangkat Anda, Anda dapat menggunakan provisionee.

Alur kerja penyediaan

Proses ini membutuhkan pengaturan di kedua sisi cloud dan perangkat. Pelanggan mengonfigurasi persyaratan cloud seperti titik akhir khusus, profil penyediaan, dan hal-hal terkelola. Pada perangkat pertama dihidupkan, penyediaannya:

  1. Terhubung ke titik akhir integrasi terkelola menggunakan sertifikat klaim

  2. Memvalidasi parameter perangkat melalui kait penyediaan armada

  3. Memperoleh dan menyimpan sertifikat permanen dan kunci pribadi pada perangkat

  4. Perangkat menggunakan sertifikat permanen untuk menyambung kembali

  5. Menemukan dan mengunggah kemampuan perangkat ke integrasi terkelola

Setelah penyediaan berhasil, perangkat berkomunikasi langsung dengan integrasi terkelola. Provisionee mengaktifkan hanya untuk tugas penyediaan ulang.

Tetapkan variabel lingkungan

Tetapkan AWS kredensional berikut di lingkungan cloud Anda:

$ export AWS_ACCESS_KEY_ID=YOUR-ACCOUNT-ACCESS-KEY-ID $ export AWS_SECRET_ACCESS_KEY=YOUR-ACCOUNT-SECRET-ACCESS-KEY $ export AWS_DEFAULT_REGION=YOUR-DEFAULT-REGION

Daftarkan titik akhir kustom

Gunakan perintah RegisterCustomEndpointAPI di lingkungan cloud Anda untuk membuat titik akhir khusus untuk device-to-cloud komunikasi.

aws iot-managed-integrations register-custom-endpoint

Contoh respon

{ "EndpointAddress":"[ACCOUNT-PREFIX]-ats.iot.AWS-REGION.amazonaws.com" }
catatan

Simpan alamat titik akhir untuk mengonfigurasi parameter penyediaan. gunakan GetCustomEndpoint API, untuk mengembalikan informasi titik akhir. Untuk informasi selengkapnya, lihat GetCustomEndpointAPI, dan RegisterCustomEndpointAPI di Panduan Referensi API integrasi Terkelola.

Buat profil penyediaan

Buat profil penyediaan yang menentukan metode penyediaan armada Anda. Jalankan CreateProvisioningProfileAPI di lingkungan cloud Anda untuk mengembalikan sertifikat klaim dan kunci pribadi untuk otentikasi perangkat:

aws iot-managed-integrations create-provisioning-profile \ --provisioning-type "FLEET_PROVISIONING" \ --name "PROVISIONING-PROFILE-NAME"

Contoh respon

{ "Arn":"arn:aws:iot-managed-integrations:AWS-REGION:YOUR-ACCOUNT-ID:provisioning-profile/PROFILE_NAME", "ClaimCertificate":"string", "ClaimCertificatePrivateKey":"string", "Name":"ProfileName", "ProvisioningType":"FLEET_PROVISIONING"}

Anda dapat mengimplementasikan pustaka abstraksi PKCS11 platform inti (PAL) untuk membuat PKCS11 pustaka inti berfungsi dengan perangkat Anda. Port PKCS11 PAL inti harus menyediakan lokasi untuk menyimpan sertifikat klaim dan kunci pribadi. Dengan menggunakan fitur ini, Anda dapat menyimpan kunci pribadi dan sertifikat perangkat dengan aman. Anda dapat menyimpan kunci pribadi dan sertifikat pada modul keamanan perangkat keras (HSM) atau modul platform tepercaya (TPM).

Buat hal yang dikelola

Daftarkan perangkat Anda dengan cloud integrasi terkelola menggunakan CreateManagedThingAPI. Sertakan nomor seri (SN) dan kode produk universal (UPC) perangkat Anda:

aws iot-managed-integrations create-managed-thing —role DEVICE \ --authentication-material-type WIFI_SETUP_QR_BAR_CODE \ --authentication-material "SN:DEVICE-SN;UPC:DEVICE-UPC;"

Berikut ini menampilkan contoh respons API.

{ "Arn":"arn:aws:iot-managed-integrations:AWS-REGION:ACCOUNT-ID:managed-thing/59d3c90c55c4491192d841879192d33f", "CreatedAt":1.730960226491E9, "Id":"59d3c90c55c4491192d841879192d33f" }

API mengembalikan ID Managed thing yang dapat digunakan untuk validasi penyediaan. Anda harus memberikan nomor seri perangkat (SN) dan kode produk universal (UPC), yang dicocokkan dengan hal terkelola yang disetujui selama transaksi penyediaan. Transaksi mengembalikan hasil yang mirip dengan berikut ini:

/** * @brief Device info structure. */ typedef struct iotmiDev_DeviceInfo { char serialNumber[ IOTMI_DEVICE_MAX_SERIAL_NUMBER_LENGTH + 1U ]; char universalProductCode[ IOTMI_DEVICE_MAX_UPC_LENGTH + 1U ]; char internationalArticleNumber[ IOTMI_DEVICE_MAX_EAN_LENGTH + 1U ]; } iotmiDev_DeviceInfo_t;

Penyediaan Wi-Fi pengguna SDK

Produsen perangkat dan penyedia solusi memiliki layanan penyediaan Wi-Fi milik mereka sendiri untuk menerima dan mengonfigurasi kredensyal Wi-Fi. Layanan penyediaan Wi-Fi melibatkan penggunaan aplikasi seluler khusus, koneksi Bluetooth Low Energy (BLE), dan protokol eksklusif lainnya untuk mentransfer kredensil Wi-Fi secara aman untuk proses penyiapan awal.

Konsumen SDK perangkat Akhir harus menerapkan layanan penyediaan Wi-Fi dan perangkat dapat terhubung ke jaringan Wi-Fi.

Penyediaan armada dengan klaim

Menggunakan provisionee, pengguna akhir dapat memberikan sertifikat unik dan mendaftarkannya dengan integrasi terkelola menggunakan penyediaan dengan klaim.

ID klien dapat diperoleh baik dari respons templat penyediaan atau sertifikat perangkat <common name>“_”<serial number>

Kemampuan hal yang dikelola

Penyedia menemukan kemampuan hal yang dikelola, kemudian mengunggah kemampuan ke integrasi terkelola. Itu membuat kemampuan tersedia untuk aplikasi dan layanan lain untuk diakses. Perangkat, klien web lainnya, dan layanan dapat memperbarui kemampuan dengan menggunakan MQTT dan topik MQTT yang dicadangkan, atau HTTP menggunakan REST API.