Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Perlindungan Integritas Data untuk Amazon S3
catatan
Untuk bantuan dalam memahami tata letak halaman pengaturan, atau dalam menafsirkan tabel Support by AWS SDK dan tools berikut, lihat. Memahami halaman pengaturan panduan ini
Untuk beberapa waktu, AWS SDK telah mendukung pemeriksaan integritas data saat mengunggah data ke atau mengunduh data dari Amazon Simple Storage Service. Sebelumnya, pemeriksaan ini adalah opt-in. Sekarang, kami telah mengaktifkan pemeriksaan ini secara default, menggunakan CRC-based algoritma seperti CRC32 atau CRC64NVME. Meskipun setiap SDK atau alat memiliki algoritma default, Anda dapat memilih algoritma yang berbeda. Anda juga dapat terus menyediakan checksum yang telah dihitung sebelumnya secara manual untuk diunggah jika Anda mau. Perilaku konsisten di seluruh unggahan, unggahan multibagian, unduhan, dan mode enkripsi menyederhanakan pemeriksaan integritas sisi klien.
Versi terbaru AWS SDK kami dan AWS CLI secara otomatis menghitung checksum berbasis pemeriksaan redundansi siklik (CRC)
Untuk mempelajari lebih lanjut tentang operasi checksum, unggahan multibagian, atau daftar algoritme checksum yang didukung, lihat Memeriksa integritas objek di Amazon S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
Unggahan multipart:
Amazon S3 juga memberi pengembang checksum objek lengkap yang konsisten di seluruh unggahan satu bagian dan multibagian.
Saat mengunggah file di beberapa bagian, SDK menghitung checksum untuk setiap bagian. Amazon S3 menggunakan checksum ini untuk memverifikasi integritas setiap bagian melalui API. UploadPart Selain itu, Amazon S3 memvalidasi seluruh ukuran file dan checksum saat Anda memanggil API. CompleteMultipartUpload
Jika SDK Anda memiliki Manajer Transfer Amazon S3 untuk membantu unggahan multibagian, checksum akan divalidasi untuk bagian menggunakan SDK-specific algoritme default yang ditemukan dalam tabel. Support oleh AWS SDK dan alat Anda dapat ikut serta ke checksum objek lengkap dengan mengatur pengaturan checksum_type ke FULL_OBJECT atau dengan memilih untuk menggunakan algoritma CRC64NVME.
Jika Anda menggunakan SDK versi lama atau AWS CLI:
Jika aplikasi Anda menggunakan versi SDK atau alat sebelum Desember 2024, Amazon S3 masih menghitung checksum CRC64NVME pada objek baru dan menyimpannya di metadata objek untuk referensi future. Anda kemudian dapat membandingkan CRC yang disimpan dengan CRC yang dihitung di sisi Anda dan memverifikasi transmisi jaringan sudah benar. Selain itu, Anda masih dapat memperluas perlindungan integritas secara manual dengan menyediakan checksum yang telah dihitung sebelumnya dengan UploadPartpermintaan PutObjectatau Anda, yang merupakan teknik standar untuk menangani ini dalam versi yang lebih lama.
Konfigurasikan fungsi ini dengan menggunakan yang berikut:
request_checksum_calculation- Pengaturan AWSconfigfile bersamaAWS_REQUEST_CHECKSUM_CALCULATION- variabel lingkunganaws.requestChecksumCalculation- Properti sistem JVM: hanya Java/Kotlin-
Secara default, pengguna memilih untuk menghitung checksum permintaan saat mengirim permintaan. Pengguna dapat memilih salah satu algoritma checksum yang tersedia sebagai bagian dari membangun permintaan. Jika tidak, algoritma SDK-specific default digunakan. Lihat Support oleh AWS SDK dan alat tabel untuk algoritma default untuk setiap SDK atau alat.
Nilai default:
WHEN_SUPPORTEDNilai yang valid:
-
WHEN_SUPPORTED— Validasi Checksum dilakukan pada semua muatan permintaan saat didukung oleh operasi API, seperti transfer data ke Amazon S3. -
WHEN_REQUIRED— Validasi Checksum dilakukan hanya bila diperlukan oleh operasi API.
-
response_checksum_validation- Pengaturan AWSconfigfile bersamaAWS_RESPONSE_CHECKSUM_VALIDATION- variabel lingkunganaws.responseChecksumValidation- Properti sistem JVM: hanya Java/Kotlin-
Secara default, pengguna ikut serta dalam validasi checksum respons saat mengirim permintaan. Checksum dihitung untuk muatan respons dan dibandingkan dengan header respons checksum. Jika validasi checksum gagal, kesalahan akan muncul ke pengguna saat payload dibaca.
Header respons checksum juga menunjukkan algoritma untuk checksum. Klien Amazon S3 mencoba memvalidasi checksum respons untuk semua operasi API Amazon S3 yang mendukung checksum. Namun, jika SDK belum menerapkan algoritma checksum yang ditentukan maka validasi ini dilewati.
Nilai default:
WHEN_SUPPORTEDNilai yang valid:
-
WHEN_SUPPORTED— Validasi checksum dilakukan pada semua muatan respons saat didukung oleh operasi API, seperti transfer data ke Amazon S3. -
WHEN_REQUIRED— Validasi Checksum dilakukan hanya ketika didukung oleh operasi API dan pemanggil telah secara eksplisit mengaktifkan checksum untuk operasi. Misalnya, ketikaGetObjectAPI Amazon S3 dipanggil danChecksumModeparameter disetel ke diaktifkan.
-
Support oleh AWS SDK dan alat
SDK berikut mendukung fitur dan pengaturan yang dijelaskan dalam topik ini. Setiap pengecualian sebagian dicatat. Setiap pengaturan properti sistem JVM didukung oleh AWS SDK untuk Java dan satu-satunya. AWS SDK for Kotlin
catatan
Dalam tabel berikut, 'CRT' mengacu pada AWS Pustaka Runtime Umum (CRT) dan mungkin perlu menambahkan ketergantungan tambahan ke proyek Anda.
| SDK | Didukung | Algoritma checksum default | Algoritma checksum yang didukung | Catatan atau informasi lebih lanjut |
|---|---|---|---|---|
| AWS CLI v2 | Ya | CRC64NVME | CRC64NVME, CRC32, CRC32C, SHA1, SHA256, xxHash3, xxHash64, xxHash128, SHA512 | Untuk AWS CLI v1, algoritma default dan algoritma yang didukung akan identik dengan Python (Boto3). |
| SDK for C++ | Ya | CRC64NVME | CRC64NVME, CRC32, CRC32C, SHA1, SHA256, xxHash3, xxHash64, xxHash128, SHA512 | |
| SDK for Go V2 (1.x) | Ya | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | |
| SDK for Go 1.x (V1) | Tidak | |||
| SDK for Java 2.x | Ya | CRC32 | CRC32, CRC32C, SHA1, SHA256 Hanya melalui CRT: CRC64NVME, xxHash3, xxHash64, xxHash128, SHA512 |
|
| SDK for Java 1.x | Tidak | |||
| SDK untuk 3.x JavaScript | Ya | CRC32 | CRC32, CRC32C, SHA1, SHA256 | |
| SDK untuk 2.x JavaScript | Tidak | |||
| SDK para Kotlin | Ya | CRC32 | CRC32, CRC32C, SHA1, SHA256 | |
| SDK for .NET 4.x | Ya | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 | |
| SDK for .NET 3.x | Ya | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 | |
| SDK for PHP 3.x | Ya | CRC32 | CRC32, SHA1, SHA256 Hanya melalui CRT: CRC32C |
awscrtekstensi diperlukan untuk menggunakan CRC32C. |
| SDK untuk Python (Boto3) | Ya | CRC32 |
CRC32, SHA1, SHA256 Hanya melalui CRT: CRC32C, CRC64NVME, xxHash3, XxHash64, xxHash128, SHA512 |
|
| SDK for Ruby 3.x | Ya | CRC32 | CRC32, SHA1, SHA256 Hanya melalui CRT: CRC64NVME, CRC32C |
|
| SDK untuk Rust | Ya | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | |
| SDK para Swift | Ya | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | Ketergantungan CRT diperlukan untuk semua algoritma. |
| Alat untuk PowerShell V5 | Ya | CRC32 | CRC32, CRC32C, SHA1, SHA256, XxHash3, SHA512 | |
| Alat untuk PowerShell V4 | Ya | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 |