Mengkonfigurasi penandatanganan kode untuk AWS Lambda - AWS Lambda

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

Mengkonfigurasi penandatanganan kode untuk AWS Lambda

Penandatanganan kode untuk AWS Lambda membantu memastikan bahwa hanya kode tepercaya yang berjalan di fungsi Lambda Anda. Saat Anda mengaktifkan penandatanganan kode untuk fungsi, Lambda memeriksa setiap deployment kode dan memverifikasi paket kode ditandatangani oleh sumber tepercaya.

catatan

Fungsi yang ditentukan sebagai gambar kontainer tidak mendukung penandatanganan kode.

Untuk memverifikasi integrity kode, gunakan AWS Signer untuk membuat paket kode yang ditandatangani secara digital untuk fungsi dan lapisan. Saat pengguna mencoba men-deploy paket kode, Lambda melakukan pemeriksaan validasi pada paket kode sebelum menerima deployment. Karena pemeriksaan validasi penandatanganan kode berjalan pada waktu deployment, tidak ada dampak performa pada eksekusi fungsi.

Anda juga menggunakan AWS Penandatangan untuk membuat profil penandatanganan. Anda menggunakan profil penandatanganan untuk membuat paket kode yang ditandatangani. Gunakan AWS Identity and Access Management (IAM) untuk mengontrol siapa yang dapat menandatangani paket kode dan membuat profil penandatanganan. Untuk informasi selengkapnya, lihat Autentikasi dan Kontrol Akses dalam AWS Panduan Developer Signer.

Untuk mengaktifkan penandatanganan kode untuk fungsi, Anda membuat konfigurasi penandatanganan kode dan melampirkannya ke fungsi. Konfigurasi penandatanganan kode menetapkan daftar profil penandatanganan yang diizinkan dan tindakan kebijakan yang harus diambil jika pemeriksaan validasi gagal.

Lapisan Lambda mengikuti format paket kode yang ditandatangani yang sama seperti paket kode fungsi. Saat Anda menambahkan lapisan ke fungsi yang telah mengaktifkan penandatanganan kode, Lambda memeriksa lapisan tersebut ditandatangani oleh profil penandatanganan yang diizinkan. Saat Anda mengaktifkan penandatanganan kode untuk fungsi, semua lapisan yang ditambahkan ke fungsi juga harus ditandatangani oleh salah satu profil penndatanganan yang diizinkan.

Gunakan IAM untuk mengontrol siapa yang dapat membuat konfigurasi penandatanganan kode. Biasanya, Anda hanya mengizinkan pengguna administratif tertentu untuk memiliki kemampuan ini. Selain itu, Anda dapat menyiapkan kebijakan IAM untuk memastikan developer hanya membuat fungsi yang mengaktifkan penandatanganan kode.

Anda dapat mengonfigurasi penandatanganan kode untuk mencatat perubahan ke AWS CloudTrail. Penerapan yang berhasil dan diblokir ke fungsi dicatat CloudTrail dengan informasi tentang tanda tangan dan pemeriksaan validasi.

Anda dapat mengonfigurasi penandatanganan kode untuk fungsi menggunakan konsol Lambda, AWS Command Line Interface (AWS CLI) AWS CloudFormation, dan AWS Serverless Application Model (AWS SAM).

Tidak ada biaya tambahan untuk menggunakan AWS Penandatangan atau penandatanganan kode untuk AWS Lambda.

Validasi tanda tangan

Lambda melakukan pemeriksaan validasi berikut saat Anda men-deploy paket kode yang ditandatangani ke fungsi Anda:

  1. Integrity – Memvalidasi paket kode belum dimodifikasi sejak ditandatangani. Lambda membandingkan hash paket dengan hash dari tanda tangan.

  2. Expiry – Memvalidasi tanda tangan paket kode belum kedaluwarsa.

  3. Mismatch – Memvalidasi paket kode ditandatangani dengan salah satu profil penandatanganan yang diizinkan untuk fungsi Lambda. Mismatch juga terjadi jika tanda tangan tidak ada.

  4. Revocation – Memvalidasi tanda tangan paket kode belum dicabut.

Kebijakan validasi tanda tangan yang ditetapkan dalam konfigurasi penandatanganan kode menentukan tindakan mana yang diambil Lambda jika salah satu pemeriksaan validasi gagal:

  • Warn – Lambda mengizinkan deployment paket kode, tetapi mengeluarkan peringatan. Lambda mengeluarkan CloudWatch metrik Amazon baru dan juga menyimpan peringatan di log. CloudTrail

  • Enforce – Lambda mengeluarkan peringatan (sama seperti untuk tindakan Warn) dan memblokir deployment paket kode.

Anda dapat mengonfigurasi kebijakan untuk pemeriksaan validasi expiry, mismatch, dan revocation. Perhatikan bahwa Anda tidak dapat mengonfigurasi kebijakan untuk pemeriksaan integrity. Jika pemeriksaan integrity gagal, Lambda memblokir deployment.

Prasyarat konfigurasi

Sebelum Anda dapat mengonfigurasi penandatanganan kode untuk fungsi Lambda, gunakan AWS Penandatangan untuk melakukan hal berikut:

  • Buat satu profil penandatanganan atau lebih.

  • Gunakan profil penandatanganan untuk membuat paket kode yang ditandatangani untuk fungsi Anda.

Untuk informasi selengkapnya, lihat Membuat Profil Penandatanganan (Konsol) di AWS Panduan Developer Signer.

Membuat konfigurasi penandatanganan kode

Konfigurasi penandatanganan kode menetapkan daftar profil penandatanganan yang diizinkan dan kebijakan validasi tanda tangan.

Untuk membuat konfigurasi penandatanganan kode (konsol)
  1. Buka Halaman konfigurasi penandatanganan kode di konsol Lambda.

  2. Pilih Buat konfigurasi.

  3. Untuk Deskripsi, masukkan nama deskriptif untuk konfigurasi.

  4. Di bawah Profil penandatanganan, tambahkan hingga 20 profil penandatanganan ke konfigurasi.

    1. Untuk ARN versi profil penandatanganan, pilih Amazon Resource Name (ARN) dari versi profil, atau masukkan ARN.

    2. Untuk menambahkan profil penandatanganan tambahan, pilih Tambahkan profil penandatanganan.

  5. Di bawah Kebijakan validasi tanda tangan, pilih Warn atau Enforce.

  6. Pilih Buat konfigurasi.

Memperbarui konfigurasi penandatanganan kode

Saat Anda memperbarui konfigurasi penandatanganan kode, perubahan akan memengaruhi deployment fungsi di masa mendatang yang memiliki konfigurasi penandatanganan kode terlampir.

Untuk memperbarui konfigurasi penandatanganan kode (konsol)
  1. Buka Halaman konfigurasi penandatanganan kode di konsol Lambda.

  2. Pilih konfigurasi penandatanganan kode untuk diperbarui, lalu pilih Edit.

  3. Untuk Deskripsi, masukkan nama deskriptif untuk konfigurasi.

  4. Di bawah Profil penandatanganan, tambahkan hingga 20 profil penandatanganan ke konfigurasi.

    1. Untuk ARN versi profil penandatanganan, pilih Amazon Resource Name (ARN) dari versi profil, atau masukkan ARN.

    2. Untuk menambahkan profil penandatanganan tambahan, pilih Tambahkan profil penandatanganan.

  5. Di bawah Kebijakan validasi tanda tangan, pilih Warn atau Enforce.

  6. Pilih Simpan perubahan.

Menghapus konfigurasi penandatanganan kode

Anda dapat menghapus konfigurasi penandatanganan kode hanya jika tidak ada fungsi yang menggunakannya.

Untuk menghapus konfigurasi penandatanganan kode (konsol)
  1. Buka Halaman konfigurasi penandatanganan kode di konsol Lambda.

  2. Pilih konfigurasi penandatanganan kode untuk dihapus, lalu pilih Hapus.

  3. Untuk mengonfirmasi, pilih Hapus lagi.

Mengaktifkan penandatanganan kode untuk fungsi

Untuk mengaktifkan penandatanganan kode untuk fungsi, Anda mengaitkan konfigurasi penandatanganan kode dengan fungsi.

Untuk mengaitkan konfigurasi penandatanganan kode dengan fungsi (konsol)
  1. Buka Halaman fungsi di konsol Lambda.

  2. Pilih fungsi yang ingin Anda aktifkan penandatanganan kodenya.

  3. Buka tab Konfigurasi.

  4. Gulir ke bawah dan pilih Penandatanganan kode.

  5. Pilih Edit.

  6. Di Edit penandatanganan kode, pilih konfigurasi penandatanganan kode untuk fungsi ini.

  7. Pilih Simpan.

Mengonfigurasi kebijakan IAM

Untuk memberikan izin bagi pengguna untuk mengakses operasi API penandatanganan kode, lampirkan satu pernyataan kebijakan atau lebih ke kebijakan pengguna. Untuk informasi selengkapnya tentang kebijakan pengguna, lihat Bekerja dengan kebijakan IAM berbasis identitas di Lambda.

Contoh pernyataan kebijakan berikut memberikan izin untuk membuat, memperbarui, dan mengambil konfigurasi penandatanganan kode.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:CreateCodeSigningConfig", "lambda:UpdateCodeSigningConfig", "lambda:GetCodeSigningConfig" ], "Resource": "*" } ] }

Administrator dapat menggunakan kunci syarat CodeSigningConfigArn untuk menentukan konfigurasi penandatanganan kode yang harus digunakan developer untuk membuat atau memperbarui fungsi Anda.

Contoh pernyataan kebijakan berikut memberikan izin untuk membuat fungsi. Pernyataan kebijakan mencakup syarat lambda:CodeSigningConfigArn untuk menentukan konfigurasi penandatanganan kode yang diizinkan. Lambda memblokir permintaan API CreateFunction jika parameter CodeSigningConfigArn hilang atau tidak cocok dengan nilai dalam syarat.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowReferencingCodeSigningConfig", "Effect": "Allow", "Action": [ "lambda:CreateFunction", ], "Resource": "*", "Condition": { "StringEquals": { "lambda:CodeSigningConfigArn": “arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-0d4518bd353a0a7c6” } } } ] }

Mengonfigurasi penandatanganan kode dengan API Lambda

Untuk mengelola konfigurasi penandatanganan kode dengan AWS CLI atau AWS SDK, gunakan operasi API berikut:

Untuk mengelola konfigurasi penandatanganan kode untuk fungsi, gunakan operasi API berikut: