As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Entender o fluxo de trabalho de autenticação personalizada
A autenticação personalizada permite que você defina como autenticar e autorizar clientes usando recursos do autorizador. Cada autorizador contém uma referência a uma função do Lambda gerenciada pelo cliente, uma chave pública opcional para validar as credenciais do dispositivo e informações adicionais de configuração. O diagrama a seguir ilustra o fluxo de trabalho de autorização para autenticação personalizada no AWS IoT Core.
AWS IoT Core fluxo de trabalho personalizado de autenticação e autorização
A lista a seguir explica cada etapa do fluxo de trabalho de autenticação e autorização personalizadas.
-
Um dispositivo se conecta ao endpoint de AWS IoT Core dados de um cliente usando um dos compatíveisProtocolos de comunicação do dispositivo. O dispositivo passa as credenciais nos campos de cabeçalho da solicitação ou nos parâmetros de consulta (para os WebSockets protocolos HTTP Publish ou MQTT over) ou no campo de nome de usuário e senha da mensagem MQTT CONNECT (para os protocolos MQTT e MQTT over). WebSockets
-
AWS IoT Core verifica uma das duas condições:
-
A solicitação recebida especifica um autorizador.
-
O endpoint de AWS IoT Core dados que recebe a solicitação tem um autorizador padrão configurado para ele.
Se AWS IoT Core encontrar um autorizador de qualquer uma dessas formas, AWS IoT Core acionará a função Lambda associada ao autorizador.
-
-
(Opcional) Se você ativou a assinatura de token, AWS IoT Core valida a assinatura da solicitação usando a chave pública armazenada no autorizador antes de acionar a função Lambda. Se a validação falhar, o AWS IoT Core interromperá a solicitação sem invocar a função do Lambda.
-
A função do Lambda recebe as credenciais e os metadados de conexão na solicitação e toma uma decisão de autenticação.
-
A função Lambda retorna os resultados da decisão de autenticação e um documento AWS IoT Core de política que especifica quais ações são permitidas na conexão. A função Lambda também retorna informações que especificam com que frequência AWS IoT Core revalida as credenciais na solicitação invocando a função Lambda.
-
AWS IoT Core avalia a atividade na conexão em relação à política que ela recebeu da função Lambda.
-
Depois que a conexão for estabelecida e o Lambda do seu autorizador personalizado for inicialmente invocado, a próxima invocação poderá ser adiada por até 5 minutos em conexões inativas sem nenhuma operação de MQTT. Depois disso, as invocações subsequentes seguirão o intervalo de atualização no Lambda do seu autorizador personalizado. Essa abordagem pode evitar invocações excessivas que podem exceder o limite de simultaneidade do Lambda do seu. Conta da AWS
Considerações sobre dimensionamento
Uma vez que uma função do Lambda gerencia a autenticação e a autorização do seu autorizador, ela está sujeita aos limites de preços e serviços do Lambda, como a taxa de execução simultânea. Para obter mais informações sobre os preços do Lambda, consulte Preços do LambdarefreshAfterInSeconds e disconnectAfterInSeconds na resposta da função do Lambda. Para obter mais informações sobre o conteúdo da resposta da função do Lambda, consulte Definição de sua função do Lambda.
nota
Se você deixar a assinatura ativada, poderá evitar o acionamento excessivo do seu Lambda por clientes não reconhecidos. Considere isso antes de desativar o login no seu autorizador.
nota
O limite de tempo da função do Lambda para o autorizador personalizado é de 5 segundos.