Comprendre le flux de travail d'authentification personnalisé - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comprendre le flux de travail d'authentification personnalisé

L'authentification personnalisée vous permet de définir comment authentifier et autoriser les clients à l'aide de ressources de mécanisme d'autorisation.  Chaque autorisateur contient une référence à une fonction Lambda gérée par le client, une clé publique facultative pour valider les informations d'identification de l'appareil et des informations de configuration supplémentaires. Le schéma suivant illustre le flux de travail d'autorisation pour l'authentification personnalisée dans AWS IoT Core.

Flux de travail d'autorisation personnalisé pour une authentification personnalisée dans AWS IoT Core.

AWS IoT Core flux de travail d'authentification et d'autorisation personnalisé

La liste suivante explique chaque étape du flux de travail d'authentification et d'autorisation personnalisé.

  1. Un appareil se connecte au point de terminaison de AWS IoT Core données d'un client à l'aide de l'une des solutions prises en chargeProtocoles de communication des appareils. L'appareil transmet les informations d'identification soit dans les champs d'en-tête de la demande, soit dans les paramètres de requête (pour les WebSockets protocoles HTTP Publish ou MQTT over), soit dans le champ du nom d'utilisateur et du mot de passe du MQTT CONNECT message (pour les WebSockets protocoles MQTT and MQTT over).

  2. AWS IoT Core vérifie l'une des deux conditions suivantes :

    • La demande entrante spécifie un mécanisme d'autorisation.

    • Un autorisateur par défaut est configuré pour le point de terminaison de AWS IoT Core données recevant la demande.

    S'il AWS IoT Core trouve un autorisateur de l'une ou l'autre de ces manières, AWS IoT Core déclenche la fonction Lambda associée à l'autorisateur.

  3. (Facultatif) Si vous avez activé la signature par jeton, AWS IoT Core valide la signature de la demande en utilisant la clé publique stockée dans l'autorisateur avant de déclencher la fonction Lambda. Si la validation échoue, AWS IoT Core arrête la demande sans invoquer la fonction Lambda. 

  4. La fonction Lambda reçoit les informations d'identification et les métadonnées de connexion dans la requête et prend une décision d'authentification.

  5. La fonction Lambda renvoie les résultats de la décision d'authentification et un document de AWS IoT Core politique qui spécifie les actions autorisées dans la connexion. La fonction Lambda renvoie également des informations qui indiquent à quelle fréquence les informations d'identification contenues dans la demande sont AWS IoT Core revalidées en invoquant la fonction Lambda.

  6. AWS IoT Core évalue l'activité de la connexion par rapport à la politique qu'elle a reçue de la fonction Lambda.

  7. Une fois que la connexion est établie et que votre Lambda d'autorisation personnalisé est initialement invoqué, l'appel suivant peut être retardé jusqu'à 5 minutes sur les connexions inactives sans aucune opération. MQTT Ensuite, les appels suivants suivront l'intervalle d'actualisation dans votre autorisateur Lambda personnalisé. Cette approche permet d'éviter des appels excessifs susceptibles de dépasser la limite de simultanéité Lambda de votre compte. Compte AWS

Considérations relatives à la mise à l'échelle

Étant donné qu'une fonction Lambda gère l'authentification et l'autorisation de votre mécanisme d'autorisation, la fonction est soumise aux limites de tarification et de service Lambda, telles que le taux d'exécution simultanée. Pour plus d'informations sur la tarification Lambda, consultez Tarification Lambda. Vous pouvez gérer la charge sur votre fonction Lambda en ajustant les paramètres refreshAfterInSeconds et disconnectAfterInSeconds dans la réponse de votre fonction Lambda. Pour plus d'informations sur le contenu de la réponse de votre fonction Lambda, consultez Définir votre fonction Lambda.

Note

Si vous laissez la signature activée, vous pouvez empêcher un déclenchement excessif de votre Lambda par des clients non reconnus. Considérez ceci avant de désactiver la connexion à votre mécanisme d'autorisation.

Note

Le délai d'expiration de la fonction Lambda pour le mécanisme d'autorisation personnalisé est de 5 secondes.