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.
Vorbereitung der Sicherheit
In diesem Abschnitt werden die wichtigsten Sicherheitsanforderungen für den AWS IoT Device Management Softwarepaketkatalog beschrieben.
Resource-based authentication
Der Softwarepaket-Katalog verwendet ressourcenbasierte Autorisierung, um zusätzliche Sicherheit bei der Aktualisierung von Software auf Ihrer Flotte zu bieten. Das bedeutet, dass Sie eine AWS Identity and Access Management (IAM-) Richtlinie erstellen müssen, die Rechte zum Ausführen voncreate, read updatedelete, und list Aktionen für Softwarepakete und Paketversionen gewährt, und in diesem Resources Abschnitt auf die spezifischen Softwarepakete und Paketversionen verweisen müssen, die Sie bereitstellen möchten. Sie benötigen diese Rechte auch, damit Sie den reservierten benannten Schatten aktualisieren können. Sie verweisen auf die Softwarepakete und Paketversionen, indem Sie einen Amazon-Ressourcennamen (ARN) für jede Entität angeben.
Anmerkung
Wenn Sie beabsichtigen, mit der Richtlinie Rechte für API-Aufrufe der Paketversion (wie CreatePackageVersion,, DeletePackageVersion) zu gewähren UpdatePackageVersion, müssen Sie sowohl die ARNs für das Softwarepaket als auch für die Paketversion in die Richtlinie aufnehmen. Wenn Sie beabsichtigen, mit der Richtlinie Rechte für API-Aufrufe von Softwarepaketen (wie CreatePackage UpdatePackage, und DeletePackage) zu gewähren, müssen Sie nur den Softwarepaket-ARN in die Richtlinie aufnehmen.
Strukturieren Sie die ARNs für das Softwarepaket und die Paketversion wie folgt:
Softwarepaket:
arn:aws:iot:<region>:<accountID>:package/<packageName>/packagePaketversion:
arn:aws:iot:<region>:<accountID>:package/<packageName>/version/<versionName>
Anmerkung
Es gibt weitere verwandte Rechte, die Sie möglicherweise in diese Richtlinie aufnehmen. Sie könnten beispielsweise einen ARN für job, thinggroup, und jobtemplate angeben. Weitere Informationen und eine vollständige Liste der Richtlinienoptionen finden Sie unter Schützen von Benutzern und Geräten mit AWS IoT Jobs.
Wenn Sie beispielsweise über ein Softwarepaket und eine Paketversion verfügen, die wie folgt benannt sind:
AWS IoT Sache:
myThingPaketname:
samplePackageVersion
1.0.0
Die Richtlinie könnte wie das folgende Beispiel aussehen:
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:createPackage", "iot:createPackageVersion", "iot:updatePackage", "iot:updatePackageVersion" ], "Resource": [ "arn:aws:iot:us-east-1:111122223333:package/samplePackage", "arn:aws:iot:us-east-1:111122223333:package/samplePackage/version/1.0.0" ] }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": "arn:aws:iot:us-east-1:111122223333:thing/myThing/$package" } ] }
AWS IoT Arbeitsrechte zum Bereitstellen von Paketversionen
Aus Sicherheitsgründen ist es wichtig, dass Sie Rechte zur Bereitstellung von Paketen und Paketversionen gewähren und die spezifischen Pakete und Paketversionen benennen, die sie bereitstellen dürfen. Zu diesem Zweck erstellen Sie eine IAM-Rolle und eine IAM-Richtlinie, die die Erlaubnis zum Bereitstellen von Aufträgen mit Paketversionen erteilt. Die Richtlinie muss die Zielpaketversionen als Ressource angeben.
IAM-Richtlinie
Die IAM-Richtlinie gewährt das Recht, einen Job zu erstellen, der das Paket und die Version enthält, die im Resource Abschnitt genannt werden.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:CreateJob", "iot:CreateJobTemplate" ], "Resource":[ "arn:aws:iot:*:111122223333:job/<jobId>", "arn:aws:iot:*:111122223333:thing/<thingName>/$package", "arn:aws:iot:*:111122223333:thinggroup/<thingGroupName>", "arn:aws:iot:*:111122223333:jobtemplate/<jobTemplateName>", "arn:aws:iot:*:111122223333:package/<packageName>/version/<versionName>" ] } ] }
Anmerkung
Wenn Sie einen Auftrag bereitstellen möchten, der ein Softwarepaket und eine Paketversion deinstalliert, müssen Sie einen ARN autorisieren, in dem sich die Paketversion $null befindet, z. B. im Folgenden:
arn:aws:iot:<regionCode>:111122223333:package/<packageName>/version/$null
AWS IoT Jobrechte zur Aktualisierung des reservierten benannten Shadows
Damit Aufträge den reservierten Namensschatten des Objekts aktualisieren können, wenn der Auftrag erfolgreich abgeschlossen wurde, müssen Sie eine IAM-Rolle und eine Richtlinie erstellen. Dafür gibt es zwei Möglichkeiten in der AWS IoT Konsole. Die erste Möglichkeit besteht darin, ein Softwarepaket in der Konsole zu erstellen. Wenn das Dialogfeld Abhängigkeiten für die Paketverwaltung aktivieren angezeigt wird, können Sie wählen, ob Sie eine vorhandene Rolle verwenden oder eine neue Rolle erstellen möchten. Oder wählen Sie in der AWS IoT Konsole Einstellungen, Indizierung verwalten und dann Indizierung für Gerätepakete und Versionen verwalten aus.
Anmerkung
Wenn Sie sich dafür entscheiden, dass der AWS IoT Job Service den reservierten Named Shadow aktualisiert, wenn ein Job erfolgreich abgeschlossen wurde, wird der API-Aufruf auf Ihre Device Shadow- und Registrierungsvorgänge angerechnet und kann mit Kosten verbunden sein. Weitere Informationen finden Sie unter AWS IoT Core Preise
Wenn Sie die Option Rolle erstellen verwenden, beginnt der Name der generierten Rolle mit aws-iot-role-update-shadows und enthält die folgenden Richtlinien:
Einrichten einer Rolle
- Berechtigungen
-
Die Berechtigungsrichtlinie gewährt die Rechte, den Objektschatten abzufragen und zu aktualisieren. Der
$packageParameter im Ressourcen-ARN zielt auf den reservierten benannten Schatten ab.-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:DescribeEndpoint", "Resource": "*" }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": [ "arn:aws:iot:us-east-1:111122223333:thing/<thingName>/$package" ] } ] }
- Vertrauensstellung
-
Zusätzlich zur Berechtigungsrichtlinie erfordert die Rolle eine Vertrauensbeziehung mit AWS IoT Core , sodass die Entität die Rolle übernehmen und den reservierten benannten Schatten aktualisieren kann.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Eine Benutzerrichtlinie einrichten
- iam: Erlaubnis PassRole
-
Schließlich müssen Sie die Berechtigung haben, die Rolle zu übergeben, AWS IoT Core wenn Sie den UpdatePackageConfiguration API-Vorgang aufrufen.
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "iot:UpdatePackageConfiguration" ], "Resource": "arn:aws:iam::111122223333:role/<roleName>" } ] }
AWS IoT Jobs: Berechtigungen zum Herunterladen von Amazon S3
Das Auftragsdokument wird in Amazon S3 gespeichert. Sie verweisen auf diese Datei, wenn Sie den Versand über AWS IoT Jobs durchführen. Sie müssen AWS IoT Jobs die Rechte zum Herunterladen der Datei gewähren (s3:GetObject). Sie müssen auch eine Vertrauensbeziehung zwischen Amazon S3 und AWS IoT Jobs einrichten. Anweisungen zum Erstellen dieser Richtlinien finden Sie unter Vorsignierte URLs unter Jobs verwalten.
Berechtigungen zur Aktualisierung der Softwareliste für eine Paketversion
Um die Software-Stückliste für eine Paketversion im StatusDraft,Published, oder Deprecated Lebenszyklus zu aktualisieren, benötigen Sie eine AWS Identity and Access Management Rolle und Richtlinien, um die neue Software-Stückliste in Amazon S3 zu finden und die Paketversion in zu aktualisieren AWS IoT Core.
Zunächst platzieren Sie die aktualisierte Software-Stückliste in Ihrem versionierten Amazon S3-Bucket und rufen den UpdatePackageVersion API-Vorgang mit dem enthaltenen sboms Parameter auf. Als Nächstes übernimmt Ihr autorisierter Principal die von Ihnen erstellte IAM-Rolle, sucht die aktualisierte Software-Stückliste in Amazon S3 und aktualisiert die Paketversion im Software Package AWS IoT Core Catalog.
Die folgenden Richtlinien sind erforderlich, um dieses Update durchzuführen:
Richtlinien
-
Vertrauensrichtlinie, die eine Vertrauensbeziehung mit dem autorisierten Principal herstellt, der die IAM-Rolle übernimmt, sodass dieser die aktualisierte Software-Stückliste aus Ihrem versionierten Bucket in Amazon S3 finden und die Paketversion in aktualisieren kann. AWS IoT Core
-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
-
Berechtigungsrichtlinie: Richtlinie für den Zugriff auf den Amazon S3-Bucket, in dem die Softwareliste für eine Paketversion gespeichert ist, und für die Aktualisierung der Paketversion in. AWS IoT Core
-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1" ] } ] }
-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:UpdatePackageVersion" ], "Resource": [ "arn:aws:iot:*:111122223333:package/<packageName>/version/<versionName>" ] } ] }
-
-
Rollenberechtigungen weitergeben: Richtlinie, die die Erlaubnis erteilt, die IAM-Rolle an Amazon S3 zu übergeben und AWS IoT Core wenn Sie den
UpdatePackageVersionAPI-Vorgang aufrufen.-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1" ] } ] }
-
-
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "iot:UpdatePackageVersion" ], "Resource": "arn:aws:iam::111122223333:role/<roleName>" } ] }
-
Anmerkung
Sie können die Softwareliste einer Paketversion, die in den Deleted Lebenszyklusstatus übergegangen ist, nicht aktualisieren.
Weitere Informationen zum Erstellen einer IAM-Rolle für einen AWS Service finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen Service. AWS
Weitere Informationen zum Erstellen eines Amazon S3-Buckets und zum Hochladen von Objekten in diesen Bucket finden Sie unter Einen Bucket erstellen und Objekte hochladen.