Memberikan izin ke Amazon SES untuk menerima email - Layanan Email Sederhana Amazon

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

Memberikan izin ke Amazon SES untuk menerima email

Beberapa tugas yang dapat Anda lakukan saat menerima email di SES, seperti mengirim email ke bucket Amazon Simple Storage Service (Amazon S3) atau memanggil fungsi, memerlukan AWS Lambda izin khusus. Bagian ini mencakup kebijakan contoh untuk beberapa kasus penggunaan umum.

Menyiapkan izin peran IAM untuk Kirim ke aksi bucket S3

Poin-poin berikut berlaku untuk peran IAM ini:

Jika ingin menulis ke bucket S3, Anda dapat memberikan peran IAM dengan izin untuk mengakses sumber daya yang relevan untuk. Mengirimkan ke tindakan bucket S3 Anda juga perlu memberikan izin SES untuk mengambil peran itu untuk melakukan tindakan melalui kebijakan kepercayaan IAM seperti yang dijelaskan di bagian berikutnya.

Kebijakan izin ini harus ditempelkan ke editor kebijakan inline peran IAM—lihat Mengirimkan ke tindakan bucket S3 dan ikuti langkah-langkah yang diberikan dalam item peran IAM. (Contoh berikut juga menyertakan izin opsional jika Anda ingin menggunakan pemberitahuan topik SNS, atau kunci yang dikelola pelanggan dalam tindakan S3.)

{ "Version": "2012-10-17", "Statement": [ // Required: allows SES to write in the bucket { "Sid": "S3Access", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }, // Optional: use if an SNS topic is used in the S3 action { "Sid": "SNSAccess", "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:region:111122223333:my-topic" }, // Optional: use if a customer managed key is used in the S3 action { "Sid": "KMSAccess", "Effect": "Allow", "Action": "kms:GenerateDataKey*", "Resource": "arn:aws:kms:region::111122223333:key/key-id" } ] }

Buat perubahan berikut ke contoh kebijakan sebelumnya:

  • Ganti amzn-s3-demo-bucket dengan nama bucket S3 yang ingin Anda tulis.

  • Ganti region dengan Wilayah AWS tempat Anda membuat aturan tanda terima.

  • Ganti 111122223333 dengan ID akun AWS Anda.

  • Ganti my-topic dengan nama topik SNS yang ingin Anda publikasikan notifikasi.

  • Ganti key-id dengan ID kunci KMS Anda.

Kebijakan kepercayaan untuk peran IAM aksi S3

Kebijakan kepercayaan berikut harus ditambahkan ke dalam hubungan Trust dari peran IAM untuk memungkinkan SES mengambil peran itu.

catatan

Penambahan manual kebijakan kepercayaan ini hanya diperlukan jika Anda tidak membuat peran IAM dari konsol SES menggunakan langkah-langkah yang diberikan dalam item peran IAM dari alur kerja. Mengirimkan ke tindakan bucket S3 Saat Anda membuat peran IAM dari konsol, kebijakan kepercayaan ini secara otomatis dibuat dan diterapkan ke peran yang membuat langkah ini tidak diperlukan.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSESAssume", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount":"111122223333", "AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" } } } ] }

Buat perubahan berikut ke contoh kebijakan sebelumnya:

  • Ganti region dengan Wilayah AWS tempat Anda membuat aturan tanda terima.

  • Ganti 111122223333 dengan ID akun AWS Anda.

  • Ganti rule_set_name dengan nama kumpulan aturan yang berisi aturan tanda terima yang berisi tindakan bucket pengiriman ke Amazon S3.

  • Ganti receipt_rule_name dengan nama aturan tanda terima yang berisi aksi bucket pengiriman ke Amazon S3.

Berikan izin SES untuk menulis ke bucket S3

Jika Anda menerapkan kebijakan berikut ke bucket S3, kebijakan tersebut memberikan izin SES untuk menulis ke bucket tersebut selama kebijakan tersebut ada di wilayah di mana penerimaan Email SES tersedia—jika Anda ingin menulis ke bucket di luar wilayah penerima Email, lihat. Menyiapkan izin peran IAM untuk Kirim ke aksi bucket S3 Untuk informasi selengkapnya tentang membuat aturan penerimaan yang mentransfer email masuk ke Amazon S3, lihat Mengirimkan ke tindakan bucket S3.

Untuk informasi selengkapnya tentang melampirkan kebijakan ke bucket S3, lihat Menggunakan Kebijakan Bucket dan Kebijakan Pengguna di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowSESPuts", "Effect":"Allow", "Principal":{ "Service":"ses.amazonaws.com" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"111122223333", "AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" } } } ] }

Buat perubahan berikut ke contoh kebijakan sebelumnya:

  • Ganti amzn-s3-demo-bucket dengan nama bucket S3 yang ingin Anda tulis.

  • Ganti region dengan AWS Wilayah tempat Anda membuat aturan tanda terima.

  • Ganti 111122223333 dengan ID akun AWS Anda.

  • Ganti rule_set_name dengan nama kumpulan aturan yang berisi aturan tanda terima yang berisi tindakan bucket pengiriman ke Amazon S3.

  • Ganti receipt_rule_name dengan nama aturan tanda terima yang berisi aksi bucket pengiriman ke Amazon S3.

Berikan izin SES untuk menggunakan AWS KMS kunci Anda

Agar SES mengenkripsi email Anda, ia harus memiliki izin untuk menggunakan AWS KMS kunci yang Anda tentukan saat Anda mengatur aturan tanda terima Anda. Anda dapat menggunakan kunci KMS default (aws/ses) di akun Anda, atau menggunakan kunci terkelola pelanggan yang Anda buat. Jika Anda menggunakan kunci KMS default, Anda tidak perlu melakukan langkah tambahan apa pun untuk memberikan izin SES untuk menggunakannya. Jika Anda menggunakan kunci yang dikelola pelanggan, Anda perlu memberikan izin SES untuk menggunakannya dengan menambahkan pernyataan ke kebijakan kunci.

Gunakan pernyataan kebijakan berikut sebagai kebijakan utama untuk mengizinkan SES menggunakan kunci yang dikelola pelanggan Anda saat menerima email di domain Anda.

{ "Sid": "AllowSESToEncryptMessagesBelongingToThisAccount", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*" ], "Resource": "*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"111122223333", "AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" } } }

Buat perubahan berikut ke contoh kebijakan sebelumnya:

  • Ganti region dengan AWS Wilayah tempat Anda membuat aturan tanda terima.

  • Ganti 111122223333 dengan ID akun AWS Anda.

  • Ganti rule_set_name dengan nama kumpulan aturan yang berisi aturan tanda terima yang terkait dengan penerimaan email.

  • Ganti receipt_rule_name dengan nama aturan tanda terima yang Anda kaitkan dengan penerimaan email.

Jika Anda menggunakannya AWS KMS untuk mengirim pesan terenkripsi ke bucket S3 dengan enkripsi sisi server diaktifkan, Anda perlu menambahkan tindakan kebijakan,. "kms:Decrypt" Menggunakan contoh sebelumnya, menambahkan tindakan ini ke kebijakan Anda akan muncul sebagai berikut:

{ "Sid": "AllowSESToEncryptMessagesBelongingToThisAccount", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"111122223333", "AWS:SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" } } }

Untuk informasi selengkapnya tentang melampirkan kebijakan ke AWS KMS kunci, lihat Menggunakan Kebijakan Utama AWS KMS di Panduan AWS Key Management Service Pengembang.

Berikan izin SES untuk menjalankan fungsi AWS Lambda

Untuk mengaktifkan SES memanggil AWS Lambda fungsi, Anda dapat memilih fungsi saat membuat aturan tanda terima di konsol SES. Ketika Anda melakukannya, SES secara otomatis menambahkan izin yang diperlukan untuk fungsi.

Atau, Anda dapat menggunakan operasi AddPermission dalam API AWS Lambda untuk melampirkan kebijakan ke fungsi. Panggilan berikut ke AddPermission API memberikan izin SES untuk menjalankan fungsi Lambda Anda. Untuk informasi selengkapnya tentang melampirkan kebijakan fungsi Lambda, lihat Izin AWS Lambda dalam Panduan Developer AWS Lambda .

{ "Action": "lambda:InvokeFunction", "Principal": "ses.amazonaws.com", "SourceAccount": "111122223333", "SourceArn": "arn:aws:ses:region:111122223333:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" "StatementId": "GiveSESPermissionToInvokeFunction" }

Buat perubahan berikut ke contoh kebijakan sebelumnya:

  • Ganti region dengan AWS Wilayah tempat Anda membuat aturan tanda terima.

  • Ganti 111122223333 dengan ID akun AWS Anda.

  • Ganti rule_set_name dengan nama kumpulan aturan yang berisi aturan tanda terima tempat Anda membuat fungsi Lambda.

  • Ganti receipt_rule_name dengan nama aturan tanda terima yang berisi fungsi Lambda Anda.

Berikan izin SES untuk mempublikasikan ke topik Amazon SNS yang termasuk dalam akun yang berbeda AWS

Untuk mempublikasikan pemberitahuan ke topik di AWS akun terpisah, Anda harus melampirkan kebijakan ke topik Amazon SNS. Topik SNS harus berada di Wilayah yang sama dengan domain dan aturan penerimaan yang ditetapkan.

Kebijakan berikut memberikan izin SES untuk mempublikasikan ke topik Amazon SNS di akun terpisah AWS .

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"ses.amazonaws.com" }, "Action":"SNS:Publish", "Resource":"arn:aws:sns:topic_region:sns_topic_account_id:topic_name", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"aws_account_id", "AWS:SourceArn": "arn:aws:ses:receipt_region:aws_account_id:receipt-rule-set/rule_set_name:receipt-rule/receipt_rule_name" } } } ] }

Buat perubahan berikut ke contoh kebijakan sebelumnya:

  • Ganti topic_region dengan topik Amazon SNS yang dibuat. Wilayah AWS

  • Ganti sns_topic_account_id dengan ID AWS akun yang memiliki topik Amazon SNS.

  • Ganti topic_name dengan nama topik Amazon SNS yang ingin Anda publikasikan notifikasi.

  • Ganti aws_account_id dengan ID AWS akun yang dikonfigurasi untuk menerima email.

  • Ganti receipt_region dengan Wilayah AWS tempat Anda membuat aturan tanda terima.

  • Ganti rule_set_name dengan nama kumpulan aturan yang berisi aturan tanda terima tempat Anda membuat tindakan topik publikasi ke Amazon SNS.

  • Ganti receipt_rule_name dengan nama aturan tanda terima yang berisi tindakan topik publikasi ke Amazon SNS.

Jika topik Amazon SNS Anda digunakan AWS KMS untuk enkripsi sisi server, Anda harus menambahkan izin ke kebijakan utama. AWS KMS Anda dapat menambahkan izin dengan melampirkan kebijakan berikut ke kebijakan AWS KMS utama:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSESToUseKMSKey", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }