

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
<a name="smtp-credentials"></a>

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](send-email-concepts-credentials.md).

**catatan**  
Untuk daftar titik akhir SMTP yang tersedia saat ini, lihat titik akhir [ SMTP di. ](https://docs.aws.amazon.com/general/latest/gr/ses.html#ses_smtp_endpoints) *Referensi Umum AWS* 

## Memperoleh kredenSIAL SES SMTP menggunakan konsol SES
<a name="smtp-credentials-console"></a>

**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:PutGroupPolicy``iam: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` dan`iam:AddUserToGroup`, memiliki tingkat [ akses manajemen ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_understand-policy-summary-access-level-summaries.html#access_policies_access-level) 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/](https://console.aws.amazon.com/ses/).

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

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

1. (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.

1. 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.

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

1. 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.

1. 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 ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html) 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
<a name="smtp-credentials-convert"></a>

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.

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [ https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

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

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

1. Tempel ke kebijakan izin berikut ke editor:

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
   "Effect": "Allow",
               "Action": "ses:SendRawEmail",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Pilih ** Berikutnya ** dan masukkan `AmazonSesSendingAccess` di ** bidang Nama ** kebijakan diikuti oleh ** Buat kebijakan**.

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

1. Masukkan `AWSSESSendingGroupDoNotRename` di ** bidang Nama grup ** pengguna.

1. Tambahkan pengguna SMTP ke grup dengan memilih mereka dari ** tabel ** Tambahkan pengguna ke grup.

1. 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, lihat[Identity and access management di Amazon SES](control-user-access.md).

**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](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPractices.html).

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

```
 1. // Modify this variable to include your AWS secret access key
 2. key = "{{wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY}}";
 3.             
 4. // Modify this variable to refer to the AWS Region that you want to use to send email.
 5. region = "{{us-west-2}}";
 6.             
 7. // The values of the following variables should always stay the same.
 8. date = "11111111";
 9. service = "ses";
10. terminal = "aws4_request";
11. message = "SendRawEmail";
12. version = 0x04;
13. 
14. kDate = HmacSha256(date, "AWS4" + key);
15. kRegion = HmacSha256(region, kDate);
16. kService = HmacSha256(service, kRegion);
17. kTerminal = HmacSha256(terminal, kService);
18. kMessage = HmacSha256(message, kTerminal);
19. signatureAndVersion = Concatenate(version, kMessage);
20. 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 menyimpan`smtp_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)
<a name="migrate-inline-policy-to-group"></a>

**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/](https://console.aws.amazon.com/iam/).

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

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

1. Tempel ke kebijakan izin berikut ke editor:

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
   "Effect": "Allow",
               "Action": "ses:SendRawEmail",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Pilih ** Berikutnya ** dan masukkan `AmazonSesSendingAccess` di ** bidang Nama ** kebijakan diikuti oleh ** Buat kebijakan**.

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

1. Masukkan `AWSSESSendingGroupDoNotRename` di ** bidang Nama grup ** pengguna.

1. Tambahkan pengguna SMTP ke grup dengan memilih mereka dari ** tabel ** Tambahkan pengguna ke grup.

1. 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.

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

1. Pilih ** tab ** Grup dan pilih ** Tambahkan pengguna ke grup**.

1. Pilih `AWSSESSendingGroupDoNotRename` grup diikuti dengan ** Tambahkan pengguna ke grup**.

1. 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.

1. 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.

1. Pilih ** tab ** Tag diikuti dengan Kel ** ola tag**.

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

**penting**  
`AmazonSesSendingAccess`Kebijakan (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. 