View a markdown version of this page

Mendapatkan kredensial SMTP Amazon SES - Layanan Email Sederhana Amazon

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

Mendapatkan kredensial SMTP Amazon SES

Anda memerlukan kredenSIAL SMTP Amazon SES untuk mengakses antarmuka SES SMTP.

KredenSIAL yang Anda gunakan untuk mengirim email melalui antarmuka SES SMTP unik untuk setiap Wil AWS ayah. Jika Anda menggunakan antarmuka SES SMTP untuk mengirim email di lebih dari satu Wilayah, Anda harus membuat satu set kredenSIAL SMTP untuk setiap Wilayah yang Anda rencanakan untuk digunakan.

Kata sandi SMTP Anda berbeda dari kunci akses AWS rahasia Anda. Untuk informasi selengkapnya tentang jenis kredensial, lihat Tipe kredensial Amazon SES.

catatan

Untuk daftar titik akhir SMTP yang tersedia saat ini, lihat titik akhir SMTP di. Referensi Umum AWS

Memperoleh kredenSIAL SES SMTP menggunakan konsol SES

Persyaratan

Pengguna IAM dapat membuat kredenSIAL SES SMTP, tetapi kebijakan pengguna harus memberi mereka izin untuk menggunakan IAM itu sendiri, karena kredenSIAL SES SMTP dibuat dengan menggunakan IAM. Kebijakan IAM Anda harus memungkinkan Anda untuk melakukan tindakan IAM berikut:iam:CreateUser,,, iam:CreateGroup iam:PutGroupPolicyiam:AddUserToGroup, dan. iam:CreateAccessKey Jika Anda mencoba membuat kredenSIAL SES SMTP menggunakan konsol dan pengguna IAM Anda tidak memiliki izin ini, Anda mungkin melihat kesalahan atau kredentif SMTP dapat dibuat tanpa pengaturan kebijakan yang tepat.

penting

Beberapa tindakan IAM yang dirujuk di atas, khususnya iam:PutGroupPolicy daniam:AddUserToGroup, memiliki tingkat akses manajemen izin yang merupakan tingkat IAM tertinggi karena memberikan izin untuk memberikan atau memodifikasi izin sumber daya dalam layanan. Oleh karena itu, untuk meningkatkan keamanan AWS akun Anda, sangat disarankan agar Anda membatasi atau memantau kebijakan ini secara teratur yang mencakup klasifikasi tingkat akses manajemen izin.

Untuk membuat kredensial SMTP Anda
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon SES di https://console.aws.amazon.com/ses/.

  2. Pilih pengaturan SMTP di panel navigasi kiri - ini akan membuka halaman pengaturan Sim ple Mail Transfer Protocol (SMTP).

  3. Pilih Buat Kredensi SMTP di sudut kanan atas - konsol IAM akan terbuka.

  4. (Opsional) Jika Anda perlu melihat, mengedit, atau menghapus pengguna SMTP yang telah Anda buat, pilih Kelola kredentif SMTP saya yang ada di sudut kanan bawah - konsol IAM akan terbuka. Rincian untuk mengelola kredenSIAL SMTP diberikan mengikuti prosedur ini.

  5. Untuk Buat Pengguna untuk SMTP, ketikkan nama untuk pengguna SMTP Anda di bidang Nama Pengguna. Atau, Anda dapat menggunakan nilai default yang disediakan di bidang ini. Setelah selesai, pilih Buat pengguna di sudut kanan bawah.

  6. Pilih Tampilkan di bawah kata sandi SMTP - kredenSIAL SMTP Anda ditampilkan di layar.

  7. Unduh kredensional ini dengan memilih Unduh file.csv atau salin dan simpan di tempat yang aman, karena Anda tidak dapat melihat atau menyimpan kredenSIAL setelah menutup kotak dialog ini.

  8. Pilih Kembali ke konsol SES.

Anda dapat melihat daftar kredentif SMTP yang telah Anda buat menggunakan prosedur ini di konsol IAM di bawah Manajemen akses dan memilih Pengguna diikuti dengan menggunakan bilah pencarian untuk menemukan semua pengguna yang telah Anda tetapkan kredentif SMTP.

Anda juga dapat menggunakan konsol IAM untuk menghapus pengguna SMTP yang sudah ada. Untuk mempelajari selengkapnya tentang menghapus pengguna, lihat Mengelola Pengguna IAM di Panduan Memulai IAM.

Jika Anda ingin mengubah kata sandi SMTP, Hapus pengguna SMTP yang ada di konsol IAM. Kemudian, untuk menghasilkan satu set kredensial SMTP yang baru, selesaikan prosedur sebelumnya .

Memperoleh kredenSIAL SES SMTP dengan mengonversi yang ada AWS credentials

Jika Anda memiliki pengguna yang Anda atur menggunakan antarmuka IAM, Anda dapat memperoleh kredentif SES SMTP pengguna dari kredensialnya AWS .

penting

Jangan gunakan AWS kredenSIAL sementara untuk mendapatkan kredenSIAL SMTP. Antarmuka SMTP SES tidak mendukung kredenSIAL SMTP yang telah dihasilkan dari kredenSIAL keamanan sementara.

Untuk mengaktifkan pengguna IAM mengirim email menggunakan antarmuka SES SMTP
  1. Dapatkan kredentif SMTP pengguna dari kredensi AWS alnya dengan menggunakan algoritma yang disediakan di bagian ini mengikuti prosedur ini.

    Karena Anda memulai dari AWS kredenSIAL, nama pengguna SMTP sama dengan ID kunci AWS akses, jadi Anda hanya perlu membuat kata sandi SMTP.

  2. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  3. Di bawah Manajemen akses, pilih Kebijakan diikuti dengan Buat kebijakan.

  4. Di editor Kebijakan, pilih JSON dan hapus kode contoh apa pun di editor.

  5. Tempel ke kebijakan izin berikut ke editor:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
  6. Pilih Berikutnya dan masukkan AmazonSesSendingAccess di bidang Nama kebijakan diikuti oleh Buat kebijakan.

  7. Di bawah Manajemen akses, pilih Grup pengguna diikuti oleh Buat grup.

  8. Masukkan AWSSESSendingGroupDoNotRename di bidang Nama grup pengguna.

  9. Tambahkan pengguna SMTP ke grup dengan memilih mereka dari tabel Tambahkan pengguna ke grup.

  10. Lampirkan AmazonSesSendingAccess kebijakan yang dibuat sebelumnya dengan memilihnya dari tabel Lamp irkan kebijakan izin diikuti oleh Buat grup pengguna.

Untuk informasi selengkapnya tentang menggunakan SES dengan IAM, lihatIdentity and access management di Amazon SES.

catatan

Meskipun Anda dapat membuat kredentif SES SMTP untuk setiap pengguna IAM, kami sarankan Anda membuat pengguna IAM terpisah saat Anda membuat kredenSIAL SMTP. Untuk informasi tentang mengapa ini praktik yang baik untuk membuat pengguna dengan tujuan tertentu, buka Praktik Terbaik IAM.

Pseudocode berikut menunjukkan algoritma yang mengubah kunci akses AWS rahasia ke kata sandi SES SMTP.

// Modify this variable to include your AWS secret access key key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"; // Modify this variable to refer to the AWS Region that you want to use to send email. region = "us-west-2"; // The values of the following variables should always stay the same. date = "11111111"; service = "ses"; terminal = "aws4_request"; message = "SendRawEmail"; version = 0x04; kDate = HmacSha256(date, "AWS4" + key); kRegion = HmacSha256(region, kDate); kService = HmacSha256(service, kRegion); kTerminal = HmacSha256(terminal, kService); kMessage = HmacSha256(message, kTerminal); signatureAndVersion = Concatenate(version, kMessage); smtpPassword = Base64(signatureAndVersion);

Beberapa bahasa pemrograman termasuk pustaka yang dapat Anda gunakan untuk mengubah secret access key IAM menjadi kata sandi SMTP. Bagian ini mencakup contoh kode yang dapat Anda gunakan untuk mengonversi kunci akses AWS rahasia ke kata sandi SES SMTP menggunakan Python.

catatan
  • Contoh berikut menggunakan f-string yang diperkenalkan di Python 3.6; jika menggunakan versi lama, maka tidak akan berfungsi.

  • Dalam contoh berikut, daftar SMTP_REGIONS hanyalah contoh-daftar wilayah Anda yang sebenarnya bisa lebih pendek atau lebih panjang tergantung pada wilayah mana Anda berencana untuk mengirim email karena Anda memerlukan kredentif SMTP untuk masing-masing wilayah. Wilayah AWS

Python
#!/usr/bin/env python3 import hmac import hashlib import base64 import argparse SMTP_REGIONS = [ "us-east-2", # US East (Ohio) "us-east-1", # US East (N. Virginia) "us-west-2", # US West (Oregon) "ap-south-1", # Asia Pacific (Mumbai) "ap-northeast-2", # Asia Pacific (Seoul) "ap-southeast-1", # Asia Pacific (Singapore) "ap-southeast-2", # Asia Pacific (Sydney) "ap-northeast-1", # Asia Pacific (Tokyo) "ca-central-1", # Canada (Central) "eu-central-1", # Europe (Frankfurt) "eu-west-1", # Europe (Ireland) "eu-west-2", # Europe (London) "eu-south-1", # Europe (Milan) "eu-north-1", # Europe (Stockholm) "sa-east-1", # South America (Sao Paulo) "us-gov-west-1", # AWS GovCloud (US) "us-gov-east-1", # AWS GovCloud (US) ] # These values are required to calculate the signature. Do not change them. DATE = "11111111" SERVICE = "ses" MESSAGE = "SendRawEmail" TERMINAL = "aws4_request" VERSION = 0x04 def sign(key, msg): return hmac.new(key, msg.encode("utf-8"), hashlib.sha256).digest() def calculate_key(secret_access_key, region): if region not in SMTP_REGIONS: raise ValueError(f"The {region} Region doesn't have an SMTP endpoint.") signature = sign(("AWS4" + secret_access_key).encode("utf-8"), DATE) signature = sign(signature, region) signature = sign(signature, SERVICE) signature = sign(signature, TERMINAL) signature = sign(signature, MESSAGE) signature_and_version = bytes([VERSION]) + signature smtp_password = base64.b64encode(signature_and_version) return smtp_password.decode("utf-8") def main(): parser = argparse.ArgumentParser( description="Convert a Secret Access Key to an SMTP password." ) parser.add_argument("secret", help="The Secret Access Key to convert.") parser.add_argument( "region", help="The AWS Region where the SMTP password will be used.", choices=SMTP_REGIONS, ) args = parser.parse_args() print(calculate_key(args.secret, args.region)) if __name__ == "__main__": main()

Untuk mendapatkan kata sandi SMTP Anda menggunakan skrip ini, simpan kode sebelumnya sebagai smtp_credentials_generate.py. Kemudian, di baris perintah, jalankan perintah berikut:

python path/to/smtp_credentials_generate.py wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY us-east-1

Di perintah sebelumnya, lakukan hal berikut:

  • Ganti path/to/ dengan jalur ke lokasi tempat Anda menyimpansmtp_credentials_generate.py.

  • Ganti wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY dengan kunci akses rahasia yang ingin Anda ubah menjadi kata sandi SMTP.

  • Ganti us-east-1 dengan AWS Wilayah tempat Anda ingin menggunakan kredenSIAL SMTP.

Ketika skrip ini berhasil berjalan, satu-satunya output adalah kata sandi SMTP Anda.

Migrasi pengguna SMTP dari kebijakan inline yang ada ke kebijakan grup (rekomendasi keamanan)

penting

Jika Anda membuat kredenSIAL SES SMTP sebelum 6 September 2024, kebijakan sebaris dan tag telah dilampirkan ke pengguna SMTP Anda. SES menjauh dari kebijakan sebaris dan mendorong Anda untuk melakukan hal yang sama seperti rekomendasi keamanan.

Sebelum memigrasikan pengguna SMTP dari kebijakan sebaris yang ada ke kebijakan grup, Anda harus terlebih dahulu membuat grup pengguna IAM dengan kebijakan izin SES untuk menggantikan kebijakan sebaris. Jika Anda telah membuat grup pengguna IAM ini, atau secara otomatis dibuat untuk kredenSIAL SMTP yang Anda buat mulai 6 September 2024 dan seterusnya, Anda dapat langsung melompat ke langkah 10 dalam prosedur berikut.

Untuk bermigrasi dari kebijakan sebaris yang ada ke grup terkelola
  1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di bawah Manajemen akses, pilih Kebijakan diikuti dengan Buat kebijakan.

  3. Di editor Kebijakan, pilih JSON dan hapus kode contoh apa pun di editor.

  4. Tempel ke kebijakan izin berikut ke editor:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
  5. Pilih Berikutnya dan masukkan AmazonSesSendingAccess di bidang Nama kebijakan diikuti oleh Buat kebijakan.

  6. Di bawah Manajemen akses, pilih Grup pengguna diikuti oleh Buat grup.

  7. Masukkan AWSSESSendingGroupDoNotRename di bidang Nama grup pengguna.

  8. Tambahkan pengguna SMTP ke grup dengan memilih mereka dari tabel Tambahkan pengguna ke grup.

  9. Lampirkan AmazonSesSendingAccess kebijakan yang dibuat sebelumnya dengan memilihnya dari tabel Lamp irkan kebijakan izin diikuti oleh Buat grup pengguna.

    Sekarang setelah Anda membuat grup pengguna IAM dengan kebijakan izin SES, Anda dapat memigrasikan pengguna SMTP dari kebijakan sebaris mereka saat ini ke kebijakan grup ini seperti yang dijelaskan dalam langkah-langkah yang tersisa.

  10. Di bawah Manajemen akses, pilih Pengguna diikuti dengan memilih pengguna SMTP yang ingin Anda migrasikan.

  11. Pilih tab Grup dan pilih Tambahkan pengguna ke grup.

  12. Pilih AWSSESSendingGroupDoNotRename grup diikuti dengan Tambahkan pengguna ke grup.

  13. Pilih tab Izin dan konfirmasikan bahwa ada dua baris yang tercantum dengan AmazonSesSendingAccess kolom Nama Kebijakan, satu dengan Inline dan satu dengan Grup yang AWSSESSendingGroupDoNotRename terdaftar di kolom Terlampir melalui.

  14. Pilih hanya baris yang berisi kolom Nama Kebijakan dan Sebaris AmazonSesSendingAccess di kolom Ter lamp ir melalui diikuti dengan H apus dan konfirmasikan dengan kebijakan Hapus.

    Verifikasi baris dengan Grup AWSSESSendingGroupDoNotRename di kolom Ter lampir via tetap ada.

  15. Pilih tab Tag diikuti dengan Kel ola tag.

  16. Pilih H apus InvokedBy di sebelah baris yang berisi kolom K unci dan sesConsole di kolom Nilai diikuti dengan S impan perubahan.

penting

AmazonSesSendingAccessKebijakan (baik sebagai kebijakan sebaris atau grup atau keduanya) harus tetap dilampirkan ke pengguna SMTP untuk memastikan pengiriman mereka tidak terpengaruh. Hanya menghapus kebijakan sebaris setelah kebijakan grup dilampirkan ke pengguna Anda.