View a markdown version of this page

Memberikan akses kepada fungsi Lambda ke sumber daya di VPC Amazon - AWS Lambda

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

Memberikan akses kepada fungsi Lambda ke sumber daya di VPC Amazon

Dengan Amazon Virtual Private Cloud (Amazon VPC), Anda dapat membuat jaringan pribadi di sumber daya Akun AWS untuk meng-host seperti instans Amazon Elastic Compute Cloud (Amazon EC2), instans Amazon Relational Database Service (Amazon RDS), dan instans Amazon. ElastiCache Anda dapat memberikan fungsi Lambda akses ke sumber daya yang dihosting di Amazon VPC dengan melampirkan fungsi Anda ke VPC melalui subnet pribadi yang berisi sumber daya. Ikuti petunjuk di bagian berikut untuk melampirkan fungsi Lambda ke Amazon VPC menggunakan konsol Lambda, AWS Command Line Interface (AWS CLI), atau. AWS SAM

catatan

Setiap fungsi Lambda berjalan di dalam VPC yang dimiliki dan dikelola oleh layanan Lambda. VPC ini dikelola secara otomatis oleh Lambda dan tidak terlihat oleh pelanggan. Mengkonfigurasi fungsi Anda untuk mengakses AWS sumber daya lain di Amazon VPC tidak berpengaruh pada Lambda-managed VPC yang dijalankan fungsi Anda di dalamnya.

Izin IAM yang diperlukan

Untuk melampirkan fungsi Lambda ke Amazon VPC di Anda Akun AWS, Lambda memerlukan izin untuk membuat dan mengelola antarmuka jaringan yang digunakannya untuk memberikan akses fungsi Anda ke sumber daya di VPC.

Antarmuka jaringan yang dibuat Lambda dikenal sebagai Hyperplane Elastic Network Interfaces, atau Hyperplane ENI. Untuk mempelajari lebih lanjut tentang antarmuka jaringan ini, lihatMemahami Antarmuka Jaringan Elastis Hyperplane (ENI).

Anda dapat memberikan fungsi izin yang diperlukan dengan melampirkan kebijakan ter AWS kelola AWSLambdaVPCAccessExecutionRole ke peran eksekusi fungsi Anda. Saat Anda membuat fungsi baru di konsol Lambda dan melampirkannya ke VPC, Lambda secara otomatis menambahkan kebijakan izin ini untuk Anda.

Jika Anda lebih suka membuat kebijakan izin IAM sendiri, pastikan untuk menambahkan semua izin berikut dan mengizinkannya di semua sumber daya ("Resource": "*"):

  • ec2: CreateNetworkInterface

  • ec2: DescribeNetworkInterfaces

  • ec2: DescribeSubnets

  • ec2: DeleteNetworkInterface

  • ec2: AssignPrivateIpAddresses

  • ec2: UnassignPrivateIpAddresses

Perhatikan bahwa peran fungsi Anda hanya memerlukan izin ini untuk membuat antarmuka jaringan, bukan untuk memanggil fungsi Anda. Anda masih dapat memanggil fungsi dengan sukses saat dilampirkan ke Amazon VPC, bahkan jika Anda menghapus izin ini dari peran eksekusi fungsi Anda.

Untuk melampirkan fungsi Anda ke VPC, Lambda juga perlu memverifikasi sumber daya jaringan menggunakan peran pengguna IAM Anda. Pastikan peran pengguna Anda memiliki izin IAM berikut:

  • ec2: DescribeSecurityGroups

  • ec2: DescribeSubnets

  • ec2: DescribeVpcs

  • ec2: GetSecurityGroupsForVpc

catatan

Izin Amazon EC2 yang Anda berikan untuk peran eksekusi fungsi digunakan oleh layanan Lambda untuk melampirkan fungsi Anda ke VPC. Namun, Anda juga secara implisit memberikan izin ini ke kode fungsi Anda. Ini berarti bahwa kode fungsi Anda dapat membuat panggilan API Amazon EC2 ini. Untuk saran tentang mengikuti praktik terbaik keamanan, lihatPraktik terbaik keamanan.

Melampirkan fungsi Lambda ke Amazon VPC di Akun AWS

Lampirkan fungsi Anda ke Amazon VPC di Anda Akun AWS dengan menggunakan konsol Lambda, atau. AWS CLI AWS SAM Jika Anda menggunakan AWS CLI atau AWS SAM, atau melampirkan fungsi yang ada ke VPC menggunakan konsol Lambda, pastikan bahwa peran eksekusi fungsi Anda memiliki izin yang diperlukan yang tercantum di bagian sebelumnya.

Fungsi Lambda tidak dapat terhubung langsung ke VPC dengan tenancy instans khusus. Untuk terhubung ke sumber daya dalam VPC khusus, sambungkan ke VPC kedua dengan penyewaan default.

Lambda console
Untuk melampirkan fungsi ke Amazon VPC saat Anda membuatnya
  1. Buka halaman Functions pada konsol Lambda dan pilih Buat fungsi.

  2. Di bawah Informasi Dasar, untuk Nama fungsi, masukkan nama untuk fungsi Anda.

  3. Konfigurasikan pengaturan VPC untuk fungsi dengan melakukan hal berikut:

    1. Perluas Pengaturan lanjutan.

    2. Pilih Aktifkan VPC, lalu pilih VPC yang ingin Anda lampirkan fungsinya.

    3. (Opsional) Untuk mengizinkan lalu lintas IPv6 keluar, pilih Izinkan lalu lintas IPv6 untuk subnet tumpukan ganda.

    4. Pilih subnet dan grup keamanan untuk membuat antarmuka jaringan. Jika Anda memilih Iz inkan lalu lintas IPv6 untuk subnet dual-stack, semua subnet yang dipilih harus memiliki blok IPv4 CIDR dan blok IPv6 CIDR.

      catatan

      Untuk mengakses sumber daya privat, sambungkan fungsi Anda ke subnet privat. Jika fungsi Anda membutuhkan akses internet, lihatAktifkan akses internet untuk fungsi VPC-connected Lambda. Menghubungkan fungsi ke subnet publik tidak memberikan akses internet atau alamat IP publik.

  4. Pilih Buat fungsi.

Untuk melampirkan fungsi yang ada ke Amazon VPC
  1. Buka halaman Functions pada konsol Lambda dan pilih fungsi Anda.

  2. Pilih tab Konfigurasi, lalu pilih VPC.

  3. Pilih Edit.

  4. Di bawah VPC, pilih Amazon VPC yang ingin Anda lampirkan fungsi Anda.

  5. (Opsional) Untuk mengizinkan lalu lintas IPv6 keluar, pilih Izinkan lalu lintas IPv6 untuk subnet tumpukan ganda.

  6. Pilih subnet dan grup keamanan untuk membuat antarmuka jaringan. Jika Anda memilih Iz inkan lalu lintas IPv6 untuk subnet dual-stack, semua subnet yang dipilih harus memiliki blok IPv4 CIDR dan blok IPv6 CIDR.

    catatan

    Untuk mengakses sumber daya privat, sambungkan fungsi Anda ke subnet privat. Jika fungsi Anda membutuhkan akses internet, lihatAktifkan akses internet untuk fungsi VPC-connected Lambda. Menghubungkan fungsi ke subnet publik tidak memberikan akses internet atau alamat IP publik.

  7. Pilih Simpan.

AWS CLI
Untuk melampirkan fungsi ke Amazon VPC saat Anda membuatnya
  • Untuk membuat fungsi Lambda dan melampirkannya ke VPC, jalankan perintah CLI create-function berikut.

    aws lambda create-function --function-name my-function \ --runtime nodejs24.x --handler index.js --zip-file fileb://function.zip \ --role arn:aws:iam::123456789012:role/lambda-role \ --vpc-config Ipv6AllowedForDualStack=true,SubnetIds=subnet-071f712345678e7c8,subnet-07fd123456788a036,SecurityGroupIds=sg-085912345678492fb

    Tentukan subnet dan grup keamanan Anda sendiri dan atur Ipv6AllowedForDualStack ke true atau false sesuai dengan kasus penggunaan Anda.

Untuk melampirkan fungsi yang ada ke Amazon VPC
  • Untuk melampirkan fungsi yang ada ke VPC, jalankan perintah CLI update-function-configuration berikut.

    aws lambda update-function-configuration --function-name my-function \ --vpc-config Ipv6AllowedForDualStack=true, SubnetIds=subnet-071f712345678e7c8,subnet-07fd123456788a036,SecurityGroupIds=sg-085912345678492fb
Untuk melepaskan fungsi Anda dari VPC
  • Untuk melepaskan fungsi Anda dari VPC, jalankan perintah update-function-configuration CLI berikut dengan daftar kosong subnet VPC dan grup keamanan.

    aws lambda update-function-configuration --function-name my-function \ --vpc-config SubnetIds=[],SecurityGroupIds=[]
AWS SAM
Untuk melampirkan fungsi Anda ke VPC
  • Untuk melampirkan fungsi Lambda ke Amazon VPC, tambahkan VpcConfig properti ke definisi fungsi Anda seperti yang ditunjukkan pada contoh template berikut. Untuk informasi selengkapnya tentang properti ini, lihat AWS: :Lambda: :Function VpcConfig di Panduan CloudFormation Pengguna ( AWS SAM VpcConfigproperti diteruskan langsung ke VpcConfig properti sumber daya). CloudFormation AWS::Lambda::Function

    AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: MyFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./lambda_function/ Handler: lambda_function.handler Runtime: python3.12 VpcConfig: SecurityGroupIds: - !Ref MySecurityGroup SubnetIds: - !Ref MySubnet1 - !Ref MySubnet2 Policies: - AWSLambdaVPCAccessExecutionRole MySecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Security group for Lambda function VpcId: !Ref MyVPC MySubnet1: Type: AWS::EC2::Subnet Properties: VpcId: !Ref MyVPC CidrBlock: 10.0.1.0/24 MySubnet2: Type: AWS::EC2::Subnet Properties: VpcId: !Ref MyVPC CidrBlock: 10.0.2.0/24 MyVPC: Type: AWS::EC2::VPC Properties: CidrBlock: 10.0.0.0/16

    Untuk informasi selengkapnya tentang mengonfigurasi VPC Anda di AWS SAM, lihat AWS: :EC2: :VPC di Panduan Pengguna. CloudFormation

Akses Internet saat dilampirkan ke VPC

Secara default, fungsi Lambda memiliki akses ke internet publik. Ketika Anda melampirkan fungsi Anda ke VPC, itu hanya dapat mengakses sumber daya yang tersedia dalam VPC itu. Untuk memberikan akses fungsi Anda ke internet, Anda juga perlu mengkonfigurasi VPC untuk memiliki akses internet. Untuk mempelajari selengkapnya, lihat Aktifkan akses internet untuk fungsi VPC-connected Lambda.

Dukungan IPv6

Fungsi Anda dapat terhubung ke sumber daya di subnet VPC dual-stack melalui IPv6. Opsi ini dimatikan secara default. Untuk mengizinkan lalu lintas IPv6 keluar, gunakan konsol atau --vpc-config Ipv6AllowedForDualStack=true opsi dengan perintah create-function atau update-function-configuration. https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html

catatan

Untuk mengizinkan lalu lintas IPv6 keluar di VPC, semua subnet yang terhubung ke fungsi harus berupa subnet dual-stack. Lambda tidak mendukung koneksi IPv6 keluar untuk IPv6-only subnet di VPC atau koneksi IPv6 keluar untuk fungsi yang tidak terhubung ke VPC.

Anda dapat memperbarui kode fungsi Anda untuk secara eksplisit terhubung ke sumber daya subnet melalui IPv6. Contoh Python berikut membuka soket dan menghubungkan ke server IPv6.

contoh— Sambungkan ke server IPv6
def connect_to_server(event, context): server_address = event['host'] server_port = event['port'] message = event['message'] run_connect_to_server(server_address, server_port, message) def run_connect_to_server(server_address, server_port, message): sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, 0) try: # Send data sock.connect((server_address, int(server_port), 0, 0)) sock.sendall(message.encode()) BUFF_SIZE = 4096 data = b'' while True: segment = sock.recv(BUFF_SIZE) data += segment # Either 0 or end of data if len(segment) < BUFF_SIZE: break return data finally: sock.close()

Praktik terbaik untuk menggunakan Lambda dengan Amazon VPC

Untuk memastikan bahwa konfigurasi VPC Lambda Anda memenuhi pedoman praktik terbaik, ikuti saran di bagian berikut.

Praktik terbaik keamanan

Untuk melampirkan fungsi Lambda Anda ke VPC, Anda perlu memberikan peran eksekusi fungsi Anda sejumlah izin Amazon EC2. Izin ini diperlukan untuk membuat antarmuka jaringan yang digunakan fungsi Anda untuk mengakses sumber daya di VPC. Namun, izin ini juga secara implisit diberikan ke kode fungsi Anda. Ini berarti bahwa kode fungsi Anda memiliki izin untuk melakukan panggilan API Amazon EC2 ini.

Untuk mengikuti prinsip akses hak istimewa terkecil, tambahkan kebijakan tolak seperti contoh berikut ke peran eksekusi fungsi Anda. Kebijakan ini mencegah kode fungsi Anda melakukan panggilan ke Amazon EC2 API, sambil tetap mengizinkan layanan Lambda untuk mengelola sumber daya VPC atas nama Anda. Kebijakan menggunakan kunci lambda:SourceFunctionArn kondisi, yang hanya berlaku untuk panggilan API yang dilakukan oleh kode fungsi Anda selama eksekusi. Untuk informasi selengkapnya, lihat Menggunakan fungsi sumber ARN untuk mengontrol perilaku akses fungsi.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSubnets", "ec2:DetachNetworkInterface", "ec2:AssignPrivateIpAddresses", "ec2:UnassignPrivateIpAddresses" ], "Resource": [ "*" ], "Condition": { "ArnEquals": { "lambda:SourceFunctionArn": [ "arn:aws:lambda:us-west-2:123456789012:function:my_function" ] } } } ] }

AWS menyediakan grup keamanan dan Daftar Kontrol Akses jaringan (ACL) untuk meningkatkan keamanan di VPC Anda. Grup keamanan mengontrol lalu lintas masuk dan keluar untuk sumber daya Anda, dan ACL jaringan mengontrol lalu lintas masuk dan keluar untuk subnet Anda. Grup keamanan menyediakan kontrol akses yang cukup untuk sebagian besar subnet. Anda dapat menggunakan ACL jaringan jika Anda menginginkan lapisan keamanan tambahan untuk VPC Anda. Untuk panduan umum tentang praktik terbaik keamanan saat menggunakan Amazon VPC, lihat Prakti k terbaik keamanan untuk VPC Anda di Panduan Pengguna Amazon Virtual Private Cloud.

Praktik terbaik kinerja

Saat Anda melampirkan fungsi Anda ke VPC, Lambda memeriksa untuk melihat apakah ada sumber daya jaringan yang tersedia (Hyperplane ENI) yang dapat digunakan untuk terhubung. Hyperplane ENI dikaitkan dengan kombinasi tertentu dari grup keamanan dan subnet VPC. Jika Anda telah melampirkan satu fungsi ke VPC, menentukan subnet dan grup keamanan yang sama saat Anda melampirkan fungsi lain berarti bahwa Lambda dapat berbagi sumber daya jaringan dan menghindari kebutuhan untuk membuat Hyperplane ENI baru. Untuk informasi selengkapnya tentang Hyperplane ENI dan siklus hidupnya, lihat. Memahami Antarmuka Jaringan Elastis Hyperplane (ENI)

Memahami Antarmuka Jaringan Elastis Hyperplane (ENI)

Hyperplane ENI adalah sumber daya terkelola yang bertindak sebagai antarmuka jaringan antara fungsi Lambda Anda dan sumber daya yang Anda inginkan untuk terhubung fungsi Anda. Layanan Lambda membuat dan mengelola ENI ini secara otomatis saat Anda melampirkan fungsi Anda ke VPC.

Hyperplane ENI tidak langsung terlihat oleh Anda, dan Anda tidak perlu mengonfigurasi atau mengelolanya. Namun, mengetahui cara kerjanya dapat membantu Anda memahami perilaku fungsi Anda ketika Anda melampirkannya ke VPC.

Pertama kali Anda melampirkan fungsi ke VPC menggunakan subnet tertentu dan kombinasi grup keamanan, Lambda membuat Hyperplane ENI. Fungsi lain di akun Anda yang menggunakan kombinasi subnet dan grup keamanan yang sama juga dapat menggunakan ENI ini. Jika memungkinkan, Lambda menggunakan kembali ENI yang ada untuk mengoptimalkan pemanfaatan sumber daya dan meminimalkan pembuatan ENI baru. Setiap Hyperplane ENI mendukung hingga 65.000 connections/ports. Jika jumlah koneksi melebihi batas ini, Lambda menskalakan jumlah ENI secara otomatis berdasarkan lalu lintas jaringan dan persyaratan konkurensi.

Untuk fungsi baru, saat Lambda membuat Hyperplane ENI, fungsi Anda tetap dalam status Pending dan Anda tidak dapat memanggilnya. Fungsi Anda bertransisi ke keadaan Aktif hanya ketika Hyperplane ENI siap, yang dapat memakan waktu beberapa menit. Untuk fungsi yang ada, Anda tidak dapat melakukan operasi tambahan yang menargetkan fungsi, seperti membuat versi atau memperbarui kode fungsi, tetapi Anda dapat terus memanggil versi fungsi sebelumnya.

Sebagai bagian dari pengelolaan siklus hidup ENI, Lambda mungkin menghapus dan membuat ulang ENI untuk menyeimbangkan lalu lintas jaringan di seluruh ENI atau untuk mengatasi masalah yang ditemukan dalam pemeriksaan kesehatan ENI. Selain itu, jika fungsi Lambda tetap idle selama 14 hari, Lambda mengklaim kembali Hyperplane ENI yang tidak digunakan dan menyetel status fungsi ke. Inactive Upaya pemanggilan berikutnya akan gagal, dan fungsi memasuki kembali status Pending sampai Lambda menyelesaikan pembuatan atau alokasi Hyperplane ENI. Kami menyarankan agar desain Anda tidak bergantung pada kegigihan ENI.

Saat Anda memperbarui fungsi untuk menghapus konfigurasi VPC-nya, Lambda membutuhkan waktu hingga 20 menit untuk menghapus Hyperplane ENI terlampir. Lambda hanya menghapus ENI jika tidak ada fungsi lain (atau versi fungsi yang diterbitkan) yang menggunakan Hyperplane ENI tersebut.

Lambda bergantung pada izin dalam peran eksekusi fungsi untuk menghapus Hyperplane ENI. Jika Anda menghapus peran eksekusi sebelum Lambda menghapus Hyperplane ENI, Lambda tidak akan dapat menghapus Hyperplane ENI. Anda dapat melakukan penghapusan secara manual.

Menggunakan kunci syarat IAM untuk pengaturan VPC

Anda dapat menggunakan tombol Lambda-specific kondisi untuk pengaturan VPC untuk memberikan kontrol izin tambahan untuk fungsi Lambda Anda. Misalnya, Anda dapat meminta semua fungsi dalam organisasi Anda terhubung ke VPC. Anda juga dapat menentukan subnet dan grup keamanan yang dapat dan tidak dapat digunakan oleh pengguna fungsi.

Lambda mendukung kunci syarat berikut dalam kebijakan IAM:

  • lambda: VpcIds — Izinkan atau tolak satu atau lebih VPC.

  • lambda: SubnetIds — Izinkan atau tolak satu atau lebih subnet.

  • lambda: SecurityGroupIds — Mengizinkan atau menolak satu atau lebih grup keamanan.

Operasi API Lambda CreateFunction dan UpdateFunctionConfiguration mendukung kunci kondisi ini. Untuk informasi selengkapnya tentang penggunaan kunci syarat dalam kebijakan IAM, lihat elemen kebijakan IAM JSON: Syarat di Panduan Pengguna IAM.

Tip

Jika fungsi Anda sudah mencakup konfigurasi VPC dari permintaan API sebelumnya, Anda dapat mengirim permintaan UpdateFunctionConfiguration tanpa konfigurasi VPC.

Contoh kebijakan dengan kunci syarat untuk pengaturan VPC

Contoh-contoh berikut ini menunjukkan cara menggunakan kunci syarat untuk pengaturan VPC. Setelah Anda membuat pernyataan kebijakan dengan batasan yang diinginkan, tambahkan pernyataan kebijakan untuk pengguna atau peran target.

Pastikan bahwa pengguna hanya menerapkan VPC-connected fungsi

Untuk memastikan bahwa semua pengguna hanya menerapkan VPC-connected fungsi, Anda dapat menolak operasi pembuatan dan pembaruan fungsi yang tidak menyertakan ID VPC yang valid.

Perhatikan bahwa ID VPC bukan parameter input ke CreateFunction atau permintaan UpdateFunctionConfiguration. Lambda mengambil nilai ID VPC berdasarkan parameter subnet dan grup keamanan.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnforceVPCFunction", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Deny", "Resource": "*", "Condition": { "Null": { "lambda:VpcIds": "true" } } } ] }

Menolak akses pengguna ke VPC, subnet, atau grup keamanan tertentu

Untuk menolak akses pengguna ke VPC tertentu, gunakan StringEquals untuk memeriksa nilai syarat lambda:VpcIds. Contoh berikut menolak akses pengguna ke vpc-1 dan vpc-2.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnforceOutOfVPC", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "lambda:VpcIds": [ "vpc-1", "vpc-2" ] } } } ] }

Untuk menolak akses pengguna ke subnet tertentu, gunakan StringEquals untuk memeriksa nilai syarat lambda:SubnetIds. Contoh berikut menolak akses pengguna ke subnet-1 dan subnet-2.

{ "Sid": "EnforceOutOfSubnet", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "lambda:SubnetIds": ["subnet-1", "subnet-2"] } } }

Untuk menolak akses pengguna ke grup keamanan tertentu, gunakan StringEquals untuk memeriksa nilai syarat lambda:SecurityGroupIds. Contoh berikut menolak akses pengguna ke sg-1 dan sg-2.

{ "Sid": "EnforceOutOfSecurityGroups", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "lambda:SecurityGroupIds": ["sg-1", "sg-2"] } } } ] }

Mengizinkan pengguna untuk membuat dan memperbarui fungsi dengan pengaturan VPC tertentu

Untuk mengizinkan pengguna mengakses VPC tertentu, gunakan StringEquals untuk memeriksa nilai syarat lambda:VpcIds. Contoh berikut mengizinkan pengguna mengakses vpc-1 dan vpc-2.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnforceStayInSpecificVpc", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "lambda:VpcIds": [ "vpc-1", "vpc-2" ] } } } ] }

Untuk mengizinkan pengguna mengakses subnet tertentu, gunakan StringEquals untuk memeriksa nilai syarat lambda:SubnetIds. Contoh berikut mengizinkan pengguna mengakses subnet-1 dan subnet-2.

{ "Sid": "EnforceStayInSpecificSubnets", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Allow", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "lambda:SubnetIds": ["subnet-1", "subnet-2"] } } }

Untuk mengizinkan pengguna mengakses grup keamanan tertentu, gunakan StringEquals untuk memeriksa nilai syarat lambda:SecurityGroupIds. Contoh berikut mengizinkan pengguna mengakses sg-1 dan sg-2.

{ "Sid": "EnforceStayInSpecificSecurityGroup", "Action": [ "lambda:CreateFunction", "lambda:UpdateFunctionConfiguration" ], "Effect": "Allow", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "lambda:SecurityGroupIds": ["sg-1", "sg-2"] } } } ] }

Tutorial VPC

Dalam tutorial berikut, Anda menghubungkan fungsi Lambda ke sumber daya di VPC Anda.

Untuk menghubungkan fungsi Anda ke sumber daya di VPC milik lain Akun AWS, lihatMemberikan fungsi Lambda akses ke sumber daya di Amazon VPC di akun lain.