Keamanan dan izin untuk fungsi Lambda yang tahan lama - AWS Lambda

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

Keamanan dan izin untuk fungsi Lambda yang tahan lama

Fungsi tahan lama Lambda memerlukan izin IAM khusus untuk mengelola operasi pos pemeriksaan. Ikuti prinsip hak istimewa paling sedikit dengan hanya memberikan izin yang dibutuhkan fungsi Anda.

Izin peran eksekusi

Peran eksekusi fungsi tahan lama Anda memerlukan izin untuk membuat pos pemeriksaan dan mengambil status eksekusi. Kebijakan berikut menunjukkan izin minimum yang diperlukan:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:CheckpointDurableExecution", "lambda:GetDurableExecutionState" ], "Resource": "arn:aws:lambda:region:account-id:function:function-name:*" } ] }

Saat Anda membuat fungsi tahan lama menggunakan konsol, Lambda secara otomatis menambahkan izin ini ke peran eksekusi. Jika Anda membuat fungsi menggunakan AWS CLI or AWS CloudFormation, tambahkan izin ini ke peran eksekusi Anda.

Prinsip hak istimewa paling sedikit

Cakupan Resource elemen ke fungsi tertentu ARNs alih-alih menggunakan wildcard. Ini membatasi peran eksekusi ke operasi pos pemeriksaan hanya untuk fungsi yang membutuhkannya.

Contoh: Izin tercakup untuk beberapa fungsi

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:CheckpointDurableExecution", "lambda:GetDurableExecutionState" ], "Resource": [ "arn:aws:lambda:us-east-1:123456789012:function:orderProcessor:*", "arn:aws:lambda:us-east-1:123456789012:function:paymentHandler:*" ] } ] }

Atau, Anda dapat menggunakan kebijakan AWS terkelola AWSLambdaBasicDurableExecutionRolePolicy yang menyertakan izin eksekusi tahan lama yang diperlukan bersama dengan izin eksekusi Lambda dasar untuk CloudWatch Log Amazon.

Enkripsi negara

Fungsi tahan lama Lambda secara otomatis mengaktifkan enkripsi saat istirahat menggunakan kunci AWS yang dimiliki tanpa biaya. Setiap eksekusi fungsi mempertahankan status terisolasi yang tidak dapat diakses oleh eksekusi lain. Kunci terkelola pelanggan (CMK) tidak didukung.

Data pos pemeriksaan meliputi:

  • Hasil langkah dan nilai kembalikan

  • Kemajuan eksekusi dan timeline

  • Tunggu informasi status

Semua data dienkripsi dalam perjalanan menggunakan TLS ketika Lambda membaca atau menulis data pos pemeriksaan.

Enkripsi khusus dengan serializer dan deserializer khusus

Untuk persyaratan keamanan kritis, Anda dapat menerapkan mekanisme enkripsi dan dekripsi Anda sendiri menggunakan serializer kustom dan deserializer () menggunakan SDK yang tahan lama. SerDer Pendekatan ini memberi Anda kontrol penuh atas kunci enkripsi dan algoritma yang digunakan untuk melindungi data pos pemeriksaan.

penting

Saat Anda menggunakan enkripsi khusus, Anda kehilangan visibilitas hasil operasi di konsol Lambda dan respons API. Data pos pemeriksaan muncul dienkripsi dalam riwayat eksekusi dan tidak dapat diperiksa tanpa dekripsi.

Peran eksekusi fungsi Anda membutuhkan kms:Encrypt dan kms:Decrypt izin untuk AWS KMS kunci yang digunakan dalam SerDer implementasi kustom.

CloudTrail penebangan

Lambda mencatat operasi pos pemeriksaan sebagai peristiwa data di. AWS CloudTrail Anda dapat menggunakan CloudTrail untuk mengaudit saat pos pemeriksaan dibuat, melacak perubahan status eksekusi, dan memantau akses ke data eksekusi yang tahan lama.

Operasi pos pemeriksaan muncul di CloudTrail log dengan nama acara berikut:

  • CheckpointDurableExecution- Log ketika langkah selesai dan membuat pos pemeriksaan

  • GetDurableExecutionState- Tercatat saat Lambda mengambil status eksekusi selama pemutaran ulang

Untuk mengaktifkan pencatatan peristiwa data untuk fungsi tahan lama, konfigurasikan CloudTrail jejak untuk mencatat peristiwa data Lambda. Untuk informasi selengkapnya, lihat Mencatat peristiwa data di Panduan CloudTrail Pengguna.

Contoh: entri CloudTrail log untuk operasi pos pemeriksaan

{ "eventVersion": "1.08", "eventTime": "2024-11-16T10:30:45Z", "eventName": "CheckpointDurableExecution", "eventSource": "lambda.amazonaws.com", "requestParameters": { "functionName": "myDurableFunction", "executionId": "exec-abc123", "stepId": "step-1" }, "responseElements": null, "eventType": "AwsApiCall" }

Pertimbangan lintas akun

Jika Anda menjalankan fungsi tahan lama di seluruh AWS akun, akun panggilan memerlukan lambda:InvokeFunction izin, tetapi operasi pos pemeriksaan selalu menggunakan peran eksekusi di akun fungsi. Akun panggilan tidak dapat mengakses data pos pemeriksaan atau status eksekusi secara langsung.

Isolasi ini memastikan bahwa data pos pemeriksaan tetap aman di dalam akun fungsi, bahkan ketika dipanggil dari akun eksternal.

Fitur keamanan Lambda yang diwarisi

Fungsi tahan lama mewarisi semua fitur keamanan, tata kelola, dan kepatuhan dari Lambda, termasuk konektivitas VPC, enkripsi variabel lingkungan, antrian surat mati, konkurensi cadangan, fungsi, penandatanganan kode, dan sertifikasi kepatuhan (SOC URLs, PCI DSS, HIPAA, dll.).

Untuk informasi terperinci tentang fitur keamanan Lambda, lihat Keamanan AWS Lambda di Panduan Pengembang Lambda. Satu-satunya pertimbangan keamanan tambahan untuk fungsi tahan lama adalah izin pos pemeriksaan yang didokumentasikan dalam panduan ini.