Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengunggah data terenkripsi ke Amazon S3
Amazon S3 mendukung enkripsi sisi server dan enkripsi sisi klien. Topik ini membahas perbedaan antara enkripsi sisi server dan sisi klien dan menjelaskan langkah-langkah untuk menggunakan enkripsi sisi klien dengan Amazon Redshift. Server-sideenkripsi transparan untuk Amazon Redshift.
Server-side enkripsi
Server-side enkripsi adalah enkripsi data yang diam—yaitu, Amazon S3 mengenkripsi data Anda saat mengunggahnya dan mendekripsi untuk Anda saat Anda mengaksesnya. Saat memuat tabel menggunakan perintah COPY, tidak ada perbedaan dalam cara Anda memuat dari objek terenkripsi atau tidak terenkripsi sisi server di Amazon S3. Untuk informasi selengkapnya tentang enkripsi sisi server, lihat Menggunakan Server-Side Enkripsi di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
Client-side enkripsi
Dalam enkripsi sisi klien, aplikasi klien Anda mengelola enkripsi data Anda, kunci enkripsi, dan alat terkait. Anda dapat mengunggah data ke bucket Amazon S3 menggunakan enkripsi sisi klien, lalu memuat data menggunakan perintah SALIN dengan opsi ENCRYPTED dan kunci enkripsi pribadi untuk memberikan keamanan yang lebih baik.
Anda mengenkripsi data Anda menggunakan enkripsi amplop. Dengan enkripsi amplop, aplikasi Anda menangani semua enkripsi secara eksklusif. Kunci enkripsi pribadi Anda dan data Anda yang tidak terenkripsi tidak pernah dikirim AWS, jadi sangat penting bagi Anda untuk mengelola kunci enkripsi Anda dengan aman. Jika Anda kehilangan kunci enkripsi, Anda tidak akan dapat membuka enkripsi data Anda, dan Anda tidak dapat memulihkan kunci enkripsi Anda. AWS Enkripsi amplop menggabungkan kinerja enkripsi simetris cepat sambil mempertahankan keamanan yang lebih besar yang disediakan oleh manajemen kunci dengan kunci asimetris. Kunci simetris sekali pakai (kunci simetris amplop) dihasilkan oleh klien enkripsi Amazon S3 Anda untuk mengenkripsi data Anda, kemudian kunci tersebut dienkripsi oleh kunci root Anda dan disimpan bersama data Anda di Amazon S3. Saat Amazon Redshift mengakses data Anda selama pemuatan, kunci simetris terenkripsi diambil dan didekripsi dengan kunci asli Anda, kemudian data didekripsi.
Untuk bekerja dengan data terenkripsi sisi klien Amazon S3 di Amazon Redshift, ikuti langkah-langkah yang diuraikan dalam Mel indungi Data Menggunakan Client-Side Enkripsi di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon, dengan persyaratan tambahan yang Anda gunakan:
-
Enkripsi simetris — AWS SDK untuk
AmazonS3EncryptionClientkelas Java menggunakan enkripsi amplop, dijelaskan sebelumnya, yang didasarkan pada enkripsi kunci simetris. Gunakan kelas ini untuk membuat klien Amazon S3 untuk mengunggah data terenkripsi sisi klien. -
Kunci simetris akar AES 256-bit — Kunci root mengenkripsi kunci amplop. Anda meneruskan kunci root ke instance
AmazonS3EncryptionClientkelas Anda. Simpan kunci ini, karena Anda akan membutuhkannya untuk menyalin data ke Amazon Redshift. -
Metadata objek untuk menyimpan kunci amplop terenkripsi — Secara default, Amazon S3 menyimpan kunci amplop sebagai metadata objek untuk
AmazonS3EncryptionClientkelas. Kunci amplop terenkripsi yang disimpan sebagai metadata objek digunakan selama proses dekripsi.
catatan
Jika Anda mendapatkan pesan kesalahan enkripsi cipher saat menggunakan API enkripsi untuk pertama kalinya, versi JDK Anda mungkin memiliki file kebijakan yurisdiksi Java Cryptography Extension (JCE) yang membatasi panjang kunci maksimum untuk transformasi enkripsi dan dekripsi hingga 128 bit. Untuk informasi tentang mengatasi masalah ini, buka Menentukan En Client-Side kripsi Menggunakan AWS SDK untuk Java di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
Untuk informasi tentang memuat file terenkripsi sisi klien ke tabel Amazon Redshift menggunakan perintah COPY, lihat. Memuat file data terenkripsi dari Amazon S3
Contoh: Mengunggah data terenkripsi sisi klien
Untuk contoh cara menggunakan AWS SDK untuk Java untuk mengunggah data terenkripsi sisi klien, buka Mel indungi data menggunakan enkripsi sisi klien di Panduan Pengguna Amazon Simple Storage Service.
Opsi kedua menunjukkan pilihan yang harus Anda buat selama enkripsi sisi klien sehingga data dapat dimuat di Amazon Redshift. Secara khusus, contoh menunjukkan penggunaan metadata objek untuk menyimpan kunci amplop terenkripsi dan penggunaan kunci simetris akar AES 256-bit.
Contoh ini memberikan contoh kode menggunakan AWS SDK untuk Java untuk membuat kunci akar simetris AES 256-bit dan menyimpannya ke file. Kemudian contoh mengunggah objek ke Amazon S3 menggunakan klien enkripsi S3 yang terlebih dahulu mengenkripsi data sampel di sisi klien. Contoh ini juga mengunduh objek dan memverifikasi bahwa datanya sama.