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à.
Hook di pre-provisioning
AWS consiglia di utilizzare le funzioni hook di pre-provisioning durante la creazione di modelli di provisioning per consentire un maggiore controllo su quali e quanti dispositivi sono integrati nell'account. Gli hook di pre-provisioning sono funzioni Lambda che convalidano i parametri passati dal dispositivo prima di consentire il provisioning dello stesso. Questa funzione Lambda deve esistere nell'account prima di effettuare il provisioning di un dispositivo perché viene chiamata ogni volta che un dispositivo invia una richiesta tramite RegisterThing.
Importante
Assicurati di includere il valore source-arn
o source-account
nelle chiavi del contesto delle condizioni globali delle policy associate all'operazione Lambda per impedire la manipolazione delle autorizzazioni. Per ulteriori informazioni, consulta Prevenzione del confused deputy tra servizi.
Per il provisioning dei dispositivi, la funzione Lambda deve accettare l'oggetto di input e restituire l'oggetto di output descritto in questa sezione. Il provisioning procede solo se la funzione Lambda restituisce un oggetto con "allowProvisioning": True
.
Input dell'hook di pre-provisioning
AWS IoT invia questo oggetto alla funzione Lambda quando un dispositivo si registra con. AWS IoT
{ "claimCertificateId" : "
string
", "certificateId" : "string
", "certificatePem" : "string
", "templateArn" : "arn:aws:iot:us-east-1
:1234567890
:provisioningtemplate/MyTemplate
", "clientId" : "221a6d10-9c7f-42f1-9153-e52e6fc869c1
", "parameters" : { "string
" : "string
", ... } }
L'oggetto parameters
passato alla funzione Lambda contiene le proprietà nell'argomento parameters
passato nel payload della richiesta RegisterThing.
Valore restituito dall'hook di pre-provisioning
La funzione Lambda deve restituire una risposta che indica se ha autorizzato la richiesta di provisioning e i valori di qualsiasi proprietà da sovrascrivere.
Di seguito è riportato un esempio di risposta riuscita dalla funzione di pre-provisioning.
{ "allowProvisioning": true, "parameterOverrides" : { "Key": "newCustomValue", ... } }
I valori "parameterOverrides"
verranno aggiunti al parametro "parameters"
nella richiesta di payload RegisterThing.
Nota
-
Se la funzione Lambda fallisce, la richiesta di provisioning fallisce
ACCESS_DENIED
e viene registrato un errore in Logs. CloudWatch -
Se la funzione Lambda non restituisce
"allowProvisioning": "true"
nella risposta, la richiesta di provisioning fallisce restituendoACCESS_DENIED
. -
La funzione Lambda deve terminare l'esecuzione e restituire il valore entro 5 secondi, altrimenti la richiesta di provisioning non riesce.