Mengonfigurasi kebijakan IAM untuk Titik Akses Lambda Objek - Amazon Simple Storage Service

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

Mengonfigurasi kebijakan IAM untuk Titik Akses Lambda Objek

Kebijakan sumber daya dukungan titik akses Amazon S3 AWS Identity and Access Management (IAM) yang dapat Anda gunakan untuk mengontrol penggunaan titik akses menurut sumber daya, pengguna, atau kondisi lainnya. Anda dapat mengontrol akses melalui kebijakan sumber daya opsional pada Titik Akses Lambda Objek, atau kebijakan sumber daya untuk mendukung titik akses. Sebagai step-by-step contoh, lihat Tutorial: Mengubah data untuk aplikasi Anda dengan S3 Object Lambda danTutorial: Mendeteksi dan menyunting data PII dengan Objek S3 Lambda dan Amazon Comprehend.

Empat sumber daya berikut harus memiliki izin yang diberikan untuk bekerja dengan Titik Akses Lambda Objek:

  • Identitas IAM, seperti pengguna atau peran. Untuk informasi selengkapnya tentang identitas IAM dan praktik terbaik, lihat Identitas IAM (pengguna, grup pengguna, dan peran) dalam Panduan Pengguna IAM.

  • Bucket dan titik akses standar terkait. Saat Anda bekerja dengan Titik Akses Lambda Objek, titik akses standar ini dikenal sebagai titik akses pendukung.

  • Titik akses Lambda Object.

  • AWS Lambda Fungsinya.

penting

Sebelum menyimpan kebijakan, pastikan untuk menyelesaikan peringatan keamanan, kesalahan, peringatan umum, dan saran dari. AWS Identity and Access Management Access Analyzer Penganalisis Akses IAM menjalankan pemeriksaan kebijakan untuk memvalidasi kebijakan Anda terhadap tata bahasa kebijakan IAM dan praktik terbaik. Pemeriksaan ini menghasilkan temuan dan memberikan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang fungsional dan sesuai dengan praktik terbaik keamanan.

Untuk mempelajari validasi kebijakan menggunakan Penganalisis Akses IAM lebih lanjut, lihat Memvalidasi kebijakan Penganalisis Akses IAM di Panduan Pengguna IAM. Untuk melihat daftar peringatan, kesalahan, dan saran yang ditampilkan oleh Penganalisis Akses IAM, lihat referensi pemeriksaan kebijakan Penganalisis Akses IAM.

Contoh kebijakan berikut mengasumsikan bahwa Anda memiliki sumber daya berikut:

  • Bucket Amazon S3 dengan Amazon Resource Name (ARN) berikut:

    arn:aws:s3:::amzn-s3-demo-bucket1

  • Titik akses Amazon S3 standard pada bucket ini dengan ARN berikut:

    arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point

  • Titik akses Lambda Objek dengan ARN berikut:

    arn:aws:s3-object-lambda:us-east-1:111122223333:accesspoint/my-object-lambda-ap

  • AWS Lambda Fungsi dengan ARN berikut:

    arn:aws:lambda:us-east-1:111122223333:function:MyObjectLambdaFunction

catatan

Jika Anda menggunakan fungsi Lambda dari akun, Anda harus menyertakan versi fungsi tertentu dalam pernyataan kebijakan Anda. Dalam contoh ARN berikut, versinya ditandai dengan 1:

arn:aws:lambda:us-east-1:111122223333:function:MyObjectLambdaFunction:1

Lambda tidak mendukung penambahan kebijakan IAM ke versi. $LATEST Untuk informasi selengkapnya tentang versi fungsi Lambda, lihat Versi fungsi Lambda dalam Panduan Pengembang AWS Lambda .

contoh – Kebijakan bucket yang mendelegasikan kontrol akses ke titik akses standar

Contoh kebijakan bucket S3 berikut mendelegasikan kontrol akses untuk sebuah bucket ke titik akses standar bucket. Kebijakan ini memungkinkan akses penuh ke semua titik akses yang dimiliki oleh akun pemilik bucket. Oleh karena itu, semua akses ke bucket ini dikendalikan oleh kebijakan yang melekat pada titik aksesnya. Pengguna dapat membaca dari bucket hanya melalui titik akses, yang berarti bahwa operasi hanya dapat dipanggil melalui titik akses. Untuk informasi selengkapnya, lihat Mendelegasikan kontrol akses ke titik akses.

{ "Version": "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal" : { "AWS":"account-ARN"}, "Action" : "*", "Resource" : [ "arn:aws:s3:::amzn-s3-demo-bucket1", "arn:aws:s3:::amzn-s3-demo-bucket1/*" ], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "Bucket owner's account ID" } } }] }
contoh — Kebijakan IAM yang memberikan pengguna izin yang diperlukan untuk menggunakan Titik Akses Objek Lambda

Kebijakan IAM berikut memberikan izin pengguna ke fungsi Lambda, titik akses standar, dan Titik Akses Lambda Objek.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLambdaInvocation", "Action": [ "lambda:InvokeFunction" ], "Effect": "Allow", "Resource": "arn:aws:lambda:us-east-1:111122223333:function:MyObjectLambdaFunction:1", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "s3-object-lambda.amazonaws.com" ] } } }, { "Sid": "AllowStandardAccessPointAccess", "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point/*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "s3-object-lambda.amazonaws.com" ] } } }, { "Sid": "AllowObjectLambdaAccess", "Action": [ "s3-object-lambda:Get*", "s3-object-lambda:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3-object-lambda:us-east-1:111122223333:accesspoint/my-object-lambda-ap" } ] }

Aktifkan izin untuk peran eksekusi Lambda

Ketika GET permintaan dibuat ke Object Lambda Access Point, fungsi Lambda Anda memerlukan izin untuk mengirim data ke S3 Object Lambda Access Point. Izin ini diberikan dengan mengaktifkan izin s3-object-lambda:WriteGetObjectResponse pada peran eksekusi fungsi Lambda Anda. Anda dapat membuat peran eksekusi baru atau memperbarui peran yang sudah ada.

catatan

Fungsi Anda memerlukan izin s3-object-lambda:WriteGetObjectResponse hanya jika Anda membuat permintaan GET.

Untuk membuat peran eksekusi di konsol IAM
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi sebelah kiri, pilih Peran.

  3. Pilih Buat peran.

  4. Di bawah Kasus penggunaan umum, pilih Lambda.

  5. Pilih Berikutnya.

  6. Pada halaman Tambahkan izin, cari kebijakan AWS terkelola AmazonS3ObjectLambdaExecutionRolePolicy, lalu pilih kotak centang di samping nama kebijakan.

    Kebijakan ini harus berisi Tindakan s3-object-lambda:WriteGetObjectResponse.

  7. Pilih Berikutnya.

  8. Pada halaman Nama, tinjau, dan buat, untuk Nama peran, masukkan s3-object-lambda-role.

  9. (Opsional) Tambahkan deskripsi dan tag untuk peran ini.

  10. Pilih Buat peran.

  11. Terapkan s3-object-lambda-role yang baru dibuat sebagai peran eksekusi fungsi Lambda Anda. Ini dapat dilakukan selama atau setelah pembuatan fungsi Lambda di konsol Lambda.

Untuk informasi selengkapnya tentang peran eksekusi, lihat Peran eksekusi Lambda di Panduan Pengembang AWS Lambda .

Menggunakan kunci konteks dengan Titik Akses Lambda Objek

S3 Lambda Objek akan mengevaluasi kunci konteks seperti s3-object-lambda:TlsVersion atau s3-object-lambda:AuthType yang terkait dengan koneksi atau penandatanganan permintaan. Semua kunci konteks lainnya, seperti s3:prefix, dievaluasi oleh Amazon S3.