Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Siapkan izin dan peran IAM untuk Lambda @Edge

Mode fokus
Siapkan izin dan peran IAM untuk Lambda @Edge - Amazon CloudFront

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

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

Untuk mengonfigurasi Lambda @Edge, Anda harus memiliki izin dan peran IAM berikut untuk: AWS Lambda

  • Izin IAM — Izin ini memungkinkan Anda membuat fungsi Lambda dan mengaitkannya dengan distribusi Anda. CloudFront

  • Peran eksekusi fungsi Lambda (peran IAM) — Prinsipal layanan Lambda mengasumsikan peran ini untuk menjalankan fungsi Anda.

  • Peran terkait layanan untuk Lambda @Edge — Peran terkait layanan memungkinkan spesifik untuk Layanan AWS mereplikasi fungsi Lambda ke dan mengaktifkan penggunaan file log. Wilayah AWS CloudWatch CloudFront

Izin IAM diperlukan untuk mengaitkan fungsi Lambda @Edge dengan distribusi CloudFront

Selain izin IAM yang Anda perlukan untuk Lambda, Anda memerlukan izin berikut untuk mengaitkan fungsi Lambda dengan distribusi: CloudFront

  • lambda:GetFunction— Memberikan izin untuk mendapatkan informasi konfigurasi untuk fungsi Lambda Anda dan URL yang telah ditentukan sebelumnya untuk mengunduh file .zip yang berisi fungsi tersebut.

  • lambda:EnableReplication*— Memberikan izin ke kebijakan sumber daya sehingga layanan replikasi Lambda bisa mendapatkan kode fungsi dan konfigurasi.

  • lambda:DisableReplication*— Memberikan izin ke kebijakan sumber daya sehingga layanan replikasi Lambda dapat menghapus fungsi.

    penting

    Anda harus menambahkan tanda bintang (*) di akhir lambda:EnableReplication* dan lambda:DisableReplication* tindakan.

  • Untuk sumber daya, tentukan ARN dari versi fungsi yang ingin Anda jalankan ketika suatu CloudFront peristiwa terjadi, seperti contoh berikut:

    arn:aws:lambda:us-east-1:123456789012:function:TestFunction:2

  • iam:CreateServiceLinkedRole— Memberikan izin untuk membuat peran terkait layanan yang digunakan Lambda @Edge untuk mereplikasi fungsi Lambda. CloudFront Setelah Anda mengonfigurasi Lambda @Edge untuk pertama kalinya, peran terkait layanan akan dibuat secara otomatis untuk Anda. Anda tidak perlu menambahkan izin ini ke distribusi lain yang menggunakan Lambda @Edge.

  • cloudfront:UpdateDistributionatau cloudfront:CreateDistribution — Memberikan izin untuk memperbarui atau membuat distribusi.

Untuk informasi selengkapnya, lihat topik berikut.

Peran eksekusi fungsi untuk prinsipal layanan

Anda harus membuat peran IAM yang dapat diasumsikan oleh kepala sekolah lambda.amazonaws.com dan edgelambda.amazonaws.com layanan ketika mereka menjalankan fungsi Anda.

Tip

Saat membuat fungsi di konsol Lambda, Anda dapat memilih untuk membuat peran eksekusi baru dengan menggunakan templat AWS kebijakan. Langkah ini secara otomatis menambahkan izin Lambda @Edge yang diperlukan untuk menjalankan fungsi Anda. Lihat Langkah 5 dalam Tutorial: Membuat fungsi Lambda @Edge sederhana.

Untuk informasi selengkapnya tentang membuat peran IAM secara manual, lihat Membuat peran dan melampirkan kebijakan (konsol) di Panduan Pengguna IAM.

contoh Contoh: Kebijakan kepercayaan peran

Anda dapat menambahkan peran ini di bawah tab Trust Relationship di konsol IAM. Jangan tambahkan kebijakan ini di bawah tab Izin.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "lambda.amazonaws.com", "edgelambda.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Untuk informasi selengkapnya tentang izin yang perlu Anda berikan ke peran eksekusi, lihat Izin akses sumber daya Lambda di AWS Lambda Panduan Pengembang.

Catatan
  • Secara default, setiap kali CloudFront peristiwa memicu fungsi Lambda, data ditulis CloudWatch ke Log. Jika Anda ingin menggunakan log ini, peran eksekusi memerlukan izin untuk menulis data ke CloudWatch Log. Anda dapat menggunakan yang telah ditentukan AWSLambdaBasicExecutionRole untuk memberikan izin untuk peran eksekusi.

    Untuk informasi selengkapnya tentang CloudWatch Log, lihatLog fungsi tepi.

  • Jika kode fungsi Lambda Anda mengakses AWS sumber daya lain, seperti membaca objek dari bucket S3, peran eksekusi memerlukan izin untuk melakukan tindakan tersebut.

Peran terkait layanan untuk Lambda @Edge

Lambda @Edge menggunakan peran terkait layanan IAM. Peran yang terhubung dengan layanan adalah jenis peran IAM unik yang terhubung langsung ke layanan. Peran yang ditautkan dengan layanan ditentukan sebelumnya oleh layanan dan mencakup semua izin yang diperlukan layanan untuk menghubungi layanan AWS lainnya atas nama Anda.

Lambda @Edge menggunakan peran terkait layanan IAM berikut:

  • AWSServiceRoleForLambdaReplicator— Lambda @Edge menggunakan peran ini untuk memungkinkan Lambda @Edge mereplikasi fungsi ke. Wilayah AWS

    Saat Anda pertama kali menambahkan pemicu Lambda @Edge CloudFront, peran bernama AWSServiceRoleForLambdaReplicator dibuat secara otomatis untuk memungkinkan Lambda @Edge mereplikasi fungsi ke. Wilayah AWS Peran ini diperlukan untuk menggunakan fungsi Lambda @Edge. ARN untuk AWSServiceRoleForLambdaReplicator peran terlihat seperti contoh berikut:

    arn:aws:iam::123456789012:role/aws-service-role/replicator.lambda.amazonaws.com/AWSServiceRoleForLambdaReplicator

  • AWSServiceRoleForCloudFrontLogger— CloudFront menggunakan peran ini untuk mendorong file log ke dalam CloudWatch. Anda dapat menggunakan file log untuk men-debug kesalahan validasi Lambda @Edge.

    Bagian AWSServiceRoleForCloudFrontLogger peran dibuat secara otomatis saat Anda menambahkan asosiasi fungsi Lambda @Edge CloudFront untuk memungkinkan mendorong file log kesalahan Lambda @Edge ke. CloudWatch ARN untuk AWSServiceRoleForCloudFrontLogger peran terlihat seperti ini:

    arn:aws:iam::account_number:role/aws-service-role/logger.cloudfront.amazonaws.com/AWSServiceRoleForCloudFrontLogger

Peran yang terhubung dengan layanan memudahkan pengaturan dan penggunaan Lambda@Edge karena Anda tidak perlu menambahkan izin yang diperlukan secara manual. Lambda@Edge mendefinisikan izin peran yang terhubung ke layanan, dan hanya Lambda@Edge yang dapat memegang peran tersebut. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin. Kebijakan izin tidak dapat dilampirkan ke entitas IAM lainnya.

Anda harus menghapus sumber daya terkait CloudFront atau Lambda @Edge sebelum dapat menghapus peran terkait layanan. Ini membantu melindungi sumber daya Lambda @Edge Anda sehingga Anda tidak menghapus peran terkait layanan yang masih diperlukan untuk mengakses sumber daya aktif.

Untuk mengetahui informasi selengkapnya tentang peran terkait layanan, lihat Peran terkait layanan untuk CloudFront.

Izin peran terkait layanan untuk Lambda @Edge

Lambda @Edge menggunakan dua peran terkait layanan, bernama AWSServiceRoleForLambdaReplicator dan AWSServiceRoleForCloudFrontLogger. Bagian berikut menjelaskan izin untuk masing-masing peran ini.

Izin peran terkait layanan untuk replikator Lambda

Peran terkait layanan ini memungkinkan Lambda untuk mereplikasi fungsi Lambda @Edge. Wilayah AWS

Bagian AWSServiceRoleForLambdaReplicator peran terkait layanan mempercayai replicator.lambda.amazonaws.com layanan untuk mengambil peran.

Kebijakan izin peran memungkinkan Lambda@Edge menyelesaikan tindakan berikut pada sumber daya yang ditentukan:

  • lambda:CreateFunction pada arn:aws:lambda:*:*:function:*

  • lambda:DeleteFunction pada arn:aws:lambda:*:*:function:*

  • lambda:DisableReplication pada arn:aws:lambda:*:*:function:*

  • iam:PassRole pada all AWS resources

  • cloudfront:ListDistributionsByLambdaFunction pada all AWS resources

Izin peran terkait layanan untuk logger CloudFront

Peran terkait layanan ini memungkinkan CloudFront untuk mendorong file log CloudWatch sehingga Anda dapat men-debug kesalahan validasi Lambda @Edge.

Bagian AWSServiceRoleForCloudFrontLogger peran terkait layanan mempercayai logger.cloudfront.amazonaws.com layanan untuk mengambil peran.

Kebijakan izin peran memungkinkan Lambda @Edge menyelesaikan tindakan berikut pada sumber daya yang ditentukan: arn:aws:logs:*:*:log-group:/aws/cloudfront/*

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:PutLogEvents

Anda harus mengonfigurasi izin untuk mengizinkan entitas IAM (seperti pengguna, grup, atau peran) untuk menghapus peran yang ditautkan oleh layanan Lambda@Edge. Untuk informasi selengkapnya, lihat Izin peran tertaut layanan dalam Panduan Pengguna IAM.

Membuat peran terkait layanan untuk Lambda @Edge

Anda biasanya tidak membuat peran terkait layanan secara manual untuk Lambda@Edge. Layanan ini membuat peran untuk Anda secara otomatis dalam skenario berikut:

  • Saat Anda pertama kali membuat pemicu, layanan membuat AWSServiceRoleForLambdaReplicator peran (jika belum ada). Peran ini memungkinkan Lambda untuk mereplikasi fungsi Lambda @Edge ke. Wilayah AWS

    Jika Anda menghapus peran layanan yang ditautkan, peran tersebut akan dibuat lagi saat Anda menambahkan pemicu baru untuk Lambda@Edge dalam distribusi.

  • Saat Anda memperbarui atau membuat CloudFront distribusi yang memiliki asosiasi Lambda @Edge, layanan akan membuat AWSServiceRoleForCloudFrontLogger peran (jika peran tersebut belum ada). Peran ini memungkinkan CloudFront untuk mendorong file log Anda ke CloudWatch.

    Jika Anda menghapus peran terkait layanan, peran akan dibuat lagi saat Anda memperbarui atau membuat CloudFront distribusi yang memiliki asosiasi Lambda @Edge.

Untuk membuat peran terkait layanan ini secara manual, Anda dapat menjalankan perintah AWS Command Line Interface (AWS CLI) berikut:

Untuk membuat AWSServiceRoleForLambdaReplicator peran
  • Jalankan perintah berikut.

    aws iam create-service-linked-role --aws-service-name replicator.lambda.amazonaws.com
Untuk membuat AWSServiceRoleForCloudFrontLogger peran
  • Jalankan perintah berikut.

    aws iam create-service-linked-role --aws-service-name logger.cloudfront.amazonaws.com

Mengedit peran terkait layanan Lambda @Edge

Lambda @Edge tidak mengizinkan Anda untuk mengedit AWSServiceRoleForLambdaReplicator atau AWSServiceRoleForCloudFrontLogger peran terkait layanan. Setelah layanan membuat peran terkait layanan, Anda tidak dapat mengubah nama peran karena berbagai entitas mungkin mereferensikan peran tersebut. Namun, Anda dapat menggunakan IAM untuk mengedit deskripsi peran. Untuk informasi selengkapnya, lihat Mengedit peran tertaut layanan dalam Panduan Pengguna IAM.

Didukung Wilayah AWS untuk peran terkait layanan Lambda @Edge

CloudFront mendukung penggunaan peran terkait layanan untuk Lambda @Edge sebagai berikut: Wilayah AWS

  • AS Timur (Virginia Utara)–us-east-1

  • AS Timur (Ohio)–us-east-2

  • AS Barat (California Utara)–us-west-1

  • AS Barat (Oregon)–us-west-2

  • Asia Pasifik (Mumbai)–ap-south-1

  • Asia Pasifik (Seoul)–ap-northeast-2

  • Asia Pasifik (Singapura)–ap-southeast-1

  • Asia Pasifik (Sydney)–ap-southeast-2

  • Asia Pasifik (Tokyo) – ap-northeast-1

  • Eropa (Frankfurt) – eu-central-1

  • Eropa (Irlandia)–eu-west-1

  • Eropa (London) – eu-west-2

  • Amerika Selatan (São Paulo) – sa-east-1

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.