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à.
Informazioni sul flusso di lavoro di autenticazione personalizzato
L'autenticazione personalizzata consente di definire come autenticare e autorizzare i client utilizzando le risorse dell'autorizzatore. Ogni autorizzatore contiene un riferimento a una funzione Lambda gestita dal cliente, una chiave pubblica opzionale per la convalida delle credenziali del dispositivo e informazioni di configurazione aggiuntive. Il diagramma seguente illustra il flusso di lavoro di autorizzazione per l'autenticazione personalizzata in. AWS IoT Core
![Flusso di lavoro di autorizzazione personalizzato per l'autenticazione personalizzata in. AWS IoT Core](images/custom-authentication.png)
AWS IoT Core flusso di lavoro di autenticazione e autorizzazione personalizzato
Nell'elenco seguente viene illustrato ogni passaggio del flusso di lavoro di autenticazione e autorizzazione personalizzata.
-
Un dispositivo si connette all'endpoint di AWS IoT Core dati di un cliente utilizzando uno dei dispositivi supportatiProtocolli di dispositivo di comunicazione. Il dispositivo passa le credenziali nei campi di intestazione o nei parametri di query della richiesta (per i WebSockets protocolli HTTP Publish o MQTT over) o nel campo nome utente e password del messaggio MQTT CONNECT (per i protocolli MQTT e MQTT over). WebSockets
-
AWS IoT Core verifica una delle due condizioni:
-
La richiesta in arrivo specifica un autorizzatore.
-
Per l'endpoint di AWS IoT Core dati che riceve la richiesta è configurato un autorizzatore predefinito.
Se AWS IoT Core trova un autorizzatore in uno di questi modi, AWS IoT Core attiva la funzione Lambda associata all'autorizzatore.
-
-
(Facoltativo) Se hai abilitato la firma con token, AWS IoT Core convalida la firma della richiesta utilizzando la chiave pubblica memorizzata nell'autorizzatore prima di attivare la funzione Lambda. Se la convalida non riesce, AWS IoT Core interrompe la richiesta senza invocare la funzione Lambda.
-
La funzione Lambda riceve le credenziali e i metadati di connessione nella richiesta e prende una decisione di autenticazione.
-
La funzione Lambda restituisce i risultati della decisione di autenticazione e un documento di AWS IoT Core policy che specifica quali azioni sono consentite nella connessione. La funzione Lambda restituisce anche informazioni che specificano la frequenza di AWS IoT Core riconvalida delle credenziali nella richiesta richiamando la funzione Lambda.
-
AWS IoT Core valuta l'attività sulla connessione rispetto alla policy ricevuta dalla funzione Lambda.
-
Dopo aver stabilito la connessione e richiamato inizialmente l'autorizzatore personalizzato Lambda, la chiamata successiva può essere ritardata fino a 5 minuti su connessioni inattive senza alcuna operazione MQTT. Dopodiché, le chiamate successive seguiranno l'intervallo di aggiornamento nell'autorizzatore personalizzato Lambda. Questo approccio può prevenire invocazioni eccessive che potrebbero superare il limite di concorrenza Lambda del tuo. Account AWS
Considerazioni sul dimensionamento
Poiché una funzione Lambda gestisce l'autenticazione e l'autorizzazione per l'autorizzatore, la funzione è soggetta ai prezzi e ai limiti del servizio Lambda, ad esempio la frequenza di esecuzione simultanea. Per ulteriori informazioni sui prezzi Lambda, consulta Prezzi LambdarefreshAfterInSeconds
e disconnectAfterInSeconds
nella risposta della funzione Lambda. Per ulteriori informazioni sui contenuti della risposta della funzione Lambda, consulta Scrittura della funzione Lambda.
Nota
Se si lascia abilitata la firma, è possibile impedire l'attivazione eccessiva di Lambda da parte di client non riconosciuti. Consideralo prima di disabilitare l'accesso all'autorizzatore.
Nota
Il limite di timeout della funzione Lambda per l'autorizzatore personalizzato è di 5 secondi.