View a markdown version of this page

Provvisionario - Integrazioni gestite per AWS IoT Device Management

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Provvisionario

Il provisionee è un componente di Managed Integrations che consente l'approvvigionamento della flotta tramite reclamo. Con il provisionee, effettui il provisionee dei tuoi dispositivi in modo sicuro. L'SDK crea le risorse necessarie per il provisioning dei dispositivi, che includono il certificato del dispositivo e le chiavi private ottenute dal cloud Managed Integrations. Quando desideri effettuare il provisioning dei dispositivi o in caso di modifiche che potrebbero richiedere un nuovo provisioning dei dispositivi, puoi utilizzare il provisionee.

Flusso di lavoro Provisionee

Il processo richiede la configurazione sia sul cloud che sul dispositivo. I clienti configurano i requisiti del cloud come endpoint personalizzati, profili di provisioning e oggetti gestiti. Alla prima accensione del dispositivo, il fornitore:

  1. Si connette all'endpoint Managed Integrations utilizzando un certificato di richiesta

  2. Convalida i parametri del dispositivo tramite i Fleet Provisioning Hook

  3. Ottiene e archivia un certificato permanente e una chiave privata sul dispositivo

  4. Il dispositivo utilizza il certificato permanente per riconnettersi

  5. Rileva e carica le funzionalità del dispositivo su Managed Integrations

Una volta completato correttamente il provisioning, il dispositivo comunica direttamente con Managed Integrations. Il provisionee si attiva solo per le attività di riapprovvigionamento.

Impostazione delle variabili di ambiente

Imposta le seguenti AWS credenziali nel tuo ambiente cloud:

$ 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

Registra un endpoint personalizzato

Utilizza il comando RegisterCustomEndpointAPI nel tuo ambiente cloud per creare un endpoint personalizzato per la comunicazione da dispositivo a cloud.

aws iot-managed-integrations register-custom-endpoint

Esempio di risposta

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

Memorizza l'indirizzo dell'endpoint per configurare i parametri di provisioning. Utilizza l'API per restituire le informazioni sull'endpoint. GetCustomEndpoint Per ulteriori informazioni, consulta GetCustomEndpointAPI e API nella Managed Integrations RegisterCustomEndpointAPI Reference Guide.

Crea un profilo di provisioning

Crea un profilo di approvvigionamento che definisca il metodo di approvvigionamento della tua flotta. Esegui l'CreateProvisioningProfileAPI nel tuo ambiente cloud per restituire un certificato di richiesta e una chiave privata per l'autenticazione del dispositivo:

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

Esempio di risposta

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

Puoi implementare la libreria di astrazione della piattaforma CorePKCS11 (PAL) per far funzionare la libreria CorePKCS11 con il tuo dispositivo. Le porte PAL CorePKCS11 devono fornire una posizione in cui archiviare il certificato di richiesta e la chiave privata. Utilizzando questa funzione, è possibile archiviare in modo sicuro la chiave privata e il certificato del dispositivo. È possibile archiviare la chiave privata e il certificato su un modulo di sicurezza hardware (HSM) o un modulo di piattaforma affidabile (TPM).

Crea un oggetto gestito

Registra il tuo dispositivo nel cloud Managed Integrations utilizzando l'CreateManagedThingAPI. Includi il numero di serie (SN) e il codice prodotto universale (UPC) del tuo dispositivo:

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;"

Di seguito viene visualizzato un esempio di risposta API.

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

L'API restituisce il Managed Thing ID che può essere utilizzato per la convalida del provisioning. Dovrai fornire il numero di serie del dispositivo (SN) e il codice universale del prodotto (UPC), che vengono abbinati all'oggetto gestito approvato durante la transazione di provisioning. La transazione restituisce un risultato simile al seguente:

/** * @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;

Provisioning degli utenti Wi-Fi SDK

I produttori di dispositivi e i fornitori di soluzioni dispongono di un proprio servizio di Wi-Fi provisioning proprietario per la ricezione e la configurazione delle credenziali. Wi-Fi Il servizio di Wi-Fi provisioning prevede l'utilizzo di app mobili dedicate, connessioni Bluetooth Low Energy (BLE) e altri protocolli proprietari per trasferire Wi-Fi in modo sicuro le credenziali per il processo di configurazione iniziale.

L'utente dell'SDK del dispositivo finale deve implementare il servizio di Wi-Fi provisioning e il dispositivo può connettersi a una rete. Wi-Fi

In alternativa, l'SDK del dispositivo finale può essere creato utilizzando il flag IOTMI_USE_WSS_PROVISIONEE build per abilitare il provisioning WiFi Simple Setup (WSS). WSS utilizza il provisioner di Hub SDK per fornire automaticamente WiFi le credenziali, fornendo un'alternativa ai metodi di provisioning proprietari. WiFi Per ulteriori informazioni, consulta WiFi Configurazione semplice per l'installazione e il funzionamento dei dispositivi.

Approvvigionamento della flotta tramite reclamo

Utilizzando il provisionee, l'utente finale può fornire un certificato univoco e registrarlo presso Managed Integrations utilizzando il provisioning by claim.

L'ID client può essere acquisito dalla risposta del modello di provisioning o dal certificato del dispositivo <common name>“_”<serial number>

Funzionalità degli oggetti gestiti

Il provisionee scopre le funzionalità degli oggetti gestiti, quindi le carica in Managed Integrations. Rende disponibili le funzionalità alle app e ad altri servizi a cui accedere. I dispositivi, gli altri client Web e i servizi possono aggiornare le funzionalità utilizzando MQTT e l'argomento MQTT riservato oppure HTTP utilizzando l'API REST.