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 Verwendung des Softwarepaket-Katalogs
Der folgende Abschnitt bietet einen Überblick über den Lebenszyklus der Paketversionen und Informationen zur Verwendung des AWS IoT Device Management Softwarepaketkatalogs.
Lebenszyklus der Paketversion
Eine Paketversion kann sich in den folgenden Lebenszyklusstatus weiterentwickeln: draft
, published
, und deprecated
. Sie kann auch deleted
sein.
Entwurf
Wenn Sie eine Paketversion erstellen, befindet sie sich in einem
draft
Status. Dieser Status weist darauf hin, dass das Softwarepaket vorbereitet wird oder unvollständig ist.Solange sich die Paketversion in diesem Zustand befindet, können Sie sie nicht bereitstellen. Sie können die Beschreibung, Attribute und Tags der Paketversion bearbeiten.
Sie können eine Paketversion, die sich im
draft
Status befindet, mithilfe der Konsolepublished
oderdeleted
durch Ausführen der DeletePackageVersionAPIOperationen UpdatePackageVersionOder in den Status „In“ umwandeln.Veröffentlicht
Wenn Ihre Paketversion bereit für die Bereitstellung ist, stellen Sie die Paketversion in einen
published
Status um. In diesem Zustand können Sie wählen, ob Sie die Paketversion als Standardversion identifizieren möchten, indem Sie das Softwarepaket in der Konsole bearbeiten oder den UpdatePackageAPIVorgang ausführen. In diesem Status können Sie nur die Beschreibung und die Tags bearbeiten.Sie können eine Paketversion, die sich im
published
Status befindet, mithilfe der Konsoledeprecated
oder durch Ausführen von Operationen oderdeleted
durch Ausführen der DeletePackageVersionAPIOperationen „Oder“ auf den UpdatePackageVersionStatus „In“ umstellen.Als veraltet gekennzeichnet
Wenn eine neue Paketversion verfügbar ist, können Sie frühere Paketversionen auf
deprecated
umstellen. Sie können weiterhin Jobs mit einer veralteten Paketversion bereitstellen. Sie können auch eine veraltete Paketversion als Standardversion benennen und nur die Beschreibung und die Tags bearbeiten.Erwägen Sie, eine Paketversion auf eine Version umzustellen,
deprecated
wenn die Version veraltet ist, Sie aber immer noch Geräte im Einsatz haben, die die ältere Version verwenden, oder müssen sie aufgrund von Laufzeitabhängigkeiten warten.Sie können eine Paketversion, die sich im
deprecated
Status befindet, mithilfe der Konsolepublished
oderdeleted
durch Ausführen von Oder-Operationen auf die aktuelle Version umstellen. UpdatePackageVersionDeletePackageVersionAPIDeleted (Gelöscht)
Wenn Sie eine Paketversion nicht mehr verwenden möchten, können Sie sie löschen, indem Sie die Konsole verwenden oder den Vorgang ausführen. DeletePackageVersionAPI
Anmerkung
Wenn Sie eine Paketversion löschen, während noch ausstehende Aufträge darauf verweisen, erhalten Sie eine Fehlermeldung, wenn der Auftrag erfolgreich abgeschlossen wurde und versucht wird, den reservierten Named Shadow zu aktualisieren.
Wenn die Softwarepaketversion, die Sie löschen möchten, als Standardpaketversion benannt ist, müssen Sie das Paket zuerst aktualisieren, um eine andere Version als Standardversion zu benennen, oder das Feld unbenannt lassen. Sie können dies mithilfe der Konsole oder der UpdatePackageVersionAPIOperation tun. (Um eine benannte Paketversion standardmäßig zu entfernen, setzen Sie den unsetDefaultVersionParameter auf true, wenn Sie den UpdatePackageAPIVorgang ausführen.)
Wenn Sie ein Softwarepaket über die Konsole löschen, werden alle mit diesem Paket verknüpften Paketversionen gelöscht, sofern nicht eine als Standardversion benannt ist.
Namenskonventionen für Paketversionen
Wenn Sie Paketversionen benennen, ist es wichtig, eine logische Benennungsstrategie zu planen und anzuwenden, damit Sie und andere leicht die neueste Paketversion und den Versionsverlauf erkennen können. Sie müssen bei der Erstellung der Paketversion einen Versionsnamen angeben, aber die Strategie und das Format hängen weitgehend von Ihrem Geschäftsszenario ab.
Als bewährte Methode empfehlen wir die Verwendung des Semantic SemVer1.2.3
wo 1
die Hauptversion für funktionell inkompatible Änderungen ist, 2
die Hauptversion für funktionell kompatible Änderungen und 3
die Patch-Version (für Fehlerbehebungen) ist. Weitere Informationen finden Sie unter Semantic Versioning 2.0.0
Standardversion
Das Festlegen einer Version als Standard ist optional. Sie können Standard-Paketversionen hinzufügen oder entfernen. Sie können auch eine Paketversion bereitstellen, die nicht als Standardversion benannt ist.
Wenn Sie eine Paketversion erstellen, wird sie in einen draft
Status versetzt und kann erst dann als Standardversion bezeichnet werden, wenn Sie die Paketversion auf veröffentlicht umstellen. Der Softwarepaket-Katalog wählt nicht automatisch eine Version als Standard aus oder aktualisiert eine neuere Paketversion als Standard. Sie müssen die gewählte Paketversion bewusst über die Konsole oder durch die Ausführung des UpdatePackageVersionAPIVorgangs benennen.
Versionsattribute
Versionsattribute und ihre Werte enthalten wichtige Informationen über Ihre Paketversionen. Wir empfehlen Ihnen, allgemeine Attribute für ein Paket oder eine Paketversion zu definieren. Sie können beispielsweise ein Name-Wert-Paar für Plattform, Architektur, Betriebssystem, Veröffentlichungsdatum, Autor oder Amazon S3 erstellen. URL
Wenn Sie einen AWS IoT Job mit einem Jobdokument erstellen, können Sie auch eine Substitutionsvariable ($parameter
) verwenden, die auf den Wert eines Attributs verweist. Weitere Informationen finden Sie unter AWS IoT Jobs vorbereiten.
Versionsattribute, die in Paketversionen verwendet werden, werden nicht automatisch zum reservierten benannten Schatten hinzugefügt und können nicht direkt über Fleet Indexing indexiert oder abgefragt werden. Um Paketversionsattribute über Fleet Indexing zu indizieren oder abzufragen, können Sie das Versionsattribut im reservierten benannten Schatten auffüllen.
Wir empfehlen, dass der Versionsattributparameter im reservierten Schatten die vom Gerät gemeldeten Eigenschaften erfasst, z. B. das Betriebssystem und die Installationszeit. Sie können auch über Fleet Indexing indexiert und abgefragt werden.
Für Versionsattribute ist es nicht erforderlich, dass sie einer bestimmten Benennungskonvention entsprechen. Sie können Name-Wert-Paare erstellen, um Ihren Geschäftsanforderungen gerecht zu werden. Die Gesamtgröße aller Attribute in einer Paketversion ist auf 3 KB begrenzt. Weitere Informationen finden Sie unter Beschränkungen für Softwarepakete und Paketversionen im Softwarepaket-Katalog.
Alle Attribute in einem Jobdokument verwenden
Sie können festlegen, dass alle Attribute der Paketversion automatisch zu Ihrer Auftragsbereitstellung für ausgewählte Geräte hinzugefügt werden. Informationen zur automatischen programmgesteuerten Verwendung aller Paketversionsattribute in einem API CLI OR-Befehl finden Sie im folgenden Beispiel für ein Jobdokument:
"
TestPackage
": "${aws:iot:package:TestPackage
:version:PackageVersion
:attributes}"
Stückliste der Software
Die Softwareliste (SBOM) bietet eine zentrale Ablage für alle Aspekte Ihres Softwarepakets. Zusätzlich zum Speichern von Softwarepaketen und Paketversionen können Sie die Softwareliste (SBOM), die jeder Paketversion zugeordnet ist, im AWS IoT Device Management Softwarepaketkatalog speichern. Ein Softwarepaket enthält eine oder mehrere Paketversionen, und jede Paketversion besteht aus einer oder mehreren Komponenten. Jede dieser Komponenten, die die Zusammenstellung einer bestimmten Paketversion unterstützen, kann anhand einer Softwareliste beschrieben und katalogisiert werden. Die unterstützten Industriestandards für Softwarelisten sind SPDX CyclonedX. Wenn eine zum ersten Mal erstellt SBOM wird, wird sie anhand des Industriestandardformats SPDX und des CyclonedX-Industriestandards validiert. Weitere Informationen finden Sie SPDX unter System Package Data Exchange
Die Softwareliste beschreibt alle Aspekte der Komponenten einer bestimmten Paketversion wie Paketinformationen, Dateiinformationen und andere relevante Metadaten. Das folgende Beispiel zeigt die Dokumentstruktur einer Software-Stückliste im folgenden SPDX Format:
Vorteile der Softwareliste
Einer der wichtigsten Vorteile beim Hinzufügen Ihrer Softwareliste für eine Paketversion zum Softwarepaketkatalog ist das Schwachstellenmanagement.
Verwaltung von Sicherheitslücken
Die Bewertung und Minderung Ihrer Anfälligkeit gegenüber offensichtlichen Sicherheitsrisiken in Softwarekomponenten ist nach wie vor von entscheidender Bedeutung für den Schutz der Integrität Ihrer Geräteflotte. Mit der zusätzlichen Softwareliste, die im Softwarepaketkatalog für jede Paketversion gespeichert ist, können Sie proaktiv Sicherheitslücken aufdecken, indem Sie anhand der Paketversion wissen, welche Geräte gefährdet sind, und Ihre eigene interne Schwachstellen-Management-Lösung SBOM verwenden. Sie können Fixes auf den betroffenen Geräten installieren und Ihre Geräteflotte schützen.
Aufbewahrung von Softwarelisten
Die Softwareliste (SBOM) für jede Softwarepaketversion wird mithilfe der Amazon S3 S3-Versionierungsfunktion in einem Amazon S3 S3-Bucket gespeichert. Der Amazon S3 S3-Bucket, in dem das gespeichert ist, SBOM muss sich in derselben Region befinden, in der die Paketversion erstellt wurde. Ein Amazon S3 S3-Bucket, der die Versionierungsfunktion verwendet, verwaltet mehrere Varianten eines Objekts in demselben Bucket. Weitere Informationen zur Verwendung der Versionierung in einem Amazon S3 S3-Bucket finden Sie unter Verwenden der Versionierung in Amazon S3 S3-Buckets.
Anmerkung
Jede Softwarepaketversion hat nur eine SBOM Datei, die als Zip-Archivdatei gespeichert ist.
Der spezifische Amazon S3 S3-Schlüssel und die Versions-ID für Ihren Bucket werden verwendet, um jede Version einer Softwareliste für eine Paketversion eindeutig zu identifizieren.
Anmerkung
Bei einer Paketversion mit einer einzigen SBOM Datei können Sie diese SBOM Datei in Ihrem Amazon S3 S3-Bucket als ZIP-Archivdatei speichern.
Für eine Paketversion mit mehreren SBOM Dateien müssen Sie alle SBOM Dateien in einer einzigen Zip-Archivdatei platzieren und diese Zip-Archivdatei dann in Ihrem Amazon S3 S3-Bucket speichern.
Alle SBOM Dateien, die in beiden Szenarien in der einzelnen Zip-Archivdatei gespeichert sind, sind SPDX entweder als CyclonedX-.json-Dateien formatiert.
Richtlinie für Berechtigungen
Um als der angegebene Principal auf die im Amazon S3 S3-Bucket gespeicherten SBOM ZIP-Archivdateien zugreifen zu können, benötigen Sie eine ressourcenbasierte Berechtigungsrichtlinie. AWS IoT Im folgenden Beispiel finden Sie die richtige ressourcenbasierte Berechtigungsrichtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "iot.amazonaws.com" ] }, "Action": "s3:*", "Resource": "arn:aws:s3:::bucketName/*" } ] }
Weitere Informationen zu ressourcenbasierten Berechtigungsrichtlinien finden Sie unter Ressourcenbasierte AWS IoT -Richtlinien
Aktualisierung der SBOM
Sie können die Softwareliste so oft wie nötig aktualisieren, um Ihre Geräteflotte zu schützen und zu erweitern. Jedes Mal, wenn die Softwareliste in Ihrem Amazon S3 S3-Bucket aktualisiert wird, ändert sich die Versions-ID, der Softwarepaketkatalog wird über das Update informiert und Sie müssen den neuen Amazon S3 S3-Bucket URL der entsprechenden Paketversion zuordnen. Sie sehen die neue Versions-ID in der Spalte Amazon S3 S3-Objekt-Versions-ID auf der Paketversionsseite im AWS Management Console. Darüber hinaus können Sie den API Vorgang GetPackageVersion
oder den CLI Befehl verwendenget-package-version
, um die neue Versions-ID anzuzeigen.
Anmerkung
Wenn Sie Ihre Softwareliste aktualisieren, was zu einer neuen Versions-ID führt, wird keine neue Paketversion erstellt.
Weitere Informationen zu Amazon S3 S3-Objektschlüsseln finden Sie unter Objektschlüsselnamen erstellen.
Aktivierung der AWS IoT Flottenindizierung
Um die AWS IoT Flottenindizierung mit dem Softwarepaketkatalog zu nutzen, legen Sie den reservierten benannten Schatten ($package
) als Datenquelle für jedes Gerät fest, auf dem Sie indizieren und Metriken sammeln möchten. Weitere Informationen zu reservierten benannten Schatten finden Sie unterReservierter benannter Schatten.
Die Flottenindizierung bietet Unterstützung, sodass AWS IoT Dinge anhand dynamischer Dinggruppen gruppiert werden können, die nach der Version des Softwarepakets gefiltert werden. Mit der Flottenindizierung können beispielsweise Objekte identifiziert werden, für die eine bestimmte Paketversion installiert ist oder für die keine Paketversionen installiert sind oder die bestimmten Name-Wert-Paaren entsprechen. Schließlich bietet die Flottenindizierung standardmäßige und benutzerdefinierte Messwerte, anhand derer Sie sich einen Überblick über den Status Ihrer Geräteflotte verschaffen können. Weitere Informationen finden Sie unter Vorbereitung der Flottenindizierung.
Anmerkung
Die Aktivierung der Flottenindizierung für den Softwarepaket-Katalog verursacht Standard-Servicekosten. Weitere Informationen finden Sie unter AWS IoT Device Management-Preisgestaltung
Reservierter benannter Schatten
Der reservierte, benannte Schatten, $package
, gibt den Status der auf dem Gerät installierten Softwarepakete und Paketversionen wieder. Die Flottenindizierung verwendet den reservierten benannten Schatten als Datenquelle, um Standard- und benutzerdefinierte Messwerte zu erstellen, mit denen Sie den Status Ihrer Flotte abfragen können. Weitere Informationen finden Sie unter Vorbereitung der Flottenindizierung
Ein reservierter benannter Schatten ähnelt einem benannten Schatten mit der Ausnahme, dass sein Name vordefiniert ist und Sie ihn nicht ändern können. Darüber hinaus aktualisiert sich der reservierte benannte Schatten nicht mit Metadaten und verwendet nur die Schlüsselwörter version
und attributes
.
Bei Aktualisierungsanfragen, die andere Stichwörter enthalten, wie z. B. description
, wird unter dem rejected
Thema eine Fehlermeldung angezeigt. Weitere Informationen finden Sie unter Geräteschatten-Fehlermeldungen.
Es kann erstellt werden, wenn Sie AWS IoT etwas über die Konsole erstellen, wenn ein AWS IoT Job erfolgreich abgeschlossen und der Shadow aktualisiert wurde und wenn Sie den UpdateThingShadow
APIVorgang ausführen. Weitere Informationen finden Sie UpdateThingShadowim AWS IoT Core Entwicklerhandbuch.
Anmerkung
Die Indizierung des reservierten benannten Schattens wird nicht auf die Anzahl der benannten Schatten angerechnet, die von der Flottenindizierung indexiert werden können. Weitere Informationen finden Sie unter AWS IoT Device Management Flottenindizierungsgrenzen und -quoten. Wenn Sie außerdem festlegen, dass AWS IoT Jobs den reservierten Named Shadow aktualisieren, 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 Limits und Kontingente für AWS IoT Device Management Jobs und IndexingFilterAPIDatentyp.
Struktur des $package
Schattens
Der reservierte benannte Schatten enthält Folgendes:
{
"state": {
"reported": {
"<packageName>
": {
"version": "",
"attributes": {
}
}
}
},
"version" : 1
"timestamp" : 1672531201
}
Die Schatteneigenschaften werden mit den folgenden Informationen aktualisiert:
-
<packageName>
: Der Name des installierten Softwarepakets, das mit dem packageNameParameter aktualisiert wird. -
version
: Der Name der installierten Paketversion, die mit dem versionNameParameter aktualisiert wird. -
attributes
: Optionale Metadaten, die vom Gerät gespeichert und durch Flottenindizierung indexiert werden. Auf diese Weise können Kunden ihre Indizes auf der Grundlage der gespeicherten Daten abfragen. -
version
: Die Versionsnummer des Schattens. Sie wird jedes Mal, wenn der Schatten aktualisiert wird, automatisch erhöht und beginnt bei1
. -
timestamp
: Gibt an, wann der Schatten zuletzt aktualisiert wurde, und wird in Unix-Zeitaufgezeichnet.
Weitere Informationen zum Format und Verhalten eines benannten Schattens finden Sie unter AWS-IoT-Device-Shadow-Service Reihenfolge der Nachrichten.
Löschen eines Softwarepakets und seiner Paketversionen
Führen Sie vor dem Löschen eines Softwarepakets die folgenen Schritte aus:
Vergewissern Sie sich, dass das Paket und seine Versionen nicht aktiv bereitgestellt werden.
Löschen Sie zuerst alle zugehörigen Versionen. Wenn eine der Versionen als Standardversion gekennzeichnet ist, müssen Sie die benannte Standardversion aus dem Paket entfernen. Da die Angabe einer Standardversion optional ist, besteht kein Konflikt darin, sie zu entfernen. Um die Standardversion aus dem Softwarepaket zu entfernen, bearbeiten Sie das Paket über die Konsole oder verwenden Sie den UpdatePackageVersionAPIVorgang.
Solange es keine benannte Standardpaketversion gibt, können Sie die Konsole verwenden, um ein Softwarepaket zu löschen. Alle zugehörigen Paketversionen werden ebenfalls gelöscht. Wenn Sie einen API Aufruf zum Löschen von Softwarepaketen verwenden, müssen Sie zuerst die Paketversionen und dann das Softwarepaket löschen.