Prerequisiti per l'esecuzione della suite di AWS IoT Greengrass qualifiche - AWS IoT Greengrass

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Prerequisiti per l'esecuzione della suite di AWS IoT Greengrass qualifiche

Questa sezione descrive i prerequisiti per l'utilizzo AWS IoT Device Tester di () for. IDT AWS IoT Greengrass

Scarica la versione più recente di for AWS IoT Device TesterAWS IoT Greengrass

Scarica la versione più recente di IDT ed estrai il software in una posizione (<device-tester-extract-location>) sul file system in cui disponi delle autorizzazioni di lettura/scrittura.

Nota

IDTnon supporta l'esecuzione da parte di più utenti da una posizione condivisa, ad esempio una NFS directory o una cartella condivisa di rete Windows. Si consiglia di estrarre il IDT pacchetto su un'unità locale ed eseguire il IDT file binario sulla workstation locale.

In Windows esiste un limite di lunghezza del percorso di 260 caratteri. Se usi Windows, esegui l'estrazione in una directory principale, IDT ad esempio C:\ o D:\ per mantenere i percorsi al di sotto del limite di 260 caratteri.

Scaricate il AWS IoT Greengrass software

IDTfor AWS IoT Greengrass V2 verifica la compatibilità del dispositivo con una versione specifica di AWS IoT Greengrass. Eseguite il comando seguente per scaricare il software AWS IoT Greengrass Core in un file denominatoaws.greengrass.nucleus.zip. Replace (Sostituisci) version con una versione del componente nucleus supportata per la tua IDT versione.

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

Inserite il aws.greengrass.nucleus.zip file scaricato nella <device-tester-extract-location>/products/ cartella.

Nota

Non posizionare più file in questa directory per lo stesso sistema operativo e architettura.

Crea e configura un Account AWS

Prima di utilizzarlo AWS IoT Device Tester per la AWS IoT Greengrass versione 2, è necessario eseguire le seguenti operazioni:

  1. Configurare un Account AWS. Se ne hai già uno Account AWS, vai al passaggio 2.

  2. Configura le autorizzazioni per. IDT

Queste autorizzazioni dell'account consentono IDT di accedere ai AWS servizi e creare AWS risorse, come AWS IoT oggetti e AWS IoT Greengrass componenti, per tuo conto.

Per creare queste risorse, IDT for AWS IoT Greengrass V2 utilizza le AWS credenziali configurate nel config.json file per effettuare API chiamate per conto dell'utente. Il provisioning di queste risorse viene effettuato varie volte nel corso di un test.

Nota

Sebbene la maggior parte dei test sia idonea per il piano AWS gratuito, è necessario fornire una carta di credito quando ci si iscrive a un. Account AWS Per ulteriori informazioni, consulta Perché ho bisogno di un metodo di pagamento se il mio account è coperto dal livello gratuito?

Passo 1: Configurare un Account AWS

In questo passaggio, crea e configura un Account AWS. Se disponi già di un Account AWS, passa a Fase 2: Configurare le autorizzazioni per IDT.

Se non ne hai uno Account AWS, completa i seguenti passaggi per crearne uno.

Per iscriverti a un Account AWS
  1. Apri la https://portal.aws.amazon.com/billing/registrazione.

  2. Segui le istruzioni online.

    Nel corso della procedura di registrazione riceverai una telefonata, durante la quale sarà necessario inserire un codice di verifica attraverso la tastiera del telefono.

    Quando ti iscrivi a un Account AWS, Utente root dell'account AWSviene creato un. L'utente root dispone dell'accesso a tutte le risorse e tutti i Servizi AWS nell'account. Come best practice di sicurezza, assegna l'accesso amministrativo a un utente e utilizza solo l'utente root per eseguire attività che richiedono l'accesso di un utente root.

Per creare un utente amministratore, scegli una delle seguenti opzioni.

Scelta di un modo per gestire il tuo amministratore Per Come Puoi anche
In IAM Identity Center

(Consigliato)

Usa credenziali a breve termine per accedere a AWS.

Ciò è in linea con le best practice per la sicurezza. Per informazioni sulle best practice, consulta la sezione Procedure consigliate per la sicurezza IAM nella Guida IAM per l'utente.

Segui le istruzioni riportate in Nozioni di base nella Guida per l'utente di AWS IAM Identity Center . Configura l'accesso programmatico configurando l'uso AWS IAM Identity Center nella Guida AWS CLI per l'AWS Command Line Interface utente.
In IAM

(Non consigliato)

Usa credenziali a lungo termine per accedere a AWS. Seguendo le istruzioni riportate nella sezione Creazione del primo utente IAM amministratore e gruppo di utenti nella Guida IAM per l'utente. Configura l'accesso programmatico gestendo le chiavi di accesso per IAM gli utenti nella Guida per l'IAMutente.

Fase 2: Configurare le autorizzazioni per IDT

In questo passaggio, configura le autorizzazioni utilizzate da AWS IoT Greengrass V2 IDT per eseguire test e raccogliere dati IDT di utilizzo. È possibile utilizzare AWS Management Consoleor AWS Command Line Interface (AWS CLI) per creare una IAM politica e un utente di prova perIDT, quindi allegare le politiche all'utente. Se hai già creato un utente di prova perIDT, vai aConfigura il tuo dispositivo per eseguire test IDT.

  1. Accedi alla IAMconsole.

  2. Creare un criterio gestito dal cliente che concede le autorizzazioni per creare ruoli con autorizzazioni specifiche.

    1. Nel riquadro di navigazione, seleziona Policy e quindi Crea policy.

    2. Se non lo utilizzi PreInstalled, JSONnella scheda, sostituisci il contenuto segnaposto con la seguente politica. Se lo stai utilizzando PreInstalled, procedi al passaggio successivo.

      { "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 lo stai utilizzando PreInstalled, JSONnella scheda, sostituisci il contenuto segnaposto con la seguente politica. Assicurati di:

      • Replace (Sostituisci) thingName e thingGroup nell'iotResourcesistruzione con il nome della cosa e il gruppo di oggetti che sono stati creati durante l'installazione di Greengrass sul dispositivo sotto test (DUT) per aggiungere le autorizzazioni.

      • Sostituisci il passRole e roleAlias nella roleAliasResources dichiarazione e nella passRoleForResources dichiarazione con i ruoli che sono stati creati durante l'installazione di Greengrass sul tuo. 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 desideri utilizzare un IAMruolo personalizzato come ruolo di scambio di token per il dispositivo in esame, assicurati di aggiornare l'roleAliasResourcesistruzione e l'passRoleForResourcesistruzione nella tua politica per consentire la creazione di IAM ruoli personalizzati.

    4. Scegli Verifica policy.

    5. Per Nome, immetti IDTGreengrassIAMPermissions. In Riepilogo, esaminare le autorizzazioni concesse dai criteri.

    6. Scegli Create Policy (Crea policy).

  3. Crea un IAM utente e allega le autorizzazioni richieste da IDT for AWS IoT Greengrass.

    1. Creare un utente IAM Segui i passaggi da 1 a 5 in Creazione di IAM utenti (console) nella Guida per l'IAMutente.

    2. Allega le autorizzazioni al tuo IAM utente:

      1. Nella pagina Imposta autorizzazioni, seleziona Collega direttamente policy esistenti.

      2. Cerca la IDTGreengrassIAMPermissionspolitica che hai creato nel passaggio precedente. Selezionare la casella di controllo.

    3. Scegli Successivo: Tag.

    4. Scegliere Next:Review per visualizzare un riepilogo delle tue scelte.

    5. Selezionare Create user (Crea utente).

    6. Per visualizzare le chiavi di accesso dell'utente (chiave di accesso IDs e chiavi di accesso segrete), scegli Mostra accanto alla password e alla chiave di accesso. Per salvare le chiavi di accesso, scegliere Scarica .csv e salvare il file in una posizione sicura. Utilizzerai queste informazioni in seguito per configurare il file AWS delle credenziali.

  4. Passaggio successivo: configurare il dispositivo fisico.

  1. Sul tuo computer, installa e configura il AWS CLI file se non è già installato. Segui la procedura descritta in Installazione di AWS CLI nella Guida AWS Command Line Interface per l'utente.

    Nota

    AWS CLI È uno strumento open source che puoi utilizzare per interagire con AWS i servizi dalla tua shell a riga di comando.

  2. Crea una politica gestita dai clienti che conceda le autorizzazioni per la gestione e i ruoli. IDT AWS IoT Greengrass

    1. Se non la utilizzi PreInstalled, apri un editor di testo e salva il seguente contenuto della politica in un JSON file. Se lo stai utilizzando PreInstalled, procedi al passaggio seguente.

      { "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 lo state utilizzando PreInstalled, aprite un editor di testo e salvate il seguente contenuto della policy in un JSON file. Assicurati di:

      • Replace (Sostituisci) thingName e thingGroup nella iotResources dichiarazione che è stata creata durante l'installazione di Greengrass sul tuo dispositivo sotto test (DUT) per aggiungere le autorizzazioni.

      • Sostituisci il passRole e roleAlias nella roleAliasResources dichiarazione e nella passRoleForResources dichiarazione con i ruoli che sono stati creati durante l'installazione di Greengrass sul tuo. 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 desideri utilizzare un IAMruolo personalizzato come ruolo di scambio di token per il dispositivo in esame, assicurati di aggiornare l'roleAliasResourcesistruzione e l'passRoleForResourcesistruzione nella tua politica per consentire la creazione di IAM ruoli personalizzati.

    3. Esegui il comando seguente per creare una politica gestita dal cliente denominataIDTGreengrassIAMPermissions. Sostituisci policy.json con il percorso completo del JSON file creato nel passaggio precedente.

      aws iam create-policy --policy-name IDTGreengrassIAMPermissions --policy-document file://policy.json
  3. Crea un IAM utente e allega le autorizzazioni richieste da IDT for AWS IoT Greengrass.

    1. Creare un utente IAM In questa configurazione di esempio, l'utente viene chiamato IDTGreengrassUser.

      aws iam create-user --user-name IDTGreengrassUser
    2. Allega la IDTGreengrassIAMPermissions politica che hai creato nel passaggio 2 al tuo IAM utente. Replace (Sostituisci) <account-id> nel comando con l'ID del tuo Account AWS.

      aws iam attach-user-policy --user-name IDTGreengrassUser --policy-arn arn:aws:iam::<account-id>:policy/IDTGreengrassIAMPermissions
  4. Creare una chiave di accesso segreta per l'utente.

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

    Memorizzare l'output in una posizione sicura. Queste informazioni verranno utilizzate successivamente per configurare il file AWS delle credenziali.

  5. Passaggio successivo: configurare il dispositivo fisico.

AWS IoT Device Tester autorizzazioni

Le seguenti politiche descrivono le AWS IoT Device Tester autorizzazioni.

AWS IoT Device Tester richiede queste autorizzazioni per il controllo della versione e le funzionalità di aggiornamento automatico.

  • iot-device-tester:SupportedVersion

    Concede AWS IoT Device Tester l'autorizzazione a recuperare l'elenco dei prodotti, delle suite di test e delle versioni supportate. IDT

  • iot-device-tester:LatestIdt

    Concede AWS IoT Device Tester l'autorizzazione a recuperare l'ultima IDT versione disponibile per il download.

  • iot-device-tester:CheckVersion

    Concede AWS IoT Device Tester l'autorizzazione a verificare la compatibilità delle versioniIDT, delle suite di test e dei prodotti.

  • iot-device-tester:DownloadTestSuite

    Concede AWS IoT Device Tester l'autorizzazione a scaricare gli aggiornamenti delle suite di test.

AWS IoT Device Tester utilizza anche la seguente autorizzazione per la segnalazione facoltativa delle metriche:

  • iot-device-tester:SendMetrics

    Concede l'autorizzazione AWS a raccogliere metriche sull' AWS IoT Device Tester uso interno. Se questa autorizzazione viene omessa, queste metriche non verranno raccolte.