memberikan izin untuk memublikasikan pesan pemberitahuan peristiwa ke tujuan - Amazon Simple Storage Service

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

memberikan izin untuk memublikasikan pesan pemberitahuan peristiwa ke tujuan

Anda harus memberikan izin yang diperlukan kepada prinsipal Amazon S3 untuk memanggil yang relevan untuk mempublikasikan pesan API ke SNS topik, SQS antrian, atau fungsi Lambda. Hal ini agar Amazon S3 dapat memublikasikan pesan pemberitahuan peristiwa ke tujuan.

Untuk memecahkan masalah memublikasikan pesan pemberitahuan peristiwa ke tujuan, lihat Memecahkan masalah untuk memublikasikan pemberitahuan peristiwa Amazon S3 ke topik Layanan Pemberitahuan Sederhana Amazon .

Memberikan izin untuk memanggil AWS Lambda Fungsi

Amazon S3 menerbitkan pesan acara ke AWS Lambda dengan menjalankan fungsi Lambda dan memberikan pesan acara sebagai argumen.

Saat Anda menggunakan konsol Amazon S3 untuk mengonfigurasi notifikasi peristiwa pada bucket Amazon S3 untuk fungsi Lambda, konsol menyiapkan izin yang diperlukan pada fungsi Lambda. Ini agar Amazon S3 memiliki izin untuk menginvokasi fungsi dari bucket. Untuk informasi selengkapnya, lihat Mengaktifkan dan mengonfigurasi notifikasi peristiwa menggunakan konsol Amazon S3.

Anda juga dapat memberikan izin Amazon S3 dari AWS Lambda untuk menjalankan fungsi Lambda Anda. Untuk informasi lebih lanjut, lihat Tutorial: Menggunakan AWS Lambda dengan Amazon S3 di AWS Lambda Panduan Pengembang.

Memberikan izin untuk mempublikasikan pesan ke SNS topik atau antrian SQS

Untuk memberikan izin Amazon S3 untuk memublikasikan pesan ke SNS topik atau SQS antrian, lampirkan AWS Identity and Access Management (IAM) kebijakan untuk SNS topik tujuan atau SQS antrian.

Untuk contoh cara melampirkan kebijakan ke SNS topik atau SQS antrian, lihatWalkthrough: Mengonfigurasi bucket untuk notifikasi (SNStopik atau antrian) SQS. Untuk informasi lebih lanjut tentang izin, lihat topik berikut:

IAMkebijakan untuk SNS topik tujuan

Berikut ini adalah contoh dari AWS Identity and Access Management (IAM) kebijakan yang Anda lampirkan ke SNS topik tujuan. Untuk petunjuk tentang cara menggunakan kebijakan ini untuk menyiapkan SNS topik Amazon tujuan untuk pemberitahuan peristiwa, lihatWalkthrough: Mengonfigurasi bucket untuk notifikasi (SNStopik atau antrian) SQS.

{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "Example SNS topic policy", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "SNS-topic-ARN", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:bucket-name" }, "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id" } } } ] }

IAMkebijakan untuk SQS antrian tujuan

Berikut ini adalah contoh IAM kebijakan yang Anda lampirkan ke SQS antrian tujuan. Untuk petunjuk tentang cara menggunakan kebijakan ini untuk menyiapkan SQS antrean Amazon tujuan untuk pemberitahuan peristiwa, lihatWalkthrough: Mengonfigurasi bucket untuk notifikasi (SNStopik atau antrian) SQS.

Untuk menggunakan kebijakan ini, Anda harus memperbarui SQS antrian AmazonARN, nama bucket, dan pemilik bucket Akun AWS ID.

{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SQS:SendMessage" ], "Resource": "arn:aws:sqs:Region:account-id:queue-name", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:awsexamplebucket1" }, "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id" } } } ] }

Untuk SQS IAM kebijakan Amazon SNS dan Amazon, Anda dapat menentukan StringLike kondisi dalam kebijakan, bukan ArnLike kondisi.

Ketika ArnLike digunakan, partisi, layanan, account-id, resource-type, dan sebagian resource-id bagian ARN harus memiliki pencocokan yang tepat dengan dalam konteks permintaan. ARN Hanya wilayah dan jalur sumber daya yang memungkinkan pencocokan sebagian.

Ketika StringLike digunakan sebagai penggantiArnLike, pencocokan mengabaikan ARN struktur dan memungkinkan pencocokan paral, terlepas dari bagian yang dikartu liar. Untuk informasi selengkapnya, lihat elemen IAM JSON kebijakan di Panduan IAM Pengguna.

"Condition": {        "StringLike": { "aws:SourceArn": "arn:aws:s3:*:*:bucket-name" } }

AWS KMS kebijakan kunci

Jika SQS antrian atau SNS topik dienkripsi dengan AWS Key Management Service (AWS KMS) kunci terkelola pelanggan, Anda harus memberikan izin utama layanan Amazon S3 untuk bekerja dengan topik atau antrian terenkripsi. Untuk memberikan izin pengguna utama layanan Amazon S3, tambahkan pernyataan berikut ke kebijakan kunci untuk CMK.

{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }

Untuk informasi lebih lanjut tentang AWS KMS kebijakan kunci, lihat Menggunakan kebijakan utama di AWS KMSdi AWS Key Management Service Panduan Pengembang.

Untuk informasi lebih lanjut tentang menggunakan enkripsi sisi server dengan AWS KMS untuk Amazon SQS dan AmazonSNS, lihat yang berikut ini: