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.
Schutz der Datenintegrität für Amazon S3
Anmerkung
Hilfe zum Verständnis des Layouts von Einstellungsseiten oder zur Interpretation der folgenden Tabelle „Unterstützung durch AWS SDKs und Tools“ finden Sie unter. Die Einstellungsseiten dieses Handbuchs verstehen
Seit einiger Zeit unterstützen AWS SDKs Datenintegritätsprüfungen beim Hoch- oder Herunterladen von Daten von Amazon Simple Storage Service. Bisher waren diese Prüfungen optional. Jetzt haben wir diese Prüfungen standardmäßig aktiviert und CRC-based Algorithmen wie CRC32 oder CRC64NVME verwendet. Obwohl jedes SDK oder Tool einen Standardalgorithmus hat, können Sie einen anderen Algorithmus wählen. Sie können auch weiterhin manuell eine vorberechnete Prüfsumme für Uploads angeben, wenn Sie möchten. Das konsistente Verhalten bei Uploads, mehrteiligen Uploads, Downloads und Verschlüsselungsmodi vereinfacht die clientseitigen Integritätsprüfungen.
Die neuesten Versionen unserer AWS SDKs berechnen AWS CLI automatisch eine auf der zyklischen Redundanzprüfung (CRC) basierende Prüfsumme
Weitere Informationen zu Prüfsummenoperationen, mehrteiligen Uploads oder der Liste der unterstützten Prüfsummenalgorithmen finden Sie unter Überprüfen der Objektintegrität in Amazon S3 im Amazon Simple Storage Service-Benutzerhandbuch.
Mehrteilige Uploads:
Amazon S3 bietet Entwicklern außerdem konsistente vollständige Objektprüfsummen für einteilige und mehrteilige Uploads.
Beim Hochladen von Dateien in mehreren Teilen berechnen die SDKs Prüfsummen für jeden Teil. Amazon S3 verwendet diese Prüfsummen, um die Integrität jedes Teils über die API zu überprüfen. UploadPart Darüber hinaus validiert Amazon S3 die Größe und Prüfsumme der gesamten Datei, wenn Sie die API aufrufen. CompleteMultipartUpload
Wenn Ihr SDK über einen Amazon S3 Transfer Manager verfügt, der Sie bei mehrteiligen Uploads unterstützt, werden die Prüfsummen für die Teile anhand des in der Tabelle SDK-specific angegebenen Standardalgorithmus validiert. Unterstützung von AWS SDKs und Tools Sie können sich für eine vollständige Objektprüfsumme entscheiden, indem Sie die Einstellung auf den CRC64NVME-Algorithmus setzen FULL_OBJECT oder checksum_type sich dafür entscheiden, ihn zu verwenden.
Wenn Sie eine ältere Version des SDK verwenden oder: AWS CLI
Wenn Ihre Anwendung eine Version des SDK oder Tools vor Dezember 2024 verwendet, berechnet Amazon S3 dennoch eine CRC64NVME-Prüfsumme für neue Objekte und speichert sie zur späteren Verwendung in den Objektmetadaten. Sie können den gespeicherten CRC später mit einem von Ihnen berechneten CRC vergleichen und überprüfen, ob die Netzwerkübertragung korrekt war. Sie können den Integritätsschutz auch weiterhin manuell erweitern, indem Sie Ihre eigenen vorberechneten Prüfsummen mit Ihren PutObject UploadPart OR-Anfragen angeben. Dies ist in älteren Versionen die Standardmethode, um dieses Problem zu lösen.
Konfigurieren Sie diese Funktion mithilfe der folgenden Optionen:
request_checksum_calculation- Einstellung für gemeinsam genutzte AWSconfigDateienAWS_REQUEST_CHECKSUM_CALCULATION- Umgebungsvariableaws.requestChecksumCalculation- JVM-Systemeigenschaft: nur Java/Kotlin-
Standardmäßig haben Benutzer die Möglichkeit, beim Senden einer Anfrage eine Anforderungsprüfsumme zu berechnen. Der Benutzer kann im Rahmen der Erstellung der Anfrage einen der verfügbaren Prüfsummenalgorithmen auswählen. Andernfalls wird ein SDK-specific Standardalgorithmus verwendet. In der Unterstützung von AWS SDKs und Tools Tabelle finden Sie den Standardalgorithmus für jedes SDK oder Tool.
Standardwert:
WHEN_SUPPORTEDZulässige Werte:
-
WHEN_SUPPORTED— Die Prüfsummenvalidierung wird für alle Anforderungsnutzlasten durchgeführt, sofern dies vom API-Vorgang unterstützt wird, z. B. bei Datenübertragungen an Amazon S3. -
WHEN_REQUIRED— Die Prüfsummenvalidierung wird nur durchgeführt, wenn dies für den API-Vorgang erforderlich ist.
-
response_checksum_validation— Einstellung für gemeinsam genutzte AWSconfigDateienAWS_RESPONSE_CHECKSUM_VALIDATION- Umgebungsvariableaws.responseChecksumValidation- JVM-Systemeigenschaft: nur Java/Kotlin-
Standardmäßig sind Benutzer beim Senden einer Anfrage für eine Überprüfung der Antwortprüfsumme aktiviert. Eine Prüfsumme wird für die Antwort-Nutzlast berechnet und mit dem Prüfsummen-Antwort-Header verglichen. Wenn die Prüfsummenvalidierung fehlschlägt, wird dem Benutzer beim Lesen der Nutzlast eine Fehlermeldung angezeigt.
Der Checksum-Antwort-Header gibt auch den Algorithmus für die Prüfsumme an. Der Amazon S3-Client versucht, die Antwortprüfsummen für alle Amazon S3-API-Operationen zu validieren, die Prüfsummen unterstützen. Wenn das SDK den angegebenen Prüfsummenalgorithmus jedoch nicht implementiert hat, wird diese Validierung übersprungen.
Standardwert:
WHEN_SUPPORTEDZulässige Werte:
-
WHEN_SUPPORTED— Die Prüfsummenvalidierung wird für alle Antwort-Payloads durchgeführt, sofern dies vom API-Vorgang unterstützt wird, z. B. bei Datenübertragungen an Amazon S3. -
WHEN_REQUIRED— Die Prüfsummenvalidierung wird nur durchgeführt, wenn dies von der API-Operation unterstützt wird und der Aufrufer die Prüfsumme für den Vorgang explizit aktiviert hat. Zum Beispiel, wenn die AmazonGetObjectS3-API aufgerufen wird und derChecksumModeParameter auf aktiviert gesetzt ist.
-
Unterstützung von AWS SDKs und Tools
Die folgenden SDKs unterstützen die in diesem Thema beschriebenen Funktionen und Einstellungen. Alle teilweisen Ausnahmen werden vermerkt. Alle JVM-Systemeigenschaftseinstellungen werden von AWS SDK für Java and the AWS SDK für Kotlin only unterstützt.
Anmerkung
In der folgenden Tabelle bezieht sich „CRT“ auf die AWS Common Runtime (CRT) -Bibliotheken und erfordert möglicherweise das Hinzufügen einer zusätzlichen Abhängigkeit zu Ihrem Projekt.
| SDK | Unterstützt | Standard-Prüfsummenalgorithmus | Unterstützte Prüfsummenalgorithmen | Hinweise oder weitere Informationen |
|---|---|---|---|---|
| AWS CLI v2 | Ja | CRC64NVME | CRC64NVME, CRC32, CRC32C, SHA1, SHA256, xxHASH3, xxHASH64, xxHASH128, SHA512 | Für AWS CLI Version 1 sind der Standardalgorithmus und die unterstützten Algorithmen identisch mit Python (Boto3). |
| SDK für C++ | Ja | CRC64NVME | CRC64NVME, CRC32, CRC32C, SHA1, SHA256, xxHASH3, xxHASH64, xxHASH128, SHA512 | |
| SDK für Go V2 (1.x) | Ja | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | |
| SDK für Go 1.x (V1) | Nein | |||
| SDK für Java 2.x | Ja | CRC32 | CRC32, CRC32C, SHA1, SHA256 Nur über CRT: CRC64NVME, xxHASH3, xxHASH64, xxHASH128, SHA512 |
|
| SDK für Java 1.x | Nein | |||
| SDK für 3.x JavaScript | Ja | CRC32 | CRC32, CRC32C, SHA1, SHA256 | |
| SDK JavaScript für 2.x | Nein | |||
| SDK für Kotlin | Ja | CRC32 | CRC32, CRC32C, SHA1, SHA256 | |
| SDK für.NET 4.x | Ja | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 | |
| SDK für.NET 3.x | Ja | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 | |
| SDK für PHP 3.x | Ja | CRC32 | CRC32, SHA1, SHA256 Nur über CRT: CRC32C |
awscrtFür die Verwendung von CRC32C ist eine Erweiterung erforderlich. |
| SDK für Python (Boto3) | Ja | CRC32 |
CRC32, SHA1, SHA256 Nur über CRT: CRC32C, CRC64NVME, xxHASH3, xxHASH64, xxHASH128, SHA512 |
|
| SDK für Ruby 3.x | Ja | CRC32 | CRC32, SHA1, SHA256 Nur über CRT: CRC64NVME, CRC32C |
|
| SDK für Rust | Ja | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | |
| SDK für Swift | Ja | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | Für alle Algorithmen ist eine CRT-Abhängigkeit erforderlich. |
| Tools für PowerShell V5 | Ja | CRC32 | CRC32, CRC32C, SHA1, SHA256, xxHASH3, SHA512 | |
| Werkzeuge PowerShell für V4 | Ja | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 |