Misalnya kebijakan mengirim kebijakan - Layanan Email Sederhana Amazon

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

Misalnya kebijakan mengirim kebijakan

Mengirim otorisasi memungkinkan Anda untuk menentukan syarat detail saat Anda mengizinkan pengirim delegasi untuk mengirim atas nama Anda.

Ketentuan khusus untuk mengirim otorisasi

Syarat adalah pembatasan tentang izin di pernyataan. Bagian dari pernyataan yang menentukan syarat dapat menjadi yang paling detail dari semua bagian. Kunci adalah karakteristik spesifik yang menjadi dasar pembatasan akses, seperti tanggal dan waktu permintaan.

Anda menggunakan syarat maupun kunci secara bersama-sama untuk mengekspresikan pembatasan. Misalnya, jika Anda ingin membatasi pengirim delegasi membuat permintaan ke Amazon SES atas nama Anda setelah 30 Juli 2019, Anda menggunakan syarat yang disebut DateLessThan. Anda menggunakan kunci yang disebut aws:CurrentTime dan mengaturnya ke nilai 2019-07-30T00:00:00Z.

Anda dapat menggunakan salah satuAWS-kunci lebar terdaftar diKunci yang TersediadiPanduan Pengguna IAM, atau Anda dapat menggunakan salah satu kunci berikut khusus untuk SES yang berguna dalam mengirim kebijakan otorisasi:

Kunci syarat

Deskripsi

ses:Recipients

Membatasi alamat penerima, yang menyertakan alamat Kepada:, "CC", dan "BCC".

ses:FromAddress

Membatasi alamat "Dari".

ses:FromDisplayName

Membatasi isi string yang digunakan sebagai nama tampilan "Dari" (terkadang disebut "akrab dari"). Misalnya, nama tampilan "John Doe <johndoe@example.com>" adalah John Doe.

ses:FeedbackAddress

Batasi alamat "Jalur Kembali", yang merupakan alamat tempat pentalan dan aduan dapat dikirim kepada Anda melalui penerusan umpan balik email. Untuk informasi tentang penerusan umpan balik email, lihat Menerima notifikasi Amazon SES melalui email.

Anda dapat menggunakan syarat StringEquals dan StringLike dengan kunci Amazon SES. Syarat ini untuk pencocokan string peka huruf besar kecil. Untuk StringLike, nilai dapat mencakup wildcard yang cocok dengan beberapa karakter (*) atau wildcard yang cocok dengan karakter tunggal (?) di mana pun di string. Misalnya, syarat berikut menentukan bahwa pengirim delegasi hanya dapat mengirim dari alamat "Dari" yang dimulai dengan faktur dan diakhiri dengan @example.com:

"Condition": { "StringLike": { "ses:FromAddress": "invoicing*@example.com" } }

Anda juga dapat menggunakan syarat StringNotLike untuk mencegah pengirim delegasi mengirim email dari alamat email tertentu. Misalnya, Anda dapat melarang pengiriman dari admin@example.com, dan alamat serupa seperti "admin"@example.com, admin+1@example.com, atau sender@admin.example.com, dengan menyertakan syarat berikut di pernyataan kebijakan Anda:

"Condition": { "StringNotLike": { "ses:FromAddress": "*admin*example.com" } }

Untuk informasi selengkapnya tentang cara menentukan syarat, lihat Elemen Kebijakan JSON IAM: Syarat di Panduan Pengguna IAM.

Menentukan pengirim delegasi

Prinsipiel, yang merupakan entitas yang Anda berikan izin, bisa berupa akun Akun AWS, pengguna (IAM)AWS Identity and Access Management, atau layanan AWS.

Contoh berikut menunjukkan kebijakan sederhana yang memungkinkan ID AWS 123456789012 untuk mengirim email dari identitas terverifikasi example.com (yang dimiliki oleh Akun AWS 888888888888). TheConditionpernyataan dalam kebijakan ini hanya mengizinkan delegasi (yaitu,AWSID123456789012) untuk mengirim email dari alamatpemasaran+. * @example .com, dimana*adalah string apa pun yang ingin ditambahkan pengirim setelahnyapemasaran+..

{ "Id":"SampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeMarketer", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromAddress":"marketing+.*@example.com" } } } ] }

Contoh kebijakan berikut memberikan izin ke dua pengguna IAM untuk mengirim dari identitas example.com. Pengguna IAM ditentukan oleh Amazon Resource Name (ARN) mereka.

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeIAMUser", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "arn:aws:iam::111122223333:user/John", "arn:aws:iam::444455556666:user/Jane" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ] } ] }

Contoh kebijakan berikut memberikan izin ke Amazon Cognito untuk mengirim dari identitas example.com.

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeService", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "Service":[ "cognito-idp.amazonaws.com" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition": { "StringEquals": { "aws:SourceAccount": "888888888888", "aws:SourceArn": "arn:aws:cognito-idp:us-east-1:888888888888:userpool/your-user-pool-id-goes-here" } } } ] }

Contoh kebijakan berikut memberikan izin ke semua akun di Organisasi AWS untuk mengirim dari identitas example.com. TheAWSOrganisasi ditentukan menggunakanPrincipalOrgIDkunci kondisi global.

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeOrg", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":"*", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringEquals":{ "aws:PrincipalOrgID":"o-xxxxxxxxxxx" } } } ] }

Membatasi alamat "Dari"

Jika Anda menggunakan domain terverifikasi, Anda mungkin ingin membuat kebijakan yang hanya mengizinkan pengirim delegasi untuk mengirim dari alamat email yang ditentukan. Untuk membatasi alamat “Dari”, Anda mengatur kondisi pada kunci yang disebutses:FromAddress. Kebijakan berikut memungkinkan ID Akun AWS 123456789012 untuk mengirim dari identitas example.com, tetapi hanya dari alamat email sender@example.com.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeFromAddress", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringEquals":{ "ses:FromAddress":"sender@example.com" } } } ] }

Membatasi waktu delegasi dapat mengirim email

Anda juga dapat mengonfigurasi kebijakan otorisasi pengirim sehingga pengirim delegasi hanya dapat mengirim email pada waktu tertentu dalam sehari, atau dalam rentang tanggal tertentu. Misalnya, jika Anda berencana mengirim email kampanye selama bulan September 2021, Anda dapat menggunakan kebijakan berikut untuk membatasi kemampuan delegasi untuk mengirim email ke bulan tersebut saja.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"ControlTimePeriod", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "DateGreaterThan":{ "aws:CurrentTime":"2021-08-31T12:00Z" }, "DateLessThan":{ "aws:CurrentTime":"2021-10-01T12:00Z" } } } ] }

Membatasi tindakan pengiriman email

Ada dua tindakan yang dapat digunakan pengirim untuk mengirim email dengan Amazon SES: SendEmail dan SendRawEmail, tergantung pada banyaknya kendali yang diinginkan pengirim atas format email. Kebijakan otorisasi pengiriman memungkinkan Anda untuk membatasi pengirim delegasi ke salah satu dari dua tindakan tersebut. Namun, banyak pemilik identitas meninggalkan detail email yang mengirim panggilan ke pengirim delegasi dengan mengaktifkan kedua tindakan di kebijakan mereka.

catatan

Jika Anda ingin memungkinkan pengirim delegasi untuk mengakses Amazon SES melalui antarmuka SMTP, Anda minimal harus memilih SendRawEmail.

Jika kasus penggunaan Anda sedemikian rupa sehingga Anda ingin membatasi tindakan, Anda dapat melakukannya dengan memasukkan hanya salah satu tindakan di kebijakan otorisasi pengiriman Anda. Contoh berikut menunjukkan cara membatasi tindakan untuk SendRawEmail.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"ControlAction", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendRawEmail" ] } ] }

Membatasi nama tampilan pengirim email

Beberapa klien email menampilkan nama "akrab" pengirim email (jika header email menyediakannya), bukan alamat "Dari" yang sebenarnya. Misalnya, nama tampilan "John Doe <johndoe@example.com>" adalah John Doe. Untuk instans, Anda dapat mengirim email dari user@example.com, namun Anda lebih suka penerima melihat bahwa email berasal dari Pemasaran daripada dari user@example.com. Kebijakan berikut memungkinkan ID Akun AWS 123456789012 untuk mengirim dari identitas example.com, tetapi hanya jika nama tampilan alamat "Dari" menyertakan Pemasaran.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeFromAddress", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromDisplayName":"Marketing" } } } ] }

Menggunakan beberapa pernyataan

Kebijakan otorisasi pengiriman Anda dapat mencakup beberapa pernyataan. Contoh kebijakan berikut ini memiliki dua pernyataan. Pernyataan pertama mengautorisasi dua Akun AWS untuk mengirim dari sender@example.com selama alamat "Dari" dan alamat umpan balik keduanya menggunakan domain example.com. Pernyataan kedua mengotorisasi pengguna IAM untuk mengirim email dari sender@example.com selama alamat email penerima berada di bawah domain example.com.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeAWS", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:999999999999:identity/sender@example.com", "Principal":{ "AWS":[ "111111111111", "222222222222" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromAddress":"*@example.com", "ses:FeedbackAddress":"*@example.com" } } }, { "Sid":"AuthorizeInternal", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:999999999999:identity/sender@example.com", "Principal":{ "AWS":"arn:aws:iam::333333333333:user/Jane" }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "ForAllValues:StringLike":{ "ses:Recipients":"*@example.com" } } } ] }