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 SDKs and tools berikut, lihatMemahami halaman pengaturan panduan ini.
Untuk beberapa waktu, AWS SDKs 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 algoritma berbasis CRC seperti CRC32 atau NVME. CRC64 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 dari kami AWS SDKs 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, SDKs 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 komponen menggunakan algoritme default khusus SDK yang ditemukan dalam tabel. Support oleh AWS SDKs dan alat Anda dapat ikut serta ke checksum objek lengkap dengan mengatur pengaturan checksum_type
ke FULL_OBJECT
atau dengan memilih untuk menggunakan algoritma CRC64 NVME.
Jika Anda menggunakan versi SDK yang lebih lama atau AWS CLI:
Jika aplikasi Anda menggunakan versi SDK atau alat sebelum Desember 2024, Amazon S3 masih menghitung CRC64 checksum NVME pada objek baru dan menyimpannya di metadata objek untuk referensi future. Anda nantinya 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 UploadPart
permintaan PutObject
atau Anda, yang merupakan teknik standar untuk menangani ini dalam versi yang lebih lama.
Konfigurasikan fungsi ini dengan menggunakan yang berikut:
request_checksum_calculation
- Pengaturan AWSconfig
file 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 default khusus SDK digunakan. Lihat Support oleh AWS SDKs dan alat tabel untuk algoritme default untuk setiap SDK atau alat.
Nilai default:
WHEN_SUPPORTED
Nilai 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 bila diperlukan oleh operasi API.
-
response_checksum_validation
- Pengaturan AWSconfig
file 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_SUPPORTED
Nilai 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, ketikaGetObject
API Amazon S3 dipanggil danChecksumMode
parameter disetel ke diaktifkan.
-
Support oleh AWS SDKs dan alat
Berikut ini SDKs 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 C CRC32,, SHA1 SHA256 | Untuk AWS CLI v1, algoritma default dan algoritma yang didukung akan identik dengan Python (Boto3). |
SDK for C++ | Ya | CRC64NVME | CRC64NVME,, CRC32 C CRC32,, SHA1 SHA256 | |
SDK for Go V2 (1.x) |
Ya | CRC32 | CRC64NVME,, CRC32 C CRC32,, SHA1 SHA256 | |
SDK for Go 1.x (V1) | Tidak | |||
SDK for Java 2.x | Ya | CRC32 | CRC64NVME (hanya melalui CRT),, C, CRC32, CRC32 SHA1 SHA256 | |
SDK for Java 1.x | Tidak | |||
SDK untuk 3.x JavaScript | Ya | CRC32 | CRC32, CRC32 C SHA1, SHA256 | |
SDK untuk 2.x JavaScript | Tidak | |||
SDK para Kotlin | Ya | CRC32 | CRC32, CRC32 C SHA1, SHA256 | |
SDK for .NET 3.x | Ya | CRC32 | CRC32, CRC32 C SHA1, SHA256 | |
SDK for PHP 3.x | Ya | CRC32 | CRC32, CRC32 C (hanya melalui CRT),, SHA1 SHA256 | awscrt ekstensi diperlukan untuk menggunakan CRC32 C. |
SDK untuk Python (Boto3) |
Ya | CRC32 | CRC64NVME (hanya melalui CRT), CRC32, CRC32 C (hanya melalui CRT),, SHA1 SHA256 | |
SDK for Ruby 3.x | Ya | CRC32 | CRC64NVME (hanya melalui CRT), CRC32, CRC32 C (hanya melalui CRT),, SHA1 SHA256 | |
SDK untuk Rust | Ya | CRC32 | CRC64NVME,, CRC32 C CRC32,, SHA1 SHA256 | |
SDK para Swift | Ya | CRC32 | CRC64NVME,, CRC32 C CRC32,, SHA1 SHA256 | Ketergantungan CRT diperlukan untuk semua algoritma. |
Alat untuk PowerShell | Ya | CRC32 | CRC32, CRC32 C SHA1, SHA256 |