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.
Ressourcenbasierte Authentifizierung
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 Richtlinie AWS Identity and Access Management (IAM) erstellen müssen, die Rechte zur Ausführung voncreate
,, read
update
delete
, und list
Aktionen für Softwarepakete und Paketversionen gewährt, und dass Sie 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 für jede Entität einen Amazon-Ressourcennamen (ARN) angeben.
Anmerkung
Wenn Sie beabsichtigen, mit der Richtlinie Rechte für API Aufrufe von Paketversionen (wie CreatePackageVersion, UpdatePackageVersion, DeletePackageVersion) zu gewähren, müssen Sie sowohl das Softwarepaket als auch die Paketversion ARNs in die Richtlinie aufnehmen. Wenn Sie beabsichtigen, mit der Richtlinie Rechte für API Softwarepaketaufrufe (wie CreatePackageUpdatePackage, und DeletePackage) zu gewähren, müssen Sie nur das Softwarepaket ARN in die Richtlinie aufnehmen.
Strukturieren Sie das Softwarepaket und die Paketversion ARNs wie folgt:
Softwarepaket:
arn:aws:iot:
<region>
:<accountID>
:package/<packageName>
/package
Paketversion:
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 ein ARN für job
thinggroup
, und angebenjobtemplate
. Weitere Informationen und eine vollständige Liste der Richtlinienoptionen finden Sie unter Schützen von Benutzern und Geräten mit AWS IoT Aufträgen.
Wenn Sie beispielsweise über ein Softwarepaket und eine Paketversion verfügen, die wie folgt benannt sind:
AWS IoT Sache:
myThing
Paketname:
samplePackage
Version
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 Berufsrechte für die Bereitstellung 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. Dazu erstellen Sie eine IAM Rolle und eine Richtlinie, die die Berechtigung zum Bereitstellen von Aufträgen mit Paketversionen gewähren. Die Richtlinie muss die Zielpaketversionen als Ressource angeben.
IAMRichtlinie
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 Job bereitstellen möchten, bei dem ein Softwarepaket und eine Paketversion deinstalliert werden, müssen Sie einen Ort autorisieren, an ARN dem sich die Paketversion befindet$null
, z. B. im Folgenden:
arn:aws:iot:
<regionCode>
:111122223333
:package/<packageName>
/version/$null
AWS IoT Jobrechte zur Aktualisierung des reservierten benannten Schattens
Damit Jobs den reservierten Namens-Shadow des Dings aktualisieren können, wenn der Job 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 festlegen, dass der AWS IoT Job Service den reservierten Named Shadow aktualisiert, wenn ein Job erfolgreich abgeschlossen wurde, wird der API Anruf auf Ihre Device Shadow- und Registrierungsvorgänge angerechnet und kann Kosten verursachen. 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
$package
Parameter in der Ressource ARN zielt auf den reservierten Named Shadow ab.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:DescribeEndpoint", "Resource": "" }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": [ "arn:aws:iot:
<regionCode>
: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 über die Berechtigung verfügen, die Rolle AWS IoT Core beim Aufrufen des UpdatePackageConfigurationAPIVorgangs zu übergeben.
{ "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 beziehen sich beim Versand über AWS IoT Jobs auf diese Datei. Sie müssen AWS IoT Jobs die Rechte zum Herunterladen der Datei (s3:GetObject
) gewähren. Sie müssen auch eine Vertrauensbeziehung zwischen Amazon S3 und AWS IoT Jobs einrichten. Anweisungen zum Erstellen dieser Richtlinien finden Sie unter Presigned URLs in Managing Jobs.
Berechtigungen zur Aktualisierung der Softwareliste für eine Paketversion
Um die Softwareliste für eine Paketversion im Deprecated
Lebenszyklusstatus Draft
Published
, oder zu aktualisieren, benötigen Sie eine AWS Identity and Access Management Rolle und Richtlinien für das Auffinden der neuen Softwareliste in Amazon S3 und das Aktualisieren der Paketversion in AWS IoT Core.
Zunächst platzieren Sie die aktualisierte Softwareliste in Ihrem versionierten Amazon S3 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 Softwareliste in Amazon S3 und aktualisiert die Paketversion AWS IoT Core für Software Package Catalog.
Für die Durchführung dieses Updates sind die folgenden Richtlinien erforderlich:
Richtlinien
-
Vertrauensrichtlinie, die eine Vertrauensbeziehung mit dem autorisierten Principal herstellt, der die IAM Rolle übernimmt, sodass dieser die aktualisierte Softwareliste aus Ihrem versionierten Bucket in Amazon S3 finden und die Paketversion 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 S3-versionierten Bucket, in dem die Softwarelisten für eine Paketversion gespeichert sind, und für die Aktualisierung der Paketversion. 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 weiterzugeben und AWS IoT Core wann Sie den
UpdatePackageVersion
API Vorgang aufrufen.-
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "s3:GetObject" ], "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 für eine Paketversion, die in den Deleted
Lebenszyklusstatus übergegangen ist, nicht aktualisieren.
Weitere Informationen zum Erstellen einer IAM Rolle für einen AWS Dienst finden Sie unter Eine Rolle erstellen, um Berechtigungen für einen Dienst zu delegieren. AWS
Weitere Informationen zum Erstellen eines Amazon S3 S3-Buckets und zum Hochladen von Objekten in diesen Bucket finden Sie unter Bucket erstellen und Objekte hochladen.