Praktik terbaik - AWS Certificate Manager

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

Praktik terbaik

Praktik terbaik adalah rekomendasi yang dapat membantu Anda menggunakan AWS Certificate Manager (AWS Certificate Manager) lebih efektif. Praktik terbaik berikut didasarkan pada pengalaman dunia nyata dari pelanggan ACM saat ini.

Pemisahan tingkat akun

Gunakan pemisahan tingkat akun dalam kebijakan Anda untuk mengontrol siapa yang dapat mengakses sertifikat di tingkat akun. Simpan sertifikat produksi Anda di akun terpisah dari sertifikat pengujian dan pengembangan Anda. Jika Anda tidak dapat menggunakan pemisahan tingkat akun, Anda dapat membatasi akses ke peran tertentu dengan menolak kms:CreateGrant tindakan dalam kebijakan Anda. Ini membatasi peran mana dalam akun yang dapat menandatangani sertifikat pada tingkat tinggi. Untuk informasi tentang hibah, termasuk terminologi hibah, lihat Hibah AWS KMS di Panduan Pengembang.AWS Key Management Service

Jika Anda menginginkan kontrol yang lebih terperinci daripada membatasi penggunaan kms:CreateGrant berdasarkan akun, Anda dapat membatasi sertifikat tertentu kms:CreateGrant menggunakan kms: EncryptionContext tombol kondisi. Tentukan arn:aws:acm sebagai kunci, dan nilai ARN untuk membatasi. Contoh kebijakan berikut mencegah penggunaan sertifikat tertentu, tetapi mengizinkan orang lain.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:acm:arn": "arn:aws:acm:us-east-1:111122223333:certificate/b26def74-1234-4321-9876-951d4c07b197" } } } ] }

AWS CloudFormation

Dengan AWS CloudFormation Anda dapat membuat template yang menjelaskan AWS sumber daya yang ingin Anda gunakan. AWS CloudFormation kemudian menyediakan dan mengonfigurasi sumber daya tersebut untuk Anda. AWS CloudFormation dapat menyediakan sumber daya yang didukung oleh ACM seperti Elastic Load Balancing, Amazon, dan CloudFront Amazon API Gateway. Untuk informasi selengkapnya, lihat Layanan terintegrasi dengan AWS Certificate Manager.

Jika Anda menggunakannya AWS CloudFormation untuk membuat dan menghapus beberapa lingkungan pengujian dengan cepat, sebaiknya Anda tidak membuat sertifikat ACM terpisah untuk setiap lingkungan. Melakukannya akan dengan cepat menghabiskan kuota sertifikat Anda. Untuk informasi selengkapnya, lihat Kuota. Sebagai gantinya, buat sertifikat wildcard yang mencakup semua nama domain yang Anda gunakan untuk pengujian. Misalnya, jika Anda berulang kali membuat sertifikat ACM untuk nama domain yang bervariasi hanya berdasarkan nomor versi, misalnya .service.example.com, buat sertifikat wildcard tunggal untuk <*>. .service.example.com <version> Sertakan sertifikat wildcard dalam template yang AWS CloudFormation digunakan untuk membuat lingkungan pengujian Anda.

Penyematan sertifikat

Certificate pinning, kadang-kadang dikenal sebagai SSL pinning, adalah proses yang dapat Anda gunakan dalam aplikasi Anda untuk memvalidasi host jarak jauh dengan mengaitkan host tersebut secara langsung dengan sertifikat X.509 atau kunci publik alih-alih dengan hierarki sertifikat. Oleh karena itu aplikasi menggunakan penyematan untuk melewati validasi rantai sertifikat SSL/TLS. Proses validasi SSL yang khas memeriksa tanda tangan di seluruh rantai sertifikat dari sertifikat root certificate authority (CA) melalui sertifikat CA bawahan, jika ada. Ini juga memeriksa sertifikat untuk host jarak jauh di bagian bawah hierarki. Aplikasi Anda dapat menyematkan ke sertifikat untuk host jarak jauh untuk mengatakan bahwa hanya sertifikat itu dan bukan sertifikat root atau lainnya dalam rantai yang dipercaya. Anda dapat menambahkan sertifikat host jarak jauh atau kunci publik ke aplikasi Anda selama pengembangan. Atau, aplikasi dapat menambahkan sertifikat atau kunci saat pertama kali terhubung ke host.

Awas

Kami menyarankan agar aplikasi Anda tidak menyematkan sertifikat ACM. ACM bekerja Perpanjangan terkelola untuk sertifikat ACM untuk memperbarui sertifikat SSL/TLS yang dikeluarkan Amazon secara otomatis sebelum kedaluwarsa. Untuk memperbarui sertifikat, ACM menghasilkan key pair public-private baru. Jika aplikasi Anda menyematkan sertifikat ACM dan sertifikat berhasil diperbarui dengan kunci publik baru, aplikasi mungkin tidak dapat terhubung ke domain Anda.

Jika Anda memutuskan untuk menyematkan sertifikat, opsi berikut tidak akan menghalangi aplikasi Anda untuk terhubung ke domain Anda:

  • Impor sertifikat Anda sendiri ke ACM dan kemudian pin aplikasi Anda ke sertifikat yang diimpor. ACM tidak mencoba memperbarui sertifikat yang diimpor secara otomatis.

  • Jika Anda menggunakan sertifikat publik, sematkan aplikasi Anda ke semua sertifikat root Amazon yang tersedia. Jika Anda menggunakan sertifikat pribadi, sematkan aplikasi Anda ke sertifikat root CA.

Validasi domain

Sebelum otoritas sertifikat Amazon (CA) dapat mengeluarkan sertifikat untuk situs Anda, AWS Certificate Manager (ACM) harus memverifikasi bahwa Anda memiliki atau mengontrol semua domain yang Anda tentukan dalam permintaan Anda. Anda dapat melakukan verifikasi menggunakan email atau DNS. Untuk informasi selengkapnya, lihat Validasi DNS dan Validasi email.

Menambahkan atau menghapus nama domain

Anda tidak dapat menambah atau menghapus nama domain dari sertifikat ACM yang ada. Sebagai gantinya, Anda harus meminta sertifikat baru dengan daftar nama domain yang direvisi. Misalnya, jika sertifikat Anda memiliki lima nama domain dan Anda ingin menambahkan empat lagi, Anda harus meminta sertifikat baru dengan sembilan nama domain. Seperti halnya sertifikat baru, Anda harus memvalidasi kepemilikan semua nama domain dalam permintaan, termasuk nama yang sebelumnya Anda validasi untuk sertifikat asli.

Jika Anda menggunakan validasi email, Anda menerima hingga 8 pesan email validasi untuk setiap domain, setidaknya 1 di antaranya harus ditindaklanjuti dalam waktu 72 jam. Misalnya, ketika Anda meminta sertifikat dengan lima nama domain, Anda menerima hingga 40 pesan validasi, setidaknya 5 di antaranya harus ditindaklanjuti dalam waktu 72 jam. Karena jumlah nama domain dalam permintaan sertifikat meningkat, demikian juga pekerjaan yang diperlukan untuk menggunakan email untuk memvalidasi kepemilikan domain.

Jika Anda menggunakan validasi DNS sebagai gantinya, Anda harus menulis satu catatan DNS baru ke database untuk FQDN yang ingin Anda validasi. ACM mengirimi Anda catatan untuk membuat dan kemudian menanyakan database untuk menentukan apakah catatan telah ditambahkan. Menambahkan catatan menegaskan bahwa Anda memiliki atau mengontrol domain. Dalam contoh sebelumnya, jika Anda meminta sertifikat dengan lima nama domain, Anda harus membuat lima catatan DNS. Kami menyarankan Anda menggunakan validasi DNS bila memungkinkan.

Memilih keluar dari pencatatan transparansi sertifikat

penting

Terlepas dari tindakan yang Anda ambil untuk memilih keluar dari pencatatan transparansi sertifikat, sertifikat Anda mungkin masih dicatat oleh klien atau individu mana pun yang memiliki akses ke titik akhir publik atau pribadi tempat Anda mengikat sertifikat. Namun, sertifikat tidak akan berisi cap waktu sertifikat (SCT) yang ditandatangani. Hanya CA penerbit yang dapat menanamkan SCT dalam sertifikat.

Mulai 30 April 2018, Google Chrome tidak lagi mempercayai sertifikat SSL/TLS publik yang tidak dicatat dalam log transparansi sertifikat. Oleh karena itu, mulai 24 April 2018, Amazon CA mulai menerbitkan semua sertifikat dan pembaruan baru ke setidaknya dua log publik. Setelah sertifikat dicatat, sertifikat tidak dapat dihapus. Untuk informasi selengkapnya, lihat Pencatatan Transparansi Sertifikat.

Logging dilakukan secara otomatis ketika Anda meminta sertifikat atau ketika sertifikat diperbarui, tetapi Anda dapat memilih untuk memilih keluar. Alasan umum untuk melakukannya termasuk kekhawatiran tentang keamanan dan privasi. Misalnya, mencatat nama domain host internal memberikan informasi penyerang potensial tentang jaringan internal yang seharusnya tidak bersifat publik. Selain itu, logging dapat membocorkan nama-nama produk dan situs web baru atau yang belum dirilis.

Untuk memilih keluar dari logging transparansi saat Anda meminta sertifikat, gunakan options parameter AWS CLI perintah request-certificate atau operasi API. RequestCertificate Jika sertifikat Anda diterbitkan sebelum 24 April 2018, dan Anda ingin memastikan bahwa sertifikat tersebut tidak dicatat selama perpanjangan, Anda dapat menggunakan update-certificate-optionsperintah atau operasi UpdateCertificateOptionsAPI untuk memilih keluar.

Batasan
  • Anda tidak dapat menggunakan konsol untuk mengaktifkan atau menonaktifkan pencatatan transparansi.

  • Anda tidak dapat mengubah status pencatatan setelah sertifikat memasuki periode perpanjangan, biasanya 60 hari sebelum sertifikat kedaluwarsa. Tidak ada pesan kesalahan yang dihasilkan jika perubahan status gagal.

Setelah sertifikat dicatat, sertifikat tidak dapat dihapus dari log. Memilih keluar pada saat itu tidak akan berpengaruh. Jika Anda memilih keluar dari logging ketika Anda meminta sertifikat dan kemudian memilih nanti untuk memilih kembali, sertifikat Anda tidak akan dicatat sampai diperpanjang. Jika Anda ingin sertifikat segera dicatat, kami sarankan Anda mengeluarkan yang baru.

Contoh berikut menunjukkan cara menggunakan perintah request-certificate untuk menonaktifkan transparansi sertifikat saat Anda meminta sertifikat baru.

aws acm request-certificate \ --domain-name www.example.com \ --validation-method DNS \ --options CertificateTransparencyLoggingPreference=DISABLED \

Perintah sebelumnya mengeluarkan ARN sertifikat baru Anda.

{ "CertificateArn": "arn:aws:acm:region:account:certificate/certificate_ID" }

Jika Anda sudah memiliki sertifikat, dan Anda tidak ingin itu dicatat ketika diperbarui, gunakan update-certificate-optionsperintah. Perintah ini tidak mengembalikan nilai.

aws acm update-certificate-options \ --certificate-arn arn:aws:acm:region:account:\ certificate/certificate_ID \ --options CertificateTransparencyLoggingPreference=DISABLED

Nyalakan AWS CloudTrail

Aktifkan CloudTrail logging sebelum Anda mulai menggunakan ACM. CloudTrail memungkinkan Anda memantau AWS penerapan dengan mengambil riwayat panggilan API untuk akun Anda, termasuk panggilan AWS API yang dilakukan melalui AWS Management Console, AWS SDK AWS Command Line Interface, dan Amazon Web Services tingkat tinggi. Anda juga dapat mengidentifikasi pengguna dan akun mana yang disebut ACM API, alamat IP sumber tempat panggilan dibuat, dan kapan panggilan terjadi. Anda dapat mengintegrasikan CloudTrail ke dalam aplikasi menggunakan API, mengotomatiskan pembuatan jejak untuk organisasi Anda, memeriksa status jejak Anda, dan mengontrol cara administrator mengaktifkan dan menonaktifkan CloudTrail log. Untuk informasi lebih lanjut, lihat Membuat Jejak. Pergi ke Menggunakan CloudTrail dengan AWS Certificate Manager untuk melihat contoh jejak untuk tindakan ACM.