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.
Topik di bagian ini:
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. -
Ganti
daerah
denganAWSWilayah tempat Anda membuat aturan penerimaan. -
Ganti
111122223333
dengan ID akun AWS Anda. -
Ganti
rule_set_name
dengan nama set aturan yang berisi aturan penerimaan yang berisi tindakan bucket Amazon S3. -
Ganti
receipt_rule_name
dengan 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:
-
Ganti
daerah
denganAWSWilayah tempat Anda membuat aturan penerimaan. -
Ganti
111122223333
dengan ID akun AWS Anda. -
Ganti
rule_set_name
dengan nama set aturan yang berisi aturan penerimaan yang Anda kaitkan dengan penerimaan email. -
Ganti
receipt_rule_name
dengan 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:
-
Ganti
daerah
denganAWSWilayah tempat Anda membuat aturan penerimaan. -
Ganti
111122223333
dengan ID akun AWS Anda. -
Ganti
rule_set_name
dengan nama set aturan yang berisi aturan penerimaan tempat Anda membuat fungsi Lambda Anda. -
Ganti
receipt_rule_name
dengan 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:
-
Ganti
topic_region
denganWilayah AWStopik Amazon SNS diciptakan. -
Ganti
sns_topic_account_id
dengan IDAWSakun yang memiliki topik Amazon SNS. -
Ganti
topic_name
dengan nama topik Amazon SNS yang ingin Anda publikasikan notifikasi. -
Ganti
aws_account_id
dengan IDAWSakun yang dikonfigurasi untuk menerima email. -
Ganti
receipt_region
denganWilayah AWSdi mana Anda membuat aturan penerimaan. -
Ganti
rule_set_name
dengan nama set aturan yang berisi aturan penerimaan tempat Anda membuat publikasi Anda ke tindakan topik Amazon SNS. -
Ganti
receipt_rule_name
dengan 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": "*" } ] }