Kelola sertifikat server di IAM - AWS Identity and Access Management

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

Kelola sertifikat server di IAM

Untuk mengaktifkan HTTPS koneksi ke situs web atau aplikasi Anda AWS, Anda memerlukan sertifikat SSL TLS /server. Untuk sertifikat di Wilayah yang didukung oleh AWS Certificate Manager (ACM), sebaiknya Anda gunakan ACM untuk menyediakan, mengelola, dan menerapkan sertifikat server Anda. Di Wilayah yang tidak didukung, Anda harus menggunakan IAM sebagai manajer sertifikat. Untuk mempelajari Wilayah mana yang ACM mendukung, lihat AWS Certificate Manager titik akhir dan kuota di. Referensi Umum AWS

penting

ACMadalah alat yang disukai untuk menyediakan, mengelola, dan menyebarkan sertifikat server Anda. Dengan ACM Anda dapat meminta sertifikat atau menyebarkan sertifikat yang ada ACM atau eksternal ke AWS sumber daya. Sertifikat yang ACM disediakan oleh gratis dan diperpanjang secara otomatis. Di Wilayah yang didukung, Anda dapat menggunakan ACM untuk mengelola sertifikat server dari konsol atau secara terprogram. Untuk informasi selengkapnya tentang penggunaanACM, lihat Panduan AWS Certificate Manager Pengguna. Untuk informasi selengkapnya tentang meminta ACM sertifikat, lihat Meminta Sertifikat Publik atau Meminta Sertifikat Pribadi di Panduan AWS Certificate Manager Pengguna. Untuk informasi selengkapnya tentang mengimpor sertifikat pihak ketigaACM, lihat Mengimpor Sertifikat di AWS Certificate Manager Panduan Pengguna.

Gunakan IAM sebagai manajer sertifikat hanya jika Anda harus mendukung HTTPS koneksi di Wilayah yang tidak didukung oleh ACM. IAMmengenkripsi kunci pribadi Anda dengan aman dan menyimpan versi terenkripsi dalam penyimpanan sertifikat. IAM SSL IAMmendukung penerapan sertifikat server di semua Wilayah, tetapi Anda harus mendapatkan sertifikat Anda dari penyedia eksternal untuk digunakan. AWS Anda tidak dapat mengunggah ACM sertifikat keIAM. Selain itu, Anda tidak dapat mengelola sertifikat dari IAM Konsol.

Untuk informasi selengkapnya tentang mengunggah sertifikat pihak ketigaIAM, lihat topik berikut.

Unggah sertifikat server (AWS API)

Untuk mengunggah sertifikat serverIAM, Anda harus memberikan sertifikat dan kunci privat yang cocok. Jika sertifikat tidak ditandatangani sendiri, Anda juga harus memberikan rantai sertifikat. (Anda tidak memerlukan rantai sertifikat saat mengunggah sertifikat yang ditandatangani sendiri.) Sebelum Anda mengunggah sertifikat, pastikan bahwa Anda memiliki semua item ini dan bahwa mereka memenuhi kriteria berikut:

  • Sertifikat harus valid pada saat diunggah. Anda tidak dapat mengunggah sertifikat sebelum periode validitas dimulai (tanggal NotBefore sertifikat) atau setelah kedaluwarsa (tanggal NotAfter sertifikat).

  • Kunci pribadi harus tidak dienkripsi. Anda tidak dapat mengunggah kunci pribadi yang dilindungi oleh kata sandi atau frasa sandi. Untuk membantu mendekripsi kunci pribadi terenkripsi, lihat Memecahkan masalah sertifikat server.

  • Sertifikat, kunci pribadi, dan rantai sertifikat semuanya harus PEM dikodekan. Untuk bantuan mengonversi item ini ke PEM format, lihatMemecahkan masalah sertifikat server.

Untuk menggunakan IAMAPIuntuk mengunggah sertifikat, kirim UploadServerCertificatepermintaan. Contoh berikut ini menunjukkan cara melakukan dengan AWS Command Line Interface (AWS CLI). Contoh tersebut mengasumsikan sebagai berikut:

  • Sertifikat PEM -encoded disimpan dalam file bernama. Certificate.pem

  • Rantai sertifikat PEM -encoded disimpan dalam file bernama. CertificateChain.pem

  • Kunci pribadi yang PEM dienkode dan tidak terenkripsi disimpan dalam file bernama. PrivateKey.pem

  • (Opsional) Anda ingin menandai sertifikat server dengan pasangan kunci-nilai. Misalnya, Anda dapat menambahkan tombol tanda Department dan nilai tandaEngineering untuk membantu Anda mengidentifikasi dan mengatur sertifikat Anda.

Untuk menggunakan perintah contoh berikut, ganti nama file berikut dengan nama Anda sendiri. Ganti ExampleCertificate dengan nama untuk sertifikat unggahan Anda. Jika Anda ingin menandai sertifikat, ganti ExampleKey and ExampleValue tandai pasangan nilai kunci dengan nilai Anda sendiri. Ketik perintah pada satu garis kontinu. Contoh berikut mencakup jeda baris dan ruang tambahan untuk memudahkan Anda membaca.

aws iam upload-server-certificate --server-certificate-name ExampleCertificate --certificate-body file://Certificate.pem --certificate-chain file://CertificateChain.pem --private-key file://PrivateKey.pem --tags '{"Key": "ExampleKey", "Value": "ExampleValue"}'

Ketika perintah sebelumnya berhasil, ia mengembalikan metadata tentang sertifikat yang diunggah, termasuk Amazon Resource Name (ARN), nama ramahnya, pengenal (ID), tanggal kedaluwarsa, tag, dan banyak lagi.

catatan

Jika Anda mengunggah sertifikat server untuk digunakan dengan Amazon CloudFront, Anda harus menentukan jalur menggunakan --path opsi. Jalur harus dimulai dengan /cloudfront dan harus menyertakan garis miring yang menelusur (misalnya, /cloudfront/test/).

Untuk menggunakan AWS Tools for Windows PowerShell untuk mengunggah sertifikat, gunakan Publish- IAMServerCertificate.

AWS APIoperasi untuk sertifikat server

Gunakan perintah berikut untuk melihat, menandai, mengganti nama, dan menghapus sertifikat server.

  • Gunakan GetServerCertificateuntuk mengambil sertifikat. Permintaan ini mengembalikan sertifikat, rantai sertifikat (jika ada yang diunggah), dan metadata tentang sertifikat.

    catatan

    Anda tidak dapat mengunduh atau mengambil kunci pribadi IAM setelah Anda mengunggahnya.

  • Gunakan Get- IAMServerCertificate untuk mengambil sertifikat.

  • Gunakan ListServerCertificatesuntuk mencantumkan sertifikat server yang diunggah. Permintaan mengembalikan daftar yang berisi metadata tentang setiap sertifikat.

  • Gunakan Get- IAMServerCertificates untuk mencantumkan sertifikat server yang diunggah.

  • Gunakan TagServerCertificateuntuk menandai sertifikat server yang ada.

  • Gunakan UntagServerCertificateuntuk menghapus tag sertifikat server.

  • Gunakan UpdateServerCertificateuntuk mengganti nama sertifikat server atau memperbarui jalurnya.

    Contoh berikut ini menunjukkan cara melakukan ini dengan AWS CLI.

    Untuk menggunakan perintah contoh berikut, ganti nama sertifikat lama dan baru serta jalur sertifikat, lalu ketik perintah pada satu baris berkelanjutan. Contoh berikut mencakup jeda baris dan ruang tambahan untuk memudahkan Anda membaca.

    aws iam update-server-certificate --server-certificate-name ExampleCertificate --new-server-certificate-name CloudFrontCertificate --new-path /cloudfront/

    Untuk menggunakan AWS Tools for Windows PowerShell untuk mengganti nama sertifikat server atau memperbarui jalurnya, gunakan Update- IAMServerCertificate.

  • Gunakan DeleteServerCertificateuntuk menghapus sertifikat server.

    Untuk menggunakan AWS Tools for Windows PowerShell untuk menghapus sertifikat server, gunakan Hapus- IAMServerCertificate.

Memecahkan masalah sertifikat server

Sebelum Anda dapat mengunggah sertifikatIAM, Anda harus memastikan bahwa sertifikat, kunci pribadi, dan rantai sertifikat semuanya PEM dikodekan. Anda juga harus memastikan bahwa kunci pribadi tidak terenkripsi. Lihat contoh-contoh berikut.

contoh Contoh sertifikat yang PEM dikodekan
-----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE-----
contoh Contoh kunci pribadi PEM yang dikodekan dan tidak terenkripsi
-----BEGIN RSA PRIVATE KEY----- Base64-encoded private key -----END RSA PRIVATE KEY-----
contoh Contoh rantai sertifikat PEM yang dikodekan

Rantai sertifikat berisi satu atau beberapa sertifikat. Anda dapat menggunakan editor teks, perintah penyalinan di Windows, atau perintah cat Linux untuk menggabungkan file sertifikat Anda ke dalam rantai. Jika Anda menyertakan beberapa sertifikat, setiap sertifikat harus mensertifikasi sertifikat sebelumnya. Anda mencapai ini dengan menggabungkan sertifikat, termasuk sertifikat CA akar terakhir.

Contoh berikut berisi tiga sertifikat, tetapi rantai sertifikat Anda mungkin memuat lebih banyak atau lebih sedikit sertifikat.

-----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE-----

Jika item ini tidak dalam format yang tepat untuk diunggahIAM, Anda dapat menggunakan Buka SSL untuk mengonversinya ke format yang tepat.

Untuk mengonversi sertifikat atau rantai sertifikat dari DER ke PEM

Gunakan perintah Open SSL x509, seperti pada contoh berikut. Dalam contoh perintah berikut, ganti Certificate.der dengan nama file yang berisi sertifikat DER -encoded Anda. Ganti Certificate.pem dengan nama yang disukai dari file output untuk berisi sertifikat PEM -encoded.

openssl x509 -inform DER -in Certificate.der -outform PEM -out Certificate.pem

 

Untuk mengonversi kunci pribadi dari DER ke PEM

Gunakan perintah Open SSL rsa, seperti pada contoh berikut. Dalam contoh perintah berikut, ganti PrivateKey.der dengan nama file yang berisi kunci pribadi DER -encoded Anda. Ganti PrivateKey.pem dengan nama yang disukai dari file output untuk berisi kunci pribadi PEM -encoded.

openssl rsa -inform DER -in PrivateKey.der -outform PEM -out PrivateKey.pem

 

Untuk mendekripsi kunci pribadi terenkripsi (hapus kata sandi atau frasa sandi)

Gunakan perintah Open SSL rsa, seperti pada contoh berikut. Untuk menggunakan perintah contoh berikut, ganti EncryptedPrivateKey.pem dengan nama file yang berisi kunci pribadi Anda yang dienkripsi. Ganti PrivateKey.pem dengan nama yang disukai dari file output untuk berisi kunci pribadi tak PEM terenkripsi -encode.

openssl rsa -in EncryptedPrivateKey.pem -out PrivateKey.pem

 

Untuk mengonversi bundel sertifikat dari PKCS #12 (PFX) ke PEM

Gunakan perintah Open SSL pkcs12, seperti pada contoh berikut. Dalam contoh perintah berikut, ganti CertificateBundle.p12 dengan nama file yang berisi bundel sertifikat PKCS #12 -encoded Anda. Ganti CertificateBundle.pem dengan nama yang disukai dari file output untuk berisi bundel sertifikat PEM -encoded.

openssl pkcs12 -in CertificateBundle.p12 -out CertificateBundle.pem -nodes

 

Untuk mengonversi bundel sertifikat dari PKCS #7 ke PEM

Gunakan perintah Open SSL pkcs7, seperti pada contoh berikut. Dalam contoh perintah berikut, ganti CertificateBundle.p7b dengan nama file yang berisi bundel sertifikat PKCS #7 -encoded Anda. Ganti CertificateBundle.pem dengan nama yang disukai dari file output untuk berisi bundel sertifikat PEM -encoded.

openssl pkcs7 -in CertificateBundle.p7b -print_certs -out CertificateBundle.pem