Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Voraussetzungen für den Betrieb der AWS IoT Greengrass Qualification Suite
In diesem Abschnitt werden die Voraussetzungen für die Verwendung von AWS IoT Device Tester (IDT) für beschrieben AWS IoT Greengrass.
Laden Sie die neueste Version von AWS IoT Device Tester für herunter AWS IoT Greengrass
Laden Sie die neueste Version von herunter IDT und extrahieren Sie die Software an einen Speicherort (<device-tester-extract-location>
) auf Ihrem Dateisystem, für den Sie Lese-/Schreibberechtigungen haben.
Anmerkung
IDTunterstützt nicht die Ausführung durch mehrere Benutzer von einem gemeinsamen Speicherort aus, z. B. einem NFS Verzeichnis oder einem gemeinsam genutzten Windows-Netzwerkordner. Es wird empfohlen, das IDT Paket auf ein lokales Laufwerk zu extrahieren und die IDT Binärdatei auf Ihrer lokalen Workstation auszuführen.
Windows hat eine Pfadlängenbegrenzung von 260 Zeichen. Wenn Sie Windows verwenden, entpacken Sie IDT es in ein Stammverzeichnis wie C:\
oder, D:\
um Ihre Pfade unter der Obergrenze von 260 Zeichen zu halten.
Laden Sie die AWS IoT Greengrass Software herunter
IDTfor AWS IoT Greengrass V2 testet Ihr Gerät auf Kompatibilität mit einer bestimmten Version von AWS IoT Greengrass. Führen Sie den folgenden Befehl aus, um die AWS IoT Greengrass Core-Software in eine Datei mit dem Namen herunterzuladenaws.greengrass.nucleus.zip
. version
Ersetzen Sie es durch eine unterstützte Nucleus-Komponentenversion für Ihre IDT Version.
Platzieren Sie die heruntergeladene aws.greengrass.nucleus.zip
Datei in dem
Ordner.<device-tester-extract-location>
/products/
Anmerkung
Legen Sie nicht mehrere Dateien in diesem Verzeichnis für das gleiche Betriebssystem und die gleiche Architektur ab.
Erstellen und konfigurieren Sie ein AWS-Konto
Bevor Sie AWS IoT Device Tester For AWS IoT Greengrass V2 verwenden können, müssen Sie die folgenden Schritte ausführen:
-
Richten Sie eine ein AWS-Konto. Wenn Sie bereits eine haben AWS-Konto, fahren Sie mit Schritt 2 fort.
Mit diesen Kontoberechtigungen können IDT Sie in Ihrem Namen auf AWS Dienste zugreifen und AWS Ressourcen wie AWS IoT Dinge und AWS IoT Greengrass Komponenten erstellen.
Um diese Ressourcen zu erstellen, verwendet IDT for AWS IoT Greengrass V2 die in der config.json
Datei konfigurierten AWS Anmeldeinformationen, um in Ihrem Namen API Anrufe zu tätigen. Diese Ressourcen werden zu verschiedenen Zeiten während eines Tests bereitgestellt.
Anmerkung
Obwohl die meisten Tests für das AWS kostenlose Kontingent
Schritt 1: Richten Sie ein AWS-Konto
In diesem Schritt erstellen und konfigurieren Sie eine AWS-Konto. Wenn Sie bereits über ein AWS-Konto verfügen, fahren Sie direkt mit Schritt 2: Konfigurieren Sie Berechtigungen für IDT fort.
Wenn Sie noch keine haben AWS-Konto, führen Sie die folgenden Schritte aus, um eine zu erstellen.
Um sich für eine anzumelden AWS-Konto
Öffnen Sie https://portal.aws.amazon.com/billing/die Anmeldung.
Folgen Sie den Online-Anweisungen.
Bei der Anmeldung müssen Sie auch einen Telefonanruf entgegennehmen und einen Verifizierungscode über die Telefontasten eingeben.
Wenn Sie sich für eine anmelden AWS-Konto, Root-Benutzer des AWS-Kontoswird eine erstellt. Der Root-Benutzer hat Zugriff auf alle AWS-Services und Ressourcen des Kontos. Als bewährte Sicherheitsmethode weisen Sie einem Administratorbenutzer Administratorzugriff zu und verwenden Sie nur den Root-Benutzer, um Aufgaben auszuführen, die Root-Benutzerzugriff erfordern.
Wählen Sie zum Erstellen eines Administratorbenutzers eine der folgenden Optionen aus.
Wählen Sie eine Möglichkeit zur Verwaltung Ihres Administrators aus. | Bis | Von | Sie können auch |
---|---|---|---|
Im IAM Identity Center (Empfohlen) |
Verwendung von kurzfristigen Anmeldeinformationen für den Zugriff auf AWS. Dies steht im Einklang mit den bewährten Methoden für die Sicherheit. Informationen zu bewährten Methoden finden Sie unter Bewährte Sicherheitsmethoden IAM im IAM Benutzerhandbuch. |
Beachtung der Anweisungen unter Erste Schritte im AWS IAM Identity Center -Benutzerhandbuch. | Konfigurieren Sie den programmatischen Zugriff, indem Sie die AWS CLI zu AWS IAM Identity Center verwendende Konfiguration im AWS Command Line Interface Benutzerhandbuch konfigurieren. |
In IAM (Nicht empfohlen) |
Verwendung von langfristigen Anmeldeinformationen für den Zugriff auf AWS. | Folgen Sie den Anweisungen unter Einen IAM Benutzer für den Notfallzugriff erstellen im IAMBenutzerhandbuch. | Konfigurieren Sie den programmatischen Zugriff unter Zugriffsschlüssel für IAM Benutzer verwalten im IAMBenutzerhandbuch. |
Schritt 2: Konfigurieren Sie Berechtigungen für IDT
In diesem Schritt konfigurieren Sie die Berechtigungen, die IDT für AWS IoT Greengrass V2 zum Ausführen von Tests und zum Sammeln von IDT Nutzungsdaten verwendet werden. Sie können das AWS Management Consoleoder AWS Command Line Interface (AWS CLI) verwenden, um eine IAM Richtlinie und einen Testbenutzer für IDT zu erstellen und dann Richtlinien an den Benutzer anzuhängen. Wenn Sie bereits einen Testbenutzer für erstellt habenIDT, fahren Sie mit fortKonfigurieren Sie Ihr Gerät für die Ausführung von IDT-Tests.
-
Melden Sie sich an der IAM-Konsole
an. -
Erstellen Sie eine vom Kunden verwaltete Richtlinie, die Berechtigungen zum Erstellen von Rollen mit bestimmten Berechtigungen erteilt.
-
Wählen Sie im Navigationsbereich Richtlinien und dann Richtlinie erstellen.
-
Wenn Sie die Option nicht verwenden PreInstalled, ersetzen Sie auf der JSONRegisterkarte den Platzhalterinhalt durch die folgende Richtlinie. Wenn Sie verwenden PreInstalled, fahren Sie mit dem folgenden Schritt fort.
{ "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-*" ] } ] }
-
Wenn Sie verwenden PreInstalled, ersetzen Sie auf der JSONRegisterkarte den Platzhalterinhalt durch die folgende Richtlinie. Stellen Sie sicher, dass Sie:
-
Ersetzen Sie
thingName
andthingGroup
in deriotResources
Anweisung durch den Dingnamen und die Dinggruppe, die während der Greengrass-Installation auf Ihrem zu testenden Gerät (DUT) erstellt wurden, um Berechtigungen hinzuzufügen. -
Ersetzen Sie das
passRole
undroleAlias
in derroleAliasResources
Anweisung und derpassRoleForResources
Anweisung durch die Rollen, die während der Greengrass-Installation auf Ihrem DUT erstellt wurden.
{ "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-*" ] } ] }Anmerkung
Wenn Sie eine benutzerdefinierte IAM Rolle als Token-Austauschrolle für Ihr zu testendes Gerät verwenden möchten, stellen Sie sicher, dass Sie die
roleAliasResources
Erklärung und diepassRoleForResources
Anweisung in Ihrer Richtlinie aktualisieren, um Ihre benutzerdefinierte IAM Rollenressource zuzulassen. -
-
Wählen Sie Richtlinie prüfen.
-
Geben Sie unter Name
IDTGreengrassIAMPermissions
ein. Überprüfen Sie unter Summary (Zusammenfassung) die von Ihrer Richtlinie gewährten Berechtigungen. -
Wählen Sie Create Policy (Richtlinie erstellen) aus.
-
-
Erstellen Sie einen IAM Benutzer und fügen Sie die von IDT for erforderlichen Berechtigungen hinzu AWS IoT Greengrass.
-
Erstellen eines IAM-Benutzers Folgen Sie den Schritten 1 bis 5 IAMunter Benutzer erstellen (Konsole) im IAMBenutzerhandbuch.
-
Fügen Sie Ihrem IAM-Benutzer die Berechtigungen an:
-
Wählen Sie auf der Seite Set permissions (Berechtigungen einrichten) die Option Attach existing policies to user directly (Vorhandene Richtlinien dem Benutzer direkt anfügen) aus.
-
Suchen Sie nach der IDTGreengrassIAMPermissionsRichtlinie, die Sie im vorherigen Schritt erstellt haben. Markieren Sie das Kontrollkästchen.
-
-
Wählen Sie Weiter: Markierungen.
-
Wählen Sie Next: Review (Weiter: Überprüfen), um eine Zusammenfassung Ihrer Auswahlmöglichkeiten anzuzeigen.
-
Wählen Sie Create user (Benutzer erstellen) aus.
-
Um die Zugriffsschlüssel des Benutzers (Zugriffsschlüssel IDs und geheime Zugriffsschlüssel) anzuzeigen, wählen Sie neben dem Passwort und dem Zugriffsschlüssel die Option Anzeigen aus. Zum Speichern der Zugriffsschlüssel wählen Sie Download .csv (CSV-Datei herunterladen) aus und speichern die Datei an einem sicheren Speicherort. Sie verwenden diese Informationen später, um Ihre AWS Anmeldeinformationsdatei zu konfigurieren.
-
-
Nächster Schritt: Konfigurieren Sie Ihr physisches Gerät.
-
Installieren und konfigurieren Sie den auf Ihrem Computer, AWS CLI falls er noch nicht installiert ist. Folgen Sie den Schritten unter Installation von AWS CLI im AWS Command Line Interface Benutzerhandbuch.
Anmerkung
Das AWS CLI ist ein Open-Source-Tool, mit dem Sie über Ihre AWS Befehlszeilen-Shell mit Diensten interagieren können.
-
Erstellen Sie eine vom Kunden verwaltete Richtlinie, die Verwaltungsberechtigungen IDT und AWS IoT Greengrass Rollen gewährt.
-
Wenn Sie ihn nicht verwenden PreInstalled, öffnen Sie einen Texteditor und speichern Sie den folgenden Richtlinieninhalt in einer JSON Datei. Wenn Sie dies verwenden PreInstalled, fahren Sie mit dem folgenden Schritt fort.
{ "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-*" ] } ] }
-
Wenn Sie verwenden PreInstalled, öffnen Sie einen Texteditor und speichern Sie den folgenden Richtlinieninhalt in einer JSON Datei. Stellen Sie sicher, dass Sie:
-
Ersetzen Sie
thingName
undthingGroup
in deriotResources
Anweisung, die während der Greengrass-Installation auf Ihrem zu testenden Gerät erstellt wurde (DUT), um Berechtigungen hinzuzufügen. -
Ersetzen Sie das
passRole
undroleAlias
in derroleAliasResources
Anweisung und derpassRoleForResources
Anweisung durch die Rollen, die während der Greengrass-Installation auf Ihrem DUT erstellt wurden.
{ "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-*" ] } ] }Anmerkung
Wenn Sie eine benutzerdefinierte IAM Rolle als Token-Austauschrolle für Ihr zu testendes Gerät verwenden möchten, stellen Sie sicher, dass Sie die
roleAliasResources
Erklärung und diepassRoleForResources
Anweisung in Ihrer Richtlinie aktualisieren, um Ihre benutzerdefinierte IAM Rollenressource zuzulassen. -
-
Führen Sie den folgenden Befehl aus, um eine vom Kunden verwaltete Richtlinie mit dem Namen zu erstellen
IDTGreengrassIAMPermissions
.
Ersetzen Sie durch den vollständigen Pfad zu der JSON Datei, die Sie im vorherigen Schritt erstellt haben.policy.json
aws iam create-policy --policy-name IDTGreengrassIAMPermissions --policy-document file://
policy.json
-
-
Erstellen Sie einen IAM Benutzer und fügen Sie die IDT für for erforderlichen Berechtigungen hinzu AWS IoT Greengrass.
-
Erstellen eines IAM-Benutzers In diesem Beispiel wird der Benutzer als
IDTGreengrassUser
bezeichnet.aws iam create-user --user-name IDTGreengrassUser
-
Fügen Sie die
IDTGreengrassIAMPermissions
-Richtlinie, die Sie in Schritt 2 erstellt haben, Ihrem IAM-Benutzer an. Ersetzen Sie<account-id>
den Befehl durch die ID Ihres AWS-Konto.aws iam attach-user-policy --user-name IDTGreengrassUser --policy-arn arn:aws:iam::
<account-id>
:policy/IDTGreengrassIAMPermissions
-
-
Erstellen Sie einen geheimen Zugriffsschlüssel für den Benutzer.
aws iam create-access-key --user-name IDTGreengrassUser
Speichern Sie die Ausgabe an einem sicheren Ort. Sie verwenden diese Informationen später, um Ihre AWS Anmeldeinformationsdatei zu konfigurieren.
-
Nächster Schritt: Konfigurieren Sie Ihr physisches Gerät.
AWS IoT Device Tester Berechtigungen
In den folgenden Richtlinien werden AWS IoT Device Tester Berechtigungen beschrieben.
AWS IoT Device Tester benötigt diese Berechtigungen für Funktionen zur Versionsprüfung und automatischen Aktualisierung.
-
iot-device-tester:SupportedVersion
Erteilt die AWS IoT Device Tester Erlaubnis, die Liste der unterstützten Produkte, Testsuiten und IDT Versionen abzurufen.
-
iot-device-tester:LatestIdt
AWS IoT Device Tester Erteilt die Erlaubnis, die neueste IDT Version abzurufen, die zum Herunterladen verfügbar ist.
-
iot-device-tester:CheckVersion
Erteilt die AWS IoT Device Tester Erlaubnis, die Versionskompatibilität von Testsuiten und Produkten zu überprüfen. IDT
-
iot-device-tester:DownloadTestSuite
AWS IoT Device Tester Erteilt die Erlaubnis, Updates für Testsuiten herunterzuladen.
AWS IoT Device Tester verwendet außerdem die folgende Berechtigung für optionale Metrikberichte:
-
iot-device-tester:SendMetrics
Erteilt die Erlaubnis AWS , Metriken zur AWS IoT Device Tester internen Nutzung zu sammeln. Wenn diese Erlaubnis nicht erteilt wird, werden diese Messwerte nicht erfasst.