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á.
Ganchos de pré-provisionamento
A AWS recomenda o uso de funções de hook de pré-provisionamento ao criar modelos de provisionamento para permitir mais controle sobre quais e quantos dispositivos são integrados à conta. Os hooks de pré-provisionamento são funções do Lambda que validam parâmetros passados do dispositivo antes de permitir que ele seja provisionado. Essa função do Lambda deve existir na sua conta antes de provisionar um dispositivo, já que ela é chamada sempre que um dispositivo envia uma solicitação por meio de RegisterThing.
Importante
Certifique-se de incluir source-arn
ou source-account
nas chaves de contexto de condição global das políticas anexadas à sua ação do Lambda, para evitar a manipulação de permissões. Para obter mais informações sobre isso, consulte Prevenção contra o ataque do “substituto confuso” em todos os serviços.
Para dispositivos a serem provisionados, a função do Lambda deve aceitar o objeto de entrada e retornar o objeto de saída descrito nesta seção. O provisionamento prosseguirá somente se a função do Lambda retornar um objeto com "allowProvisioning": True
.
Entrada de hook de pré-provisão
A AWS IoT envia esse objeto para a função do Lambda quando um dispositivo é registrado na 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
", ... } }
O objeto parameters
passado para a função do Lambda contém as propriedades no argumento parameters
passado na carga da solicitação deRegisterThing.
Valor de retorno do hook de pré-provisão
A função do Lambda deve retornar uma resposta que indique se autorizou a solicitação de provisionamento e os valores de quaisquer propriedades a serem substituídos.
Veja a seguir um exemplo de uma resposta bem-sucedida da função de pré-provisionamento.
{ "allowProvisioning": true, "parameterOverrides" : { "Key": "newCustomValue", ... } }
Os valores de "parameterOverrides"
serão adicionados ao parâmetro "parameters"
na carga da solicitação de RegisterThing.
nota
-
Se a função do Lambda falhar, a solicitação de provisionamento falhará com
ACCESS_DENIED
e um erro será registrado no CloudWatch Logs. -
Se a função do Lambda não retornar
"allowProvisioning": "true"
na resposta, a solicitação de provisionamento falhará comACCESS_DENIED
. -
A função do Lambda deve concluir a execução e retornar em até 5 segundos, caso contrário, a solicitação de provisionamento falhará.