Memeriksa integritas objek untuk data saat istirahat di Amazon S3 - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memeriksa integritas objek untuk data saat istirahat di Amazon S3

Jika Anda perlu memverifikasi konten kumpulan data yang disimpan di Amazon S3, operasi checksum Komputasi Operasi Batch S3 menghitung checksum objek atau komposit lengkap untuk objek yang diam. Operasi checksum Compute menggunakan Operasi Batch untuk menghitung nilai checksum secara asinkron untuk sekelompok objek dan secara otomatis menghasilkan laporan integritas terkonsolidasi, tanpa membuat salinan baru data Anda, atau memulihkan atau mengunduh data apa pun.

Dengan operasi checksum Compute, Anda dapat memverifikasi miliaran objek secara efisien dengan satu permintaan pekerjaan. Untuk setiap permintaan pekerjaan checksum Compute, S3 menghitung nilai checksum, dan menyertakannya dalam laporan integritas yang dibuat secara otomatis (juga dikenal sebagai laporan penyelesaian). Anda kemudian dapat menggunakan laporan penyelesaian untuk memvalidasi integritas kumpulan data Anda.

Operasi checksum Compute bekerja dengan objek apa pun yang disimpan di S3, terlepas dari kelas penyimpanan atau ukuran objek. Baik Anda perlu memverifikasi objek sebagai praktik terbaik pelestarian data, atau memenuhi persyaratan kepatuhan, operasi checksum Compute mengurangi biaya, waktu, dan upaya yang diperlukan untuk validasi data dengan melakukan perhitungan checksum saat istirahat. Untuk informasi tentang harga Checksum Compute, lihat harga Amazon S3.

Kemudian, Anda dapat menggunakan output dari laporan penyelesaian yang dihasilkan untuk membandingkan dengan nilai checksum yang telah Anda simpan di database Anda untuk memverifikasi bahwa kumpulan data Anda tetap utuh dari waktu ke waktu. Pendekatan ini membantu Anda menjaga integritas end-to-end data untuk kebutuhan bisnis dan kepatuhan. Misalnya, Anda dapat menggunakan operasi checksum Compute untuk mengirimkan daftar objek yang disimpan di kelas penyimpanan S3 Glacier untuk audit keamanan tahunan. Selain itu, berbagai algoritma checksum yang didukung memungkinkan Anda untuk mempertahankan kontinuitas dengan algoritma yang digunakan dalam aplikasi Anda.

Menggunakan algoritma checksum yang didukung

Untuk data saat istirahat, Anda dapat menghitung objek lengkap dan jenis checksum komposit di Amazon S3, menggunakan salah satu algoritma checksum yang didukung:

  • CRC-64/NVME () CRC64NVME

  • CRC-32 () CRC32

  • CRC-32C () CRC32C

  • SHA-1 () SHA1

  • SHA-256 () SHA256

  • MD5 (MD5)

Objek lengkap dan jenis checksum komposit

Amazon S3 mendukung objek lengkap berikut dan jenis algoritma checksum komposit:

  • CRC-64/NVME (CRC64NVME): Mendukung jenis checksum objek penuh saja.

  • CRC-32 (CRC32): Mendukung objek penuh dan jenis checksum komposit.

  • CRC-32C (CRC32C): Mendukung objek penuh dan jenis checksum komposit.

  • SHA-1 (SHA1): Mendukung objek penuh dan jenis checksum komposit.

  • SHA-256 (SHA256): Mendukung objek penuh dan jenis checksum komposit.

  • MD5 (MD5): Mendukung objek penuh dan jenis checksum komposit.

Menggunakan checksum Compute

Untuk objek yang disimpan di Amazon S3, Anda dapat menggunakan operasi checksum Compute dengan Operasi Batch S3 untuk memeriksa konten data yang disimpan saat istirahat. Anda dapat membuat tugas Operasi Compute checksum Batch menggunakan konsol Amazon S3, AWS Command Line Interface (AWS CLI), REST API, atau AWS SDK. Saat pekerjaan checksum Compute selesai, Anda akan menerima laporan penyelesaian. Untuk informasi selengkapnya tentang cara menggunakan laporan penyelesaian, lihat Melacak status pekerjaan dan laporan penyelesaian.

Sebelum membuat tugas checksum Compute, Anda harus membuat peran AWS Identity and Access Management Operasi Batch S3 (IAM) untuk memberikan izin Amazon S3 untuk melakukan tindakan atas nama Anda. Anda harus memberikan izin untuk membaca file manifes dan menulis laporan penyelesaian ke bucket S3. Untuk informasi selengkapnya, lihat Hitung checksum.

Untuk menggunakan operasi checksum Compute
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di bilah navigasi di bagian atas halaman, pilih nama yang saat ini ditampilkan Wilayah AWS. Selanjutnya, pilih Wilayah tempat Anda ingin membuat pekerjaan Anda.

    catatan

    Untuk operasi penyalinan, Anda harus membuat pekerjaan di Wilayah yang sama dengan bucket tujuan. Untuk semua operasi lainnya, Anda harus membuat pekerjaan di Wilayah yang sama dengan objek dalam manifes.

  3. Pilih Operasi Batch di panel navigasi kiri konsol Amazon S3.

  4. Pilih Buat tugas.

  5. Lihat di Wilayah AWS mana Anda ingin membuat pekerjaan Anda.

    catatan

    Untuk operasi penyalinan, Anda harus membuat pekerjaan di Wilayah yang sama dengan bucket tujuan. Untuk semua operasi lainnya, Anda harus membuat pekerjaan di Wilayah yang sama dengan objek dalam manifes.

  6. Pada Format manifes, pilih jenis objek manifes yang akan digunakan.

    • Jika Anda memilih laporan inventaris S3 (manifest.json), masukkan jalur ke manifest.json objek, dan (opsional) ID versi objek Manifest jika Anda ingin menggunakan versi objek tertentu. Atau, Anda dapat memilih Browse S3 dan memilih file manifes JSON, yang secara otomatis mengisi semua entri bidang objek manifes.

    • Jika Anda memilih CSV, pilih Jenis lokasi manifes, Kemudian, masukkan jalur ke objek manifes berformat CSV atau pilih Browse S3 untuk memilih objek manifes. Objek manifes harus mengikuti format yang dijelaskan di konsol. Jika Anda ingin menggunakan versi tertentu dari objek manifes, maka Anda juga dapat menentukan ID versi objek.

    • Jika Anda memilih Buat manifes menggunakan konfigurasi Replikasi S3, daftar objek akan dihasilkan menggunakan konfigurasi replikasi dan secara opsional disimpan ke tujuan yang Anda pilih. Saat menggunakan konfigurasi replikasi untuk menghasilkan manifes, satu-satunya operasi yang akan tersedia adalah Replikasi.

  7. Pilih Berikutnya.

  8. Di bawah Operasi, pilih operasi checksum Compute untuk menghitung checksum pada semua objek yang tercantum dalam manifes. Pilih jenis Checksum dan fungsi Checksum untuk pekerjaan Anda. Lalu, pilih Selanjutnya.

  9. Isi informasi untuk Konfigurasi opsi tambahan, lalu pilih Berikutnya.

  10. Pada halaman Konfigurasi opsi tambahan, isi informasi untuk pekerjaan checksum Compute Anda.

    catatan

    Di bawah laporan Penyelesaian, pastikan untuk mengkonfirmasi pernyataan pengakuan. Pernyataan pengakuan ini mengonfirmasi bahwa Anda memahami bahwa laporan penyelesaian berisi nilai checksum, yang digunakan untuk memverifikasi integritas data yang disimpan di Amazon S3. Oleh karena itu, laporan penyelesaian harus dibagikan dengan hati-hati. Selain itu, perhatikan bahwa jika Anda membuat permintaan checksum Compute dan menentukan lokasi bucket pemilik akun eksternal untuk menyimpan laporan penyelesaian, pastikan untuk menentukan Akun AWS ID pemilik bucket eksternal.

  11. Pilih Berikutnya.

  12. Pada halaman Ulasan, tinjau dan konfirmasikan pengaturan Anda.

  13. (Opsional) Jika Anda perlu membuat perubahan, pilih Sebelumnya untuk kembali ke halaman sebelumnya, atau pilih Edit untuk memperbarui langkah tertentu.

  14. Setelah mengonfirmasi perubahan, pilih Buat pekerjaan.

Untuk membuat daftar dan memantau kemajuan semua permintaan checksum Compute
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi kiri, pilih Operasi Batch.

  3. Pada halaman Operasi Batch, Anda dapat meninjau detail pekerjaan seperti prioritas pekerjaan, tingkat penyelesaian pekerjaan, dan total objek.

  4. Jika Anda ingin mengelola atau mengkloning pekerjaan checksum Compute tertentu, klik ID Job untuk meninjau informasi pekerjaan tambahan.

  5. Pada halaman pekerjaan Compute checksum tertentu, tinjau detail pekerjaan.

Setiap pekerjaan operasi batch berlangsung melalui status pekerjaan yang berbeda. Anda juga dapat mengaktifkan AWS CloudTrail acara di konsol S3 untuk menerima peringatan tentang perubahan status pekerjaan apa pun. Untuk pekerjaan aktif, Anda dapat meninjau pekerjaan yang sedang berjalan dan tingkat penyelesaian di halaman Detail pekerjaan.

Java
contoh Contoh: Membuat pekerjaan checksum Compute

Contoh berikut menunjukkan cara membuat pekerjaan checksum Compute (sebagai bagian dari permintaan Create job), dan cara menentukan manifes:

// Required parameters String accountId = "111122223333"; String roleArn = "arn:aws:iam::111122223333:role/BatchOperations"; String manifestArn = "arn:aws:s3:::my_manifests/manifest.csv"; String manifestEtag = "60e460c9d1046e73f7dde5043ac3ae85"; String reportBucketArn = "arn:aws:s3:::amzn-s3-demo-completion-report-bucket"; String reportExpectedBucketOwner = "111122223333"; String reportPrefix = "demo-report"; // Job Operation S3ComputeObjectChecksumOperation s3ComputeObjectChecksum = S3ComputeObjectChecksumOperation.builder() .checksumAlgorithm(ComputeObjectChecksumAlgorithm.CRC64) .checksumType(ComputeObjectChecksumType.COMPOSITE) .build(); JobOperation operation = JobOperation.builder() .s3ComputeObjectChecksum(s3ComputeObjectChecksum) .build(); // Job Manifest JobManifestLocation location = JobManifestLocation.builder() .eTag(manifestEtag) .objectArn(manifestArn) .build(); JobManifestSpec spec = JobManifestSpec.builder() .format(JobManifestFormat.S3_BATCH_OPERATIONS_CSV_20180820) .fields(Arrays.asList(JobManifestFieldName.BUCKET, JobManifestFieldName.KEY)) .build(); JobManifest manifest = JobManifest.builder() .location(location) .spec(spec) .build(); // Completion Report JobReport report = JobReport.builder() .bucket(reportBucketArn) .enabled(true) // Must be true .expectedBucketOwner(reportExpectedBucketOwner) .format(JobReportFormat.REPORT_CSV_20180820) .prefix(reportPrefix) .reportScope(JobReportScope.ALL_TASKS) .build(); // Create Job Request CreateJobRequest request = CreateJobRequest.builder() .accountId(accountId) .confirmationRequired(false) .manifest(manifest) .operation(operation) .priority(10) .report(report) .roleArn(roleArn); // Create the client S3ControlClient client = S3ControlClient.builder() .credentialsProvider(new ProfileCredentialsProvider()) .region(Region.US_EAST_1) .build(); // Send the request try { CreateJobResponse response = client.createJob(request); System.out.println(response); } catch (AwsServiceException e) { System.out.println("AwsServiceException: " + e.getMessage()); throw new RuntimeException(e); } catch (SdkClientException e) { System.out.println("SdkClientException: " + e.getMessage()); throw new RuntimeException(e); }
contoh Contoh: Melihat detail pekerjaan Compute checksum

Contoh berikut menunjukkan bagaimana Anda dapat menentukan ID pekerjaan untuk melihat detail pekerjaan (seperti tingkat penyelesaian pekerjaan) untuk permintaan pekerjaan checksum Compute:

DescribeJobRequest request = DescribeJobRequest.builder() .accountId("1234567890") .jobId("a16217a1-e082-48e5-b04f-31fac3a66b13") .build();

Anda dapat menggunakan create-jobperintah untuk membuat pekerjaan operasi batch baru, dan untuk memberikan daftar objek. Kemudian, tentukan algoritma checksum dan jenis checksum, dan bucket tujuan tempat Anda ingin menyimpan laporan checksum Compute. Contoh berikut membuat pekerjaan checksum Komputasi Operasi Batch S3 dengan menggunakan manifes yang dihasilkan S3 untuk. Akun AWS 111122223333

Untuk menggunakan perintah ini, ganti user input placeholders dengan informasi Anda sendiri:

aws s3control create-job \ --account-id 111122223333 \ --manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},"Location":{"ObjectArn":"arn:aws:s3:::my-manifest-bucket/manifest.csv","ETag":"e0e8bfc50e0f0c5d5a1a5f0e0e8bfc50"}}' \ --manifest-generator '{ "S3JobManifestGenerator": { "ExpectedBucketOwner": "111122223333", "SourceBucket": "arn:aws:s3:::amzn-s3-demo-source-bucket", "EnableManifestOutput": true, "ManifestOutputLocation": { "ExpectedManifestBucketOwner": "111122223333", "Bucket": "arn:aws:s3:::amzn-s3-demo-manifest-bucket", "ManifestPrefix": "prefix", "ManifestFormat": "S3InventoryReport_CSV_20211130" }, "Filter": { "CreatedAfter": "2023-09-01", "CreatedBefore": "2023-10-01", "KeyNameConstraint": { "MatchAnyPrefix": [ "prefix" ], "MatchAnySuffix": [ "suffix" ] }, "ObjectSizeGreaterThanBytes": 100, "ObjectSizeLessThanBytes": 200, "MatchAnyStorageClass": [ "STANDARD", "STANDARD_IA" ] } } }' \ --operation '{"S3ComputeObjectChecksum":{"ChecksumAlgorithm":"CRC64NVME","ChecksumType":"FULL_OBJECT"}}' \ --report '{"Bucket":"arn:aws:s3:::my-report-bucket","Format":"Report_CSV_20180820","Enabled":true,"Prefix":"batch-op-reports/","ReportScope":"AllTasks","ExpectedBucketOwner":"111122223333"}' \ --priority 10 \ --role-arn arn:aws:iam::123456789012:role/S3BatchJobRole \ --client-request-token 6e023a7e-4820-4654-8c81-7247361aeb73 \ --description "Compute object checksums" \ --region us-west-2

Setelah mengirimkan tugas checksum Compute, Anda menerima ID pekerjaan sebagai respons dan akan muncul di halaman daftar Operasi Batch S3. Amazon S3 memproses daftar objek dan menghitung checksum untuk setiap objek. Setelah pekerjaan selesai, S3 menyediakan laporan checksum Compute konsolidasi di tujuan yang ditentukan.

Untuk memantau kemajuan pekerjaan checksum Compute Anda, gunakan perintah. describe-job Perintah ini memeriksa status pekerjaan operasi batch yang ditentukan. Untuk menggunakan perintah ini, ganti user input placeholders dengan informasi Anda sendiri.

Misalnya:

aws s3control describe-job --account-id 111122223333 --job-id 1234567890abcdef0

Untuk mendapatkan daftar semua pekerjaan operasi batch Aktif dan Lengkap, lihat Daftar pekerjaan atau daftar pekerjaan di Referensi AWS CLI Perintah.

Anda dapat mengirim permintaan REST untuk memverifikasi integritas objek dengan checksum Compute menggunakan. CreateJob Anda dapat memantau kemajuan permintaan checksum Compute dengan mengirimkan permintaan REST ke operasi DescribeJobAPI. Setiap pekerjaan operasi batch berlangsung melalui status berikut:

  • BARU

  • MEMPERSIAPKAN

  • SIAP

  • AKTIF

  • BERHENTI

  • DIJEDA

  • LENGKAP

  • MEMBATALKAN

  • GAGAL

Respons API memberi tahu Anda tentang status pekerjaan saat ini.