Pré-requisitos para executar o pacote de qualificação AWS IoT Greengrass - AWS IoT Greengrass

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á.

Pré-requisitos para executar o pacote de qualificação AWS IoT Greengrass

Esta seção descreve os pré-requisitos para usar AWS IoT Device Tester () IDT para. AWS IoT Greengrass

Baixe a versão mais recente do AWS IoT Device Tester for AWS IoT Greengrass

Baixe a versão mais recente IDT e extraia o software em um local (<device-tester-extract-location>) em seu sistema de arquivos em que você tenha permissões de leitura/gravação.

nota

IDTnão oferece suporte à execução por vários usuários a partir de um local compartilhado, como um NFS diretório ou uma pasta compartilhada na rede do Windows. Recomendamos que você extraia o IDT pacote em uma unidade local e execute o IDT binário em sua estação de trabalho local.

O Windows tem uma limitação de comprimento de caminho de 260 caracteres. Se você estiver usando o Windows, extraia IDT para um diretório raiz como C:\ ou D:\ para manter seus caminhos abaixo do limite de 260 caracteres.

Baixe o AWS IoT Greengrass software

IDTfor AWS IoT Greengrass V2 testa a compatibilidade do seu dispositivo com uma versão específica do AWS IoT Greengrass. Execute o comando a seguir para baixar o software AWS IoT Greengrass Core em um arquivo chamadoaws.greengrass.nucleus.zip. versionSubstitua por uma versão de componente nuclear compatível para sua IDT versão.

Linux or Unix
curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip > aws.greengrass.nucleus.zip
Windows Command Prompt (CMD)
curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip > aws.greengrass.nucleus.zip
PowerShell
iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip -OutFile aws.greengrass.nucleus.zip

Coloque o arquivo aws.greengrass.nucleus.zip baixado na pasta <device-tester-extract-location>/products/.

nota

Não coloque vários arquivos nesse diretório para o mesmo sistema operacional e arquitetura.

Crie e configure um Conta da AWS

Antes de poder usar AWS IoT Device Tester para a AWS IoT Greengrass V2, você deve executar as seguintes etapas:

  1. Configure um Conta da AWS. Se você já tem um Conta da AWS, vá para a etapa 2.

  2. Configure permissões paraIDT.

Essas permissões de conta IDT permitem acessar AWS serviços e criar AWS recursos, como AWS IoT itens e AWS IoT Greengrass componentes, em seu nome.

Para criar esses recursos, o IDT for AWS IoT Greengrass V2 usa AWS as credenciais configuradas no config.json arquivo para fazer API chamadas em seu nome. Esses recursos são provisionados em vários momentos durante o teste.

nota

Embora a maioria dos testes se qualifique para o AWS nível gratuito da , é necessário fornecer um cartão de crédito ao se cadastrar em uma Conta da AWS. Para obter mais informações, consulte Por que preciso de uma forma de pagamento se minha conta está coberta pelo nível gratuito?.

Etapa 1: configurar um Conta da AWS

Nesta etapa, crie e configure uma Conta da AWS. Se você já tem uma Conta da AWS, pule para Etapa 2: Configurar permissões para IDT.

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

Para se inscrever em um Conta da AWS
  1. Abra a https://portal.aws.amazon.com/billing/inscrição.

  2. Siga as instruções online.

    Parte do procedimento de inscrição envolve receber uma chamada telefônica e inserir um código de verificação no teclado do telefone.

    Quando você se inscreve em um Conta da AWS, um Usuário raiz da conta da AWSé criado. O usuário-raiz tem acesso a todos os Serviços da AWS e atributos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar tarefas que exigem acesso de usuário-raiz.

Para criar um usuário administrador, selecione uma das opções a seguir.

Selecionar uma forma de gerenciar o administrador Para Por Você também pode
No IAM Identity Center

(Recomendado)

Use credenciais de curto prazo para acessar a AWS.

Isso está de acordo com as práticas recomendadas de segurança. Para obter informações sobre as melhores práticas, consulte as melhores práticas de segurança IAM no Guia IAM do usuário.

Seguindo as instruções em Conceitos básicos no Guia do usuário do AWS IAM Identity Center . Configure o acesso programático configurando o AWS CLI para uso AWS IAM Identity Center no Guia do AWS Command Line Interface usuário.
EmIAM

(Não recomendado)

Use credenciais de curto prazo para acessar a AWS. Siga as instruções em Criar um IAM usuário para acesso de emergência no Guia do IAM usuário. Configure o acesso programático gerenciando chaves de acesso para IAM usuários no Guia do IAM usuário.

Etapa 2: Configurar permissões para IDT

Nesta etapa, configure as permissões que a AWS IoT Greengrass V2 usa IDT para executar testes e coletar dados de IDT uso. Você pode usar o AWS Management Consoleou AWS Command Line Interface (AWS CLI) para criar uma IAM política e um usuário de teste eIDT, em seguida, anexar políticas ao usuário. Se você já criou um usuário de teste paraIDT, vá paraConfigure seu dispositivo para executar testes de IDT.

  1. Faça login no console do IAM.

  2. Crie uma política gerenciada pelo cliente que conceda permissões para criar funções com permissões específicas.

    1. No painel de navegação, selecione Políticas e, em seguida, Criar política.

    2. Se você não estiver usando PreInstalled, na JSONguia, substitua o conteúdo do espaço reservado pela política a seguir. Se você estiver usando PreInstalled, vá para a etapa a seguir.

      { "Version":"2012-10-17", "Statement":[ { "Sid":"passRoleForResources", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/idt-*", "Condition":{ "StringEquals":{ "iam:PassedToService":[ "iot.amazonaws.com", "lambda.amazonaws.com", "greengrass.amazonaws.com" ] } } }, { "Sid":"lambdaResources", "Effect":"Allow", "Action":[ "lambda:CreateFunction", "lambda:PublishVersion", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource":[ "arn:aws:lambda:*:*:function:idt-*" ] }, { "Sid":"iotResources", "Effect":"Allow", "Action":[ "iot:CreateThing", "iot:DeleteThing", "iot:DescribeThing", "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:AddThingToThingGroup", "iot:RemoveThingFromThingGroup", "iot:AttachThingPrincipal", "iot:DetachThingPrincipal", "iot:UpdateCertificate", "iot:DeleteCertificate", "iot:CreatePolicy", "iot:AttachPolicy", "iot:DetachPolicy", "iot:DeletePolicy", "iot:GetPolicy", "iot:Publish", "iot:TagResource", "iot:ListThingPrincipals", "iot:ListAttachedPolicies", "iot:ListTargetsForPolicy", "iot:ListThingGroupsForThing", "iot:ListThingsInThingGroup", "iot:CreateJob", "iot:DescribeJob", "iot:DescribeJobExecution", "iot:CancelJob" ], "Resource":[ "arn:aws:iot:*:*:thing/idt-*", "arn:aws:iot:*:*:thinggroup/idt-*", "arn:aws:iot:*:*:policy/idt-*", "arn:aws:iot:*:*:cert/*", "arn:aws:iot:*:*:topic/idt-*", "arn:aws:iot:*:*:job/*" ] }, { "Sid":"s3Resources", "Effect":"Allow", "Action":[ "s3:GetObject", "s3:PutObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:CreateBucket", "s3:ListBucket", "s3:ListBucketVersions", "s3:DeleteBucket", "s3:PutObjectTagging", "s3:PutBucketTagging" ], "Resource":"arn:aws:s3::*:idt-*" }, { "Sid":"roleAliasResources", "Effect":"Allow", "Action":[ "iot:CreateRoleAlias", "iot:DescribeRoleAlias", "iot:DeleteRoleAlias", "iot:TagResource", "iam:GetRole" ], "Resource":[ "arn:aws:iot:*:*:rolealias/idt-*", "arn:aws:iam::*:role/idt-*" ] }, { "Sid":"idtExecuteAndCollectMetrics", "Effect":"Allow", "Action":[ "iot-device-tester:SendMetrics", "iot-device-tester:SupportedVersion", "iot-device-tester:LatestIdt", "iot-device-tester:CheckVersion", "iot-device-tester:DownloadTestSuite" ], "Resource":"*" }, { "Sid":"genericResources", "Effect":"Allow", "Action":[ "greengrass:*", "iot:GetThingShadow", "iot:UpdateThingShadow", "iot:ListThings", "iot:DescribeEndpoint", "iot:CreateKeysAndCertificate" ], "Resource":"*" }, { "Sid":"iamResourcesUpdate", "Effect":"Allow", "Action":[ "iam:CreateRole", "iam:DeleteRole", "iam:CreatePolicy", "iam:DeletePolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:TagRole", "iam:TagPolicy", "iam:GetPolicy", "iam:ListAttachedRolePolicies", "iam:ListEntitiesForPolicy" ], "Resource":[ "arn:aws:iam::*:role/idt-*", "arn:aws:iam::*:policy/idt-*" ] } ] }
    3. Se você estiver usando PreInstalled, na JSONguia, substitua o conteúdo do espaço reservado pela política a seguir. Assegure-se de:

      • Substitua thingName e thingGroup na iotResources declaração pelo nome da coisa e pelo grupo da coisa que foram criados durante a instalação do Greengrass em seu dispositivo em test (DUT) para adicionar permissões.

      • Substitua o passRole e roleAlias na roleAliasResources declaração e a passRoleForResources declaração pelas funções que foram criadas durante a instalação do Greengrass em seu. DUT

      { "Version":"2012-10-17", "Statement":[ { "Sid":"passRoleForResources", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/passRole", "Condition":{ "StringEquals":{ "iam:PassedToService":[ "iot.amazonaws.com", "lambda.amazonaws.com", "greengrass.amazonaws.com" ] } } }, { "Sid":"lambdaResources", "Effect":"Allow", "Action":[ "lambda:CreateFunction", "lambda:PublishVersion", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource":[ "arn:aws:lambda:*:*:function:idt-*" ] }, { "Sid":"iotResources", "Effect":"Allow", "Action":[ "iot:CreateThing", "iot:DeleteThing", "iot:DescribeThing", "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:AddThingToThingGroup", "iot:RemoveThingFromThingGroup", "iot:AttachThingPrincipal", "iot:DetachThingPrincipal", "iot:UpdateCertificate", "iot:DeleteCertificate", "iot:CreatePolicy", "iot:AttachPolicy", "iot:DetachPolicy", "iot:DeletePolicy", "iot:GetPolicy", "iot:Publish", "iot:TagResource", "iot:ListThingPrincipals", "iot:ListAttachedPolicies", "iot:ListTargetsForPolicy", "iot:ListThingGroupsForThing", "iot:ListThingsInThingGroup", "iot:CreateJob", "iot:DescribeJob", "iot:DescribeJobExecution", "iot:CancelJob" ], "Resource":[ "arn:aws:iot:*:*:thing/thingName", "arn:aws:iot:*:*:thinggroup/thingGroup", "arn:aws:iot:*:*:policy/idt-*", "arn:aws:iot:*:*:cert/*", "arn:aws:iot:*:*:topic/idt-*", "arn:aws:iot:*:*:job/*" ] }, { "Sid":"s3Resources", "Effect":"Allow", "Action":[ "s3:GetObject", "s3:PutObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:CreateBucket", "s3:ListBucket", "s3:ListBucketVersions", "s3:DeleteBucket", "s3:PutObjectTagging", "s3:PutBucketTagging" ], "Resource":"arn:aws:s3::*:idt-*" }, { "Sid":"roleAliasResources", "Effect":"Allow", "Action":[ "iot:CreateRoleAlias", "iot:DescribeRoleAlias", "iot:DeleteRoleAlias", "iot:TagResource", "iam:GetRole" ], "Resource":[ "arn:aws:iot:*:*:rolealias/roleAlias", "arn:aws:iam::*:role/idt-*" ] }, { "Sid":"idtExecuteAndCollectMetrics", "Effect":"Allow", "Action":[ "iot-device-tester:SendMetrics", "iot-device-tester:SupportedVersion", "iot-device-tester:LatestIdt", "iot-device-tester:CheckVersion", "iot-device-tester:DownloadTestSuite" ], "Resource":"*" }, { "Sid":"genericResources", "Effect":"Allow", "Action":[ "greengrass:*", "iot:GetThingShadow", "iot:UpdateThingShadow", "iot:ListThings", "iot:DescribeEndpoint", "iot:CreateKeysAndCertificate" ], "Resource":"*" }, { "Sid":"iamResourcesUpdate", "Effect":"Allow", "Action":[ "iam:CreateRole", "iam:DeleteRole", "iam:CreatePolicy", "iam:DeletePolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:TagRole", "iam:TagPolicy", "iam:GetPolicy", "iam:ListAttachedRolePolicies", "iam:ListEntitiesForPolicy" ], "Resource":[ "arn:aws:iam::*:role/idt-*", "arn:aws:iam::*:policy/idt-*" ] } ] }
      nota

      Se você quiser usar uma IAMfunção personalizada como função de troca de tokens para seu dispositivo em teste, certifique-se de atualizar a roleAliasResources declaração e a passRoleForResources declaração em sua política para permitir seu recurso de IAM função personalizada.

    4. Escolha Review policy (Revisar política).

    5. Em Name (Nome), insira IDTGreengrassIAMPermissions. Em Summary (Resumo), revise as permissões concedidas pela política.

    6. Escolha Criar política.

  3. Crie um IAM usuário e anexe as permissões exigidas pelo IDT for AWS IoT Greengrass.

    1. Criar um usuário do IAM. Siga as etapas de 1 a 5 em Criação de IAM usuários (console) no Guia IAM do usuário.

    2. Anexe as permissões ao usuário do IAM:

      1. Na página Set permissions (Definir permissões), selecione Attach existing policies to user directly (Anexar políticas existentes diretamente ao usuário).

      2. Procure a IDTGreengrassIAMPermissionspolítica que você criou na etapa anterior. Marque a caixa de seleção.

    3. Selecione Next: Tags (Próximo: tags).

    4. Selecione Next: Review (Próximo: revisar) para exibir um resumo das suas escolhas.

    5. Selecione Criar usuário.

    6. Para visualizar as chaves de acesso do usuário (chave de acesso IDs e chaves de acesso secretas), escolha Mostrar ao lado da senha e da chave de acesso. Para salvar as chaves de acesso, selecione Download.csv (Fazer download do .csv) e salve o arquivo em um local seguro. Use essas informações posteriormente para configurar o arquivo de credenciais da AWS .

  4. Próxima etapa: configure o dispositivo físico.

  1. No seu computador, instale e configure o, AWS CLI se ainda não estiver instalado. Siga as etapas em Installing the (Instalando a) AWS CLI no Guia do usuário do AWS Command Line Interface .

    nota

    AWS CLI É uma ferramenta de código aberto que você pode usar para interagir com AWS serviços do seu shell de linha de comando.

  2. Crie uma política gerenciada pelo cliente que conceda permissões para gerenciamento IDT e AWS IoT Greengrass funções.

    1. Se você não estiver usando PreInstalled, abra um editor de texto e salve o conteúdo da política a seguir em um JSON arquivo. Se você estiver usando PreInstalled, vá para a etapa a seguir.

      { "Version":"2012-10-17", "Statement":[ { "Sid":"passRoleForResources", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/idt-*", "Condition":{ "StringEquals":{ "iam:PassedToService":[ "iot.amazonaws.com", "lambda.amazonaws.com", "greengrass.amazonaws.com" ] } } }, { "Sid":"lambdaResources", "Effect":"Allow", "Action":[ "lambda:CreateFunction", "lambda:PublishVersion", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource":[ "arn:aws:lambda:*:*:function:idt-*" ] }, { "Sid":"iotResources", "Effect":"Allow", "Action":[ "iot:CreateThing", "iot:DeleteThing", "iot:DescribeThing", "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:AddThingToThingGroup", "iot:RemoveThingFromThingGroup", "iot:AttachThingPrincipal", "iot:DetachThingPrincipal", "iot:UpdateCertificate", "iot:DeleteCertificate", "iot:CreatePolicy", "iot:AttachPolicy", "iot:DetachPolicy", "iot:DeletePolicy", "iot:GetPolicy", "iot:Publish", "iot:TagResource", "iot:ListThingPrincipals", "iot:ListAttachedPolicies", "iot:ListTargetsForPolicy", "iot:ListThingGroupsForThing", "iot:ListThingsInThingGroup", "iot:CreateJob", "iot:DescribeJob", "iot:DescribeJobExecution", "iot:CancelJob" ], "Resource":[ "arn:aws:iot:*:*:thing/idt-*", "arn:aws:iot:*:*:thinggroup/idt-*", "arn:aws:iot:*:*:policy/idt-*", "arn:aws:iot:*:*:cert/*", "arn:aws:iot:*:*:topic/idt-*", "arn:aws:iot:*:*:job/*" ] }, { "Sid":"s3Resources", "Effect":"Allow", "Action":[ "s3:GetObject", "s3:PutObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:CreateBucket", "s3:ListBucket", "s3:ListBucketVersions", "s3:DeleteBucket", "s3:PutObjectTagging", "s3:PutBucketTagging" ], "Resource":"arn:aws:s3::*:idt-*" }, { "Sid":"roleAliasResources", "Effect":"Allow", "Action":[ "iot:CreateRoleAlias", "iot:DescribeRoleAlias", "iot:DeleteRoleAlias", "iot:TagResource", "iam:GetRole" ], "Resource":[ "arn:aws:iot:*:*:rolealias/idt-*", "arn:aws:iam::*:role/idt-*" ] }, { "Sid":"idtExecuteAndCollectMetrics", "Effect":"Allow", "Action":[ "iot-device-tester:SendMetrics", "iot-device-tester:SupportedVersion", "iot-device-tester:LatestIdt", "iot-device-tester:CheckVersion", "iot-device-tester:DownloadTestSuite" ], "Resource":"*" }, { "Sid":"genericResources", "Effect":"Allow", "Action":[ "greengrass:*", "iot:GetThingShadow", "iot:UpdateThingShadow", "iot:ListThings", "iot:DescribeEndpoint", "iot:CreateKeysAndCertificate" ], "Resource":"*" }, { "Sid":"iamResourcesUpdate", "Effect":"Allow", "Action":[ "iam:CreateRole", "iam:DeleteRole", "iam:CreatePolicy", "iam:DeletePolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:TagRole", "iam:TagPolicy", "iam:GetPolicy", "iam:ListAttachedRolePolicies", "iam:ListEntitiesForPolicy" ], "Resource":[ "arn:aws:iam::*:role/idt-*", "arn:aws:iam::*:policy/idt-*" ] } ] }
    2. Se você estiver usando PreInstalled, abra um editor de texto e salve o conteúdo da política a seguir em um JSON arquivo. Assegure-se de:

      • Substitua thingName e thingGroup na iotResources declaração que foi criada durante a instalação do Greengrass em seu dispositivo em test (DUT) para adicionar permissões.

      • Substitua o passRole e roleAlias na roleAliasResources declaração e a passRoleForResources declaração pelas funções que foram criadas durante a instalação do Greengrass em seu. DUT

      { "Version":"2012-10-17", "Statement":[ { "Sid":"passRoleForResources", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/passRole", "Condition":{ "StringEquals":{ "iam:PassedToService":[ "iot.amazonaws.com", "lambda.amazonaws.com", "greengrass.amazonaws.com" ] } } }, { "Sid":"lambdaResources", "Effect":"Allow", "Action":[ "lambda:CreateFunction", "lambda:PublishVersion", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource":[ "arn:aws:lambda:*:*:function:idt-*" ] }, { "Sid":"iotResources", "Effect":"Allow", "Action":[ "iot:CreateThing", "iot:DeleteThing", "iot:DescribeThing", "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:AddThingToThingGroup", "iot:RemoveThingFromThingGroup", "iot:AttachThingPrincipal", "iot:DetachThingPrincipal", "iot:UpdateCertificate", "iot:DeleteCertificate", "iot:CreatePolicy", "iot:AttachPolicy", "iot:DetachPolicy", "iot:DeletePolicy", "iot:GetPolicy", "iot:Publish", "iot:TagResource", "iot:ListThingPrincipals", "iot:ListAttachedPolicies", "iot:ListTargetsForPolicy", "iot:ListThingGroupsForThing", "iot:ListThingsInThingGroup", "iot:CreateJob", "iot:DescribeJob", "iot:DescribeJobExecution", "iot:CancelJob" ], "Resource":[ "arn:aws:iot:*:*:thing/thingName", "arn:aws:iot:*:*:thinggroup/thingGroup", "arn:aws:iot:*:*:policy/idt-*", "arn:aws:iot:*:*:cert/*", "arn:aws:iot:*:*:topic/idt-*", "arn:aws:iot:*:*:job/*" ] }, { "Sid":"s3Resources", "Effect":"Allow", "Action":[ "s3:GetObject", "s3:PutObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:CreateBucket", "s3:ListBucket", "s3:ListBucketVersions", "s3:DeleteBucket", "s3:PutObjectTagging", "s3:PutBucketTagging" ], "Resource":"arn:aws:s3::*:idt-*" }, { "Sid":"roleAliasResources", "Effect":"Allow", "Action":[ "iot:CreateRoleAlias", "iot:DescribeRoleAlias", "iot:DeleteRoleAlias", "iot:TagResource", "iam:GetRole" ], "Resource":[ "arn:aws:iot:*:*:rolealias/roleAlias", "arn:aws:iam::*:role/idt-*" ] }, { "Sid":"idtExecuteAndCollectMetrics", "Effect":"Allow", "Action":[ "iot-device-tester:SendMetrics", "iot-device-tester:SupportedVersion", "iot-device-tester:LatestIdt", "iot-device-tester:CheckVersion", "iot-device-tester:DownloadTestSuite" ], "Resource":"*" }, { "Sid":"genericResources", "Effect":"Allow", "Action":[ "greengrass:*", "iot:GetThingShadow", "iot:UpdateThingShadow", "iot:ListThings", "iot:DescribeEndpoint", "iot:CreateKeysAndCertificate" ], "Resource":"*" }, { "Sid":"iamResourcesUpdate", "Effect":"Allow", "Action":[ "iam:CreateRole", "iam:DeleteRole", "iam:CreatePolicy", "iam:DeletePolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:TagRole", "iam:TagPolicy", "iam:GetPolicy", "iam:ListAttachedRolePolicies", "iam:ListEntitiesForPolicy" ], "Resource":[ "arn:aws:iam::*:role/idt-*", "arn:aws:iam::*:policy/idt-*" ] } ] }
      nota

      Se você quiser usar uma IAMfunção personalizada como função de troca de tokens para seu dispositivo em teste, certifique-se de atualizar a roleAliasResources declaração e a passRoleForResources declaração em sua política para permitir seu recurso de IAM função personalizada.

    3. Execute o seguinte comando para criar uma política gerenciada pelo cliente chamada IDTGreengrassIAMPermissions. policy.jsonSubstitua pelo caminho completo do JSON arquivo que você criou na etapa anterior.

      aws iam create-policy --policy-name IDTGreengrassIAMPermissions --policy-document file://policy.json
  3. Crie um IAM usuário e anexe as permissões exigidas pelo IDT for AWS IoT Greengrass.

    1. Criar um usuário do IAM. Neste exemplo de configuração, o usuário é nomeado IDTGreengrassUser.

      aws iam create-user --user-name IDTGreengrassUser
    2. Anexe a política IDTGreengrassIAMPermissions criada na etapa 2 ao seu usuário do IAM. <account-id>Substitua o comando pelo ID do seu Conta da AWS.

      aws iam attach-user-policy --user-name IDTGreengrassUser --policy-arn arn:aws:iam::<account-id>:policy/IDTGreengrassIAMPermissions
  4. Crie uma chave de acesso secreta para o usuário.

    aws iam create-access-key --user-name IDTGreengrassUser

    Armazene a saída em um local seguro. Você usa essas informações posteriormente para configurar seu arquivo de AWS credenciais.

  5. Próxima etapa: configure o dispositivo físico.

AWS IoT Device Tester permissões

As políticas a seguir descrevem AWS IoT Device Tester as permissões.

AWS IoT Device Tester requer essas permissões para verificação de versão e recursos de atualização automática.

  • iot-device-tester:SupportedVersion

    Concede AWS IoT Device Tester permissão para buscar a lista de produtos, suítes de testes e IDT versões compatíveis.

  • iot-device-tester:LatestIdt

    Concede AWS IoT Device Tester permissão para obter a IDT versão mais recente disponível para download.

  • iot-device-tester:CheckVersion

    Concede AWS IoT Device Tester permissão para verificar a compatibilidade de versõesIDT, suítes de teste e produtos.

  • iot-device-tester:DownloadTestSuite

    Concede AWS IoT Device Tester permissão para baixar atualizações de suítes de teste.

AWS IoT Device Tester também usa a seguinte permissão para relatórios de métricas opcionais:

  • iot-device-tester:SendMetrics

    Concede permissão AWS para coletar métricas sobre o uso AWS IoT Device Tester interno. Se essa permissão for omitida, essas métricas não serão coletadas.