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 Object Lambda mengharuskan semua akses dibuat oleh prinsipal yang diautentikasi (tidak ada akses anonim) dan seterusnya. 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 presigned yang disediakan. URL

Mengkonfigurasi kebijakan IAM

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

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 GET dan HEAD meminta objek yang dienkripsi dengan menggunakan enkripsi sisi server dengan kunci yang disediakan pelanggan (-C). SSE 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 presigned URL ke objek Anda atas nama Anda melalui jalur akses pendukung. Fungsi Lambda Anda menerima ini URL sebagai input saat fungsi dipanggil.

Anda dapat mengatur fungsi Lambda Anda untuk menggunakan presigned ini URL 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 IAM peran 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 API operasi lain melalui Object Lambda Access Point, Anda harus memiliki izin yang s3:* diperlukan.

Tanpa izin ini, permintaan untuk memanggil Lambda atau mendelegasikan ke S3 akan gagal dengan HTTP kesalahan 403 (Terlarang). 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

describe-managed-prefix-listsSubnet mendukung titik akhir gateway virtual private cloud (VPC) dan terkait dengan tabel perutean titik akhir. VPC Karena Object Lambda Access Point tidak mendukung gateway rentang VPC IP-nya hilang. Rentang yang hilang milik Amazon S3, tetapi tidak didukung oleh titik akhir gatewayVPC. Untuk informasi selengkapnyadescribe-managed-prefix-lists, lihat DescribeManagedPrefixListsdi EC2APIReferensi Amazon dan rentang alamat AWS IP di Referensi Umum AWS.

Dukungan Objek Lambda Access Point CORS

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 Menggunakan berbagi sumber daya lintas asal () CORS.