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
AWS Lambda fungsi tahan lama memerlukan izin IAM khusus untuk mengelola operasi pos pemeriksaan. Ikuti prinsip hak istimewa terkecil 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.
Agar Lambda dapat mengambil peran eksekusi Anda, kebijakan kepercayaan peran harus menentukan prinsip layanan Lambda (lambda.amazonaws.com) sebagai layanan tepercaya. Contoh berikut menunjukkan kebijakan kepercayaan yang memberikan izin kepada Lambda untuk mengambil peran tersebut.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Prinsip hak istimewa paling sedikit
Cakupan Resource elemen ke ARN fungsi tertentu alih-alih menggunakan wildcard. Ini membatasi peran eksekusi ke operasi pos pemeriksaan hanya untuk fungsi yang membutuhkannya.
Contoh: Izin terbatas 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 mengenkripsi data eksekusi saat istirahat. Setiap eksekusi fungsi mempertahankan status terisolasi yang tidak dapat diakses oleh eksekusi lain. Anda dapat mengonfigurasi kunci yang dikelola pelanggan untuk mengenkripsi data eksekusi yang tahan lama. Untuk informasi selengkapnya, lihat Mengenkripsi AWS Lambda data eksekusi tahan lama.
Data pos pemeriksaan meliputi:
Langkah hasil dan kesalahan
Input panggilan berantai
Untuk daftar lengkap data eksekusi tahan lama yang dienkripsi saat istirahat, lihat. Apa yang dienkripsi
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 pemeriksaanGetDurableExecutionState- 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" }
Cross-account pertimbangan
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 yang dicadangkan, URL fungsi, penandatanganan kode, dan sertifikasi kepatuhan (SOC, 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.