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.
Topik di bagian ini:
Menyiapkan izin peran IAM untuk Kirim ke aksi bucket S3
Poin-poin berikut berlaku untuk peran IAM ini:
-
Itu hanya bisa digunakan untukMengirimkan ke tindakan bucket S3.
-
Ini harus digunakan jika ingin menulis ke bucket S3 yang ada di wilayah di mana SES Penerimaan email tidak tersedia.
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": "*" } ] }