Memberikan izin ke Amazon SES untuk menerima email - Amazon Simple Email Service

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 dilakukan ketika Anda menerima email di Amazon SES, misalnya mengirim email ke bucket Amazon Simple Storage Service (Amazon S3) atau memanggil fungsi AWS Lambda, memerlukan izin khusus. Bagian ini mencakup kebijakan contoh untuk beberapa kasus penggunaan umum.

Memberi izin Amazon SES untuk menulis ke bucket S3

Ketika Anda menerapkan kebijakan berikut ke bucket S3, hal tersebut memberikan izin Amazon SES untuk menulis ke bucket tersebut. 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, lihatMenggunakan Kebijakan ember dan Kebijakan PenggunadiPanduan Pengguna Amazon Simple Storage Service.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowSESPuts", "Effect":"Allow", "Principal":{ "Service":"ses.amazonaws.com" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::myBucket/*", "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 myBucket dengan nama bucket S3 yang ingin Anda tulis.

  • GantidaerahdenganAWSWilayah tempat Anda membuat aturan penerimaan.

  • Ganti 111122223333 dengan ID akun AWS Anda.

  • Gantirule_set_namedengan nama set aturan yang berisi aturan penerimaan yang berisi tindakan bucket Amazon S3.

  • Gantireceipt_rule_namedengan nama aturan penerimaan yang berisi tindakan bucket Amazon S3.

Memberi Amazon SES izin untuk menggunakanAWS KMSkunci

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

Gunakan pernyataan kebijakan berikut sebagai kebijakan kunci untuk memungkinkan Amazon SES menggunakan kunci terkelola 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:

  • GantidaerahdenganAWSWilayah tempat Anda membuat aturan penerimaan.

  • Ganti 111122223333 dengan ID akun AWS Anda.

  • Gantirule_set_namedengan nama set aturan yang berisi aturan penerimaan yang Anda kaitkan dengan penerimaan email.

  • Gantireceipt_rule_namedengan nama aturan tanda terima yang telah Anda kaitkan dengan penerimaan email.

Jika Anda menggunakanAWS KMSuntuk mengirim pesan terenkripsi ke bucket S3 dengan enkripsi sisi server diaktifkan, maka Anda perlu menambahkan tindakan kebijakan,"kms:Decrypt". Dengan 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, lihat Menggunakan kebijakan kunci di AWS KMS dalam Panduan Developer AWS Key Management Service.

Memberi izin Amazon SES untuk menjalankan fungsi AWS Lambda

Untuk mengaktifkan Amazon SES memanggil fungsi AWS Lambda, Anda dapat memilih fungsi ketika Anda membuat aturan penerimaan di konsol Amazon SES. Ketika Anda melakukannya, Amazon 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 API AddPermission memberikan Amazon SES izin 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:

  • GantidaerahdenganAWSWilayah tempat Anda membuat aturan penerimaan.

  • Ganti 111122223333 dengan ID akun AWS Anda.

  • Gantirule_set_namedengan nama set aturan yang berisi aturan penerimaan tempat Anda membuat fungsi Lambda Anda.

  • Gantireceipt_rule_namedengan nama aturan penerimaan yang berisi fungsi Lambda Anda

Berikan izin Amazon SES untuk menerbitkan ke topik Amazon SNS yang dimiliki akun AWS yang berbeda

Mempublikasikan notifikasi ke topik secara terpisahAWSakun, Anda harus melampirkan kebijakan untuk topik Amazon SNS. Topik SNS harus berada di Wilayah yang sama dengan set aturan domain dan tanda terima.

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

{ "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:

  • Gantitopic_regiondenganWilayah AWStopik Amazon SNS diciptakan.

  • Gantisns_topic_account_iddengan IDAWSakun yang memiliki topik Amazon SNS.

  • Gantitopic_namedengan nama topik Amazon SNS yang ingin Anda publikasikan notifikasi.

  • Gantiaws_account_iddengan IDAWSakun yang dikonfigurasi untuk menerima email.

  • Gantireceipt_regiondenganWilayah AWSdi mana Anda membuat aturan penerimaan.

  • Gantirule_set_namedengan nama set aturan yang berisi aturan penerimaan tempat Anda membuat publikasi Anda ke tindakan topik Amazon SNS.

  • Gantireceipt_rule_namedengan nama aturan penerimaan yang berisi publikasi ke tindakan topik Amazon SNS.

Jika topik Amazon SNS Anda menggunakanAWS KMSuntuk enkripsi sisi server, Anda harus menambahkan izin untukAWS KMSkebijakan kunci Anda dapat menambahkan izin dengan melampirkan kebijakan berikut ke kebijakan kunci AWS KMS:

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