Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Protections de l'intégrité des données pour Amazon S3
Note
Pour vous aider à comprendre la mise en page des pages de paramètres ou à interpréter le tableau Support par AWS les SDK et les outils qui suit, consultezComprendre les pages de paramètres de ce guide.
Depuis un certain temps, AWS les kits SDK prennent en charge les contrôles d'intégrité des données lors du chargement de données vers ou depuis Amazon Simple Storage Service. Auparavant, ces contrôles étaient optionnels. À présent, nous avons activé ces vérifications par défaut, à l'aide d' CRC-based algorithmes tels que CRC32 ou CRC64NVME. Bien que chaque SDK ou outil possède un algorithme par défaut, vous pouvez choisir un algorithme différent. Vous pouvez également continuer à fournir manuellement une somme de contrôle pré-calculée pour les téléchargements si vous le souhaitez. Un comportement cohérent entre les chargements, les chargements partitionnés, les téléchargements et les modes de cryptage simplifie les contrôles d'intégrité côté client.
Les dernières versions de nos AWS kits SDK calculent AWS CLI automatiquement une somme de contrôle basée sur le contrôle de redondance cyclique (CRC)
Pour en savoir plus sur les opérations de somme de contrôle, les chargements partitionnés ou la liste des algorithmes de somme de contrôle pris en charge, consultez la section Vérification de l'intégrité des objets dans Amazon S3 dans le guide de l'utilisateur d'Amazon Simple Storage Service.
Téléchargements en plusieurs parties :
Amazon S3 fournit également aux développeurs des sommes de contrôle complètes et cohérentes des objets lors des chargements partiels et partiels.
Lorsque vous chargez des fichiers en plusieurs parties, les SDK calculent des sommes de contrôle pour chaque partie. Amazon S3 utilise ces sommes de contrôle pour vérifier l'intégrité de chaque partie via l'UploadPartAPI. En outre, Amazon S3 valide la taille complète du fichier et la somme de contrôle lorsque vous appelez l'CompleteMultipartUploadAPI.
Si votre SDK dispose d'un gestionnaire de transfert Amazon S3 pour faciliter les chargements partitionnés, les sommes de contrôle sont validées pour les parties à l'aide de l'algorithme SDK-specific par défaut figurant dans le tableau. Soutenu par AWS Kits SDK et outils Vous pouvez opter pour une somme de contrôle complète de l'objet en réglant le paramètre sur FULL_OBJECT ou en choisissant checksum_type d'utiliser l'algorithme CRC64NVME.
Si vous utilisez une ancienne version du SDK ou AWS CLI si :
Si votre application utilise une version antérieure à décembre 2024 du SDK ou de l'outil, Amazon S3 calcule toujours une somme de contrôle CRC64NVME sur les nouveaux objets et la stocke dans les métadonnées de l'objet pour référence ultérieure. Vous pourrez ensuite comparer le CRC enregistré avec un CRC calculé de votre côté et vérifier que la transmission réseau était correcte. En outre, vous pouvez toujours étendre manuellement la protection de l'intégrité en fournissant vos propres sommes de contrôle précalculées avec vos UploadPart requêtes PutObject OR, ce qui est la technique standard pour résoudre ce problème dans les anciennes versions.
Configurez cette fonctionnalité à l'aide des méthodes suivantes :
request_checksum_calculation- réglage des AWSconfigfichiers partagésAWS_REQUEST_CHECKSUM_CALCULATION- variable d'environnementaws.requestChecksumCalculation- Propriété du système JVM : uniquement Java/Kotlin-
Par défaut, les utilisateurs sont autorisés à calculer la somme de contrôle d'une demande lors de l'envoi d'une demande. L'utilisateur peut choisir l'un des algorithmes de somme de contrôle disponibles dans le cadre de la création de la demande. Dans le cas contraire, un algorithme SDK-specific par défaut est utilisé. Consultez le Soutenu par AWS Kits SDK et outils tableau pour connaître l'algorithme par défaut pour chaque SDK ou outil.
Valeur par défaut :
WHEN_SUPPORTEDValeurs valides:
-
WHEN_SUPPORTED— La validation de la somme de contrôle est effectuée sur toutes les charges utiles des demandes lorsqu'elles sont prises en charge par le fonctionnement de l'API, comme les transferts de données vers Amazon S3. -
WHEN_REQUIRED— La validation de la somme de contrôle n'est effectuée que lorsque l'opération de l'API l'exige.
-
response_checksum_validation- réglage des AWSconfigfichiers partagésAWS_RESPONSE_CHECKSUM_VALIDATION- variable d'environnementaws.responseChecksumValidation- Propriété du système JVM : uniquement Java/Kotlin-
Par défaut, les utilisateurs sont invités à accepter la validation de la somme de contrôle des réponses lors de l'envoi d'une demande. Une somme de contrôle est calculée pour la charge utile de la réponse et comparée à l'en-tête de réponse de la somme de contrôle. Si la validation de la somme de contrôle échoue, une erreur est signalée à l'utilisateur lors de la lecture de la charge utile.
L'en-tête de réponse de la somme de contrôle indique également l'algorithme de la somme de contrôle. Le client Amazon S3 tente de valider les sommes de contrôle des réponses pour toutes les opérations d'API Amazon S3 qui prennent en charge les sommes de contrôle. Toutefois, si le SDK n'a pas implémenté l'algorithme de somme de contrôle spécifié, cette validation est ignorée.
Valeur par défaut :
WHEN_SUPPORTEDValeurs valides:
-
WHEN_SUPPORTED— La validation par somme de contrôle est effectuée sur toutes les charges utiles de réponse lorsqu'elles sont prises en charge par le fonctionnement de l'API, comme les transferts de données vers Amazon S3. -
WHEN_REQUIRED— La validation de la somme de contrôle n'est effectuée que lorsqu'elle est prise en charge par l'opération d'API et que l'appelant a explicitement activé la somme de contrôle pour l'opération. Par exemple, lorsque l'GetObjectAPI Amazon S3 est appelée et que leChecksumModeparamètre est défini sur Activé.
-
Soutenu par AWS Kits SDK et outils
Les kits SDK suivants prennent en charge les fonctionnalités et les paramètres décrits dans cette rubrique. Toutes les exceptions partielles sont notées. Tous les paramètres de propriété du système JVM sont pris en charge par le AWS SDK pour Java et le AWS SDK pour Kotlin seul.
Note
Dans le tableau suivant, « CRT » fait référence à AWS bibliothèques CRT (Common Runtime) et peut nécessiter l'ajout d'une dépendance supplémentaire à votre projet.
| Kit SDK | Pris en charge | Algorithme de somme de contrôle par défaut | Algorithmes de somme de contrôle compatibles | Remarques ou informations supplémentaires |
|---|---|---|---|---|
| AWS CLI v2 | Oui | CRC64NVME | CRC64NVME, CRC32, CRC32C, SHA1, SHA256, XXHash3, XXHash64, XXHash128, SHA512 | Pour la AWS CLI v1, l'algorithme par défaut et les algorithmes pris en charge seront identiques à ceux de Python (Boto3). |
| SDK pour C++ | Oui | CRC64NVME | CRC64NVME, CRC32, CRC32C, SHA1, SHA256, XXHash3, XXHash64, XXHash128, SHA512 | |
| SDK pour Go V2 (1.x) | Oui | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | |
| SDK pour Go 1.x (V1) | Non | |||
| SDK pour Java 2.x | Oui | CRC32 | CRC32, CRC32C, SHA1, SHA256 Via CRT uniquement : CRC64NVME, xxHash3, xxHash64, xxHash128, SHA512 |
|
| SDK pour Java 1.x | Non | |||
| SDK pour 3.x JavaScript | Oui | CRC32 | CRC32, CRC32C, SHA1, SHA256 | |
| SDK pour 2.x JavaScript | Non | |||
| SDK pour Kotlin | Oui | CRC32 | CRC32, CRC32C, SHA1, SHA256 | |
| SDK pour .NET 4.x | Oui | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 | |
| SDK pour .NET 3.x | Oui | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 | |
| SDK pour PHP 3.x | Oui | CRC32 | CRC32, SHA1, SHA256 Via CRT uniquement : CRC32C |
awscrtl'extension est requise pour utiliser CRC32C. |
| SDK pour Python (Boto3) | Oui | CRC32 |
CRC32, SHA1, SHA256 Via CRT uniquement : CRC32C, CRC64NVME, xxHash3, xxHash64, xxHash128, SHA512 |
|
| SDK pour Ruby 3.x | Oui | CRC32 | CRC32, SHA1, SHA256 Via CRT uniquement : CRC64NVME, CRC32C |
|
| SDK pour Rust | Oui | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | |
| SDK pour Swift | Oui | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | Dépendance CRT requise pour tous les algorithmes. |
| Outils pour PowerShell V5 | Oui | CRC32 | CRC32, CRC32C, SHA1, SHA256, XXHash3, SHA512 | |
| Outils pour PowerShell V4 | Oui | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 |