Fazer upload do arquivo de firmware para um bucket do S3 e adicionar um perfil do IAM - AWS IoT Wireless

Fazer upload do arquivo de firmware para um bucket do S3 e adicionar um perfil do IAM

Você pode usar o Amazon S3 para criar um bucket, que é um contêiner que pode armazenar o arquivo de atualização de firmware. Você pode fazer o upload do arquivo para o bucket do S3 e adicionar um perfil do IAM que permita que o servidor CUPS leia seu arquivo de atualização do bucket. Para obter mais informações sobre o Amazon S3, consulte Conceitos básicos do Amazon S3.

O arquivo de atualização do firmware que você deseja carregar depende do gateway que você está usando. Se seguiu um procedimento semelhante ao descrito em Gere o arquivo e a assinatura de atualização de firmware, você fará o upload do arquivo fwstation gerado pela execução dos scripts.

Esse procedimento leva cerca de 20 minutos para ser concluído.

Crie um bucket do Amazon S3 e faça o upload do arquivo de atualização

Você criará um bucket do Amazon S3 usando o AWS Management Console e, em seguida, fará upload do arquivo de atualização de firmware no bucket.

Crie um bucket do S3

Para criar um bucket do S3, abra o Console do Amazon S3. Conecte-se se ainda não tiver feito isso e, em seguida, execute as seguintes etapas:

  1. Escolha Criar bucket.

  2. Insira um nome exclusivo e significativo para o Nome do bucket (por exemplo, iotwirelessfwupdate). Para obter a convenção de nomenclatura recomendada para seu bucket, consulte https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html.

  3. Selecione o Região da AWS escolhido como aquele que você usou para criar seu gateway e dispositivo LoRaWAN, e a configuração Bloquear todo o acesso público está selecionada para que o bucket use as permissões padrão.

  4. Escolha Ativar para Versionamento do bucket, que ajudará você a manter várias versões do arquivo de atualização do firmware no mesmo bucket.

  5. Confirme se Criptografia do lado do servidor está definido como Desativar e escolha Criar bucket.

Faça o upload do arquivo de atualização de firmware

Agora, você pode ver seu bucket na lista de buckets exibida no AWS Management Console. Escolha o bucket e conclua as etapas a seguir para fazer o upload do arquivo.

  1. Escolha o bucket e, em seguida, escolha Fazer upload.

  2. Escolha Adicionar arquivo e, em seguida, faça upload do arquivo de atualização do firmware. Se seguiu o procedimento descrito em Gere o arquivo e a assinatura de atualização de firmware, você fará o upload do arquivo fwstation; caso contrário, fará o upload do arquivo fornecido pelo fabricante do gateway.

  3. Certifique-se de que todas as configurações estejam definidas como padrão. Verifique se as ACLs predefinidas estão definidas como privadas e escolha Fazer upload para fazer o upload do arquivo.

  4. Copie o URI do S3 do arquivo que você carregou. Escolha seu bucket e você verá o arquivo que carregou exibido na lista de Objetos. Escolha o arquivo e, em seguida, escolha Copiar URI do S3. O URI será algo como: s3://iotwirelessfwupdate/fwstation se você nomeou seu bucket de forma semelhante ao exemplo descrito anteriormente (fwstation). Você utilizará o URI do S3 ao criar o perfil do IAM.

Criar um perfil do IAM com permissões para ler o bucket do S3

Agora, você criará um perfil e uma política do IAM que darão ao CUPS a permissão para ler o arquivo de atualização de firmware no bucket do S3.

Criar uma política do IAM para o seu perfil

Para criar uma política do IAM para seu perfil de destino AWS IoT Core for LoRaWAN, abra o Hub de políticas do console do IAM e conclua as seguintes etapas:

  1. Escolha Criar política e escolha a guia JSON.

  2. Exclua qualquer conteúdo do editor e cole este documento de política. A política oferece permissões para acessar o bucket iotwireless e o arquivo de atualização do firmware, fwstation, armazenados dentro de um objeto.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:ListBucketVersions", "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::iotwirelessfwupdate/fwstation", "arn:aws:s3:::iotwirelessfwupdate" ] } ] }
  3. Escolha Revisar política e, em Nome, insira um nome para essa política (por exemplo, IoTWirelessFwUpdatePolicy). Você precisará desse nome para usar no próximo procedimento.

  4. Escolha Criar política.

Criar um perfil do IAM com a política anexada

Agora, você criará um perfil do IAM e anexará a política criada anteriormente para acessar o bucket do S3. Abra o Hub Perfis do console do IAM e conclua as seguintes etapas:

  1. Selecione Criar perfil.

  2. Em Selecionar tipo de entidade confiável, escolha Outra Conta da AWS.

  3. Em ID da conta, insira a ID da Conta da AWS e escolha Próximo: permissões.

  4. Na caixa de pesquisa, insira o nome da política do IAM que você criou no procedimento anterior. Verifique a política do IAM (por exemplo, IoTWirelessFwUpdatePolicy) que você criou anteriormente nos resultados da pesquisa e escolha-a.

  5. Escolha Próximo: tags e Próximo: revisar.

  6. Em Nome do perfil, insira um nome dessa função (por exemplo, IoTWirelessFwUpdateRole) e escolha Criar perfil.

Edite a relação de confiança do perfil do IAM

Na mensagem de confirmação exibida após a execução da etapa anterior, selecione o nome do perfil criado para editá-lo. Você editará o perfil para adicionar a relação de confiança a seguir.

  1. Na seção Resumo do perfil que você criou, escolha a guia Relações de confiança e, em seguida, Editar relação de confiança.

  2. Em Documento de política, altere a propriedade Principal para ficar parecida com o exemplo a seguir.

    "Principal": { "Service": "iotwireless.amazonaws.com" },

    Depois de alterar a propriedade Principal, o documento de política completo deve ser semelhante a este exemplo.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotwireless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
  3. Para salvar as alterações e sair, selecione Atualizar política de confiança.

  4. Obtenha o ARN para seu perfil. Escolha o perfil do IAM e, na seção Resumo, você verá um ARN do perfil, como arn:aws:iam::123456789012:role/IoTWirelessFwUpdateRole. Copie este ARN do perfil.

Reveja as próximas etapas

Agora que você criou o bucket do S3 e um perfil do IAM que permite que o servidor CUPS leia o bucket do S3, vá para o próximo tópico para agendar e executar a atualização do firmware. Mantenha o URI do S3 e o ARN do perfil que você copiou anteriormente para poder inseri-los para criar uma definição de tarefa que será executada para realizar a atualização do firmware.