Pertimbangan keamanan untuk Titik Akses S3 Lambda Objek - Amazon Simple Storage Service

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

Pertimbangan keamanan untuk Titik Akses S3 Lambda Objek

Dengan Amazon S3 Object Lambda, Anda dapat melakukan transformasi kustom pada data saat meninggalkan Amazon S3 dengan menggunakan skala dan fleksibilitas sebagai platform komputasi. AWS Lambda S3 dan Lambda tetap aman secara default, namun untuk menjaga keamanan ini, pertimbangan kustom oleh pembuat fungsi Lambda diperlukan. S3 Lambda Objek mengharuskan semua akses dilakukan oleh pengguna utama yang diautentikasi (tidak ada akses anonim) dan melalui HTTPS.

Untuk memitigasi risiko keamanan, kami merekomendasikan hal berikut:

  • Cakup peran eksekusi Lambda ke kumpulan izin sekecil mungkin.

  • Jika memungkinkan, pastikan fungsi Lambda Anda mengakses Amazon S3 melalui URL yang telah ditentukan sebelumnya.

Mengonfigurasi kebijakan IAM

Kebijakan sumber daya dukungan titik akses S3 AWS Identity and Access Management (IAM) yang memungkinkan Anda mengontrol penggunaan titik akses berdasarkan sumber daya, pengguna, atau kondisi lainnya. Untuk informasi selengkapnya, lihat Mengonfigurasi kebijakan IAM untuk Titik Akses Lambda Objek.

Perilaku enkripsi

Karena Titik Akses Objek Lambda menggunakan Amazon S3 AWS Lambda dan, ada perbedaan dalam perilaku enkripsi. Untuk informasi selengkapnya tentang enkripsi default S3, lihat Mengatur perilaku enkripsi di sisi server default untuk bucket Amazon S3.

  • Saat Anda menggunakan enkripsi di sisi server S3 dengan Titik Akses Lambda Object, objek didekripsi sebelum dikirimkan ke Lambda. Setelah objek dikirim ke Lambda, objek diproses secara tidak terenkripsi (dalam kasus permintaan GET atau HEAD).

  • Untuk mencegah kunci enkripsi dicatat, S3 menolak permintaan GET dan HEAD untuk objek yang dienkripsi menggunakan enkripsi di sisi server dengan kunci yang disediakan pelanggan (SSE-C). Namun, fungsi Lambda mungkin masih mengambil objek ini jika memiliki akses ke kunci klien yang disediakan.

  • Saat menggunakan enkripsi di sisi klien S3 dengan Titik Akses Lambda Objeks, pastikan Lambda memiliki akses ke kunci enkripsi sehingga dapat mendekripsi dan mengenkripsi kembali objek.

Keamanan titik akses

S3 Lambda Objek menggunakan dua titik akses, Titik Akses Lambda Objek dan titik akses S3 standar, yang disebut sebagai titik akses pendukung. Saat Anda membuat permintaan ke Titik Akses Lambda Objek, S3 akan memanggil Lambda atas nama Anda, atau mendelegasikan permintaan tersebut ke titik akses pendukung, bergantung pada konfigurasi Lambda Objek S3. Ketika Lambda dipanggil untuk permintaan, S3 menghasilkan URL yang telah ditandatangani sebelumnya ke objek Anda atas nama Anda melalui titik akses pendukung. Fungsi Lambda Anda menerima URL ini sebagai input saat fungsi tersebut dipanggil.

Anda dapat mengatur fungsi Lambda Anda untuk menggunakan URL presigned ini untuk mengambil objek asli, alih-alih memanggil S3 secara langsung. Dengan menggunakan model ini, Anda dapat menerapkan batas keamanan yang lebih baik ke objek Anda. Anda dapat membatasi akses objek langsung melalui bucket S3 atau titik akses S3 ke serangkaian peran IAM atau pengguna terbatas. Pendekatan ini juga melindungi fungsi Lambda Anda agar tidak terkena masalah confused deputy, di mana fungsi yang salah dikonfigurasi dengan izin berbeda dari pemanggil dapat mengizinkan atau menolak akses ke objek, padahal seharusnya tidak demikian.

Akses publik Titik Akses Lambda Objek

S3 Lambda Objek tidak mengizinkan akses anonim atau publik karena Amazon S3 harus mengotorisasi identitas Anda untuk menyelesaikan permintaan S3 Lambda Objek. Saat memanggil permintaan melalui Titik Akses Lambda Objek, Anda harus memiliki izin untuk fungsi Lambda lambda:InvokeFunction yang dikonfigurasi. Demikian pula, saat menjalankan operasi API lainnya melalui Titik Akses Lambda Objek, Anda harus memiliki izin s3:* yang diperlukan.

Tanpa izin ini, permintaan untuk menginvokasi Lambda atau mendelegasikan ke S3 akan gagal dengan kesalahan HTTP 403 (Forbidden). Semua akses harus dilakukan oleh pengguna utama yang diautentikasi. Jika Anda memerlukan akses publik, Anda dapat menggunakan Lambda @Edge sebagai alternatif yang memungkinkan. Untuk informasi selengkapnya, lihat Menyesuaikan di tepi dengan Lambda @Edge di Panduan Pengembang CloudFront Amazon.

Alamat IP Titik Akses Lambda Objek

Subnet describe-managed-prefix-lists mendukung titik akhir gateway cloud privat virtual (VPC), dan terkait dengan tabel perutean titik akhir VPC. Karena Titik Akses Objek Lambda tidak mendukung VPC gateway, rentang IP-nya hilang. Rentang yang hilang adalah milik Amazon S3, namun tidak didukung oleh titik akhir VPC gateway. Untuk informasi selengkapnyadescribe-managed-prefix-lists, lihat DescribeManagedPrefixListsdi Referensi API Amazon EC2 dan rentang alamat AWS IP di. Referensi Umum AWS

Dukungan CORS Titik Akses Lambda Objek

Ketika S3 Lambda Objek menerima permintaan dari browser atau permintaannya menyertakan header Origin, S3 Lambda Objek selalu menambahkan bidang header “AllowedOrigins":"*".

Untuk informasi selengkapnya, lihat Berbagi sumber daya lintas asal (CORS).