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

Mengelola sertifikat server di IAM

Untuk mengaktifkan koneksi HTTPS ke situs web atau aplikasi Anda di AWS, Anda memerlukan sertifikat server SSL/TLS. Untuk sertifikat di Wilayah yang didukung olehAWS Certificate Manager (ACM), kami menyarankan agar Anda menyediakan, mengelola, dan menerapkan sertifikat server Anda. Di Wilayah yang tidak didukung, Anda harus menggunakan IAM sebagai manajer sertifikat. Untuk mempelajari Regions yang didukung ACM, lihat AWS Certificate Managertitik akhir dan kuota di bagian Referensi Umum AWS.

ACM adalah alat pilihan untuk menyediakan, mengelola, dan menerapkan sertifikat server Anda. Dengan ACM Anda dapat meminta sertifikat atau menerapkan ACM yang ada atau sertifikat eksternal keAWS sumber daya. Sertifikat yang disediakan oleh ACM gratis dan diperbarui secara otomatis. Di Wilayah yang Didukung, Anda dapat menggunakan ACM untuk mengelola sertifikat server dari konsol atau terprogram. Untuk informasi tentang cara menggunakan ACM, lihat PanduanAWS Certificate Manager Pengguna. Untuk informasi selengkapnya tentang meminta sertifikat ACM, lihat Meminta Sertifikat Publik atau Minta Sertifikat Privat di PanduanAWS Certificate Manager Pengguna. Untuk informasi tentang mengimpor sertifikat pihak ke tiga ke ACM, lihat Mengimpor Sertifikat di Panduan Pengguna AWS Certificate Manager.

Gunakan IAM sebagai manajer sertifikat hanya ketika Anda harus mendukung koneksi HTTPS di Wilayah yang tidak didukung oleh ACM. IAM mengenkripsi kunci pribadi Anda dengan aman dan menyimpan versi terenkripsinya dalam penyimpanan sertifikat IAM SSL. IAM mendukung menerapkan sertifikat server di semua Wilayah, tetapi Anda harus mendapatkan sertifikat dari penyedia eksternal untuk menggunakan digunakan denganAWS. Anda tidak dapat mengunggah sertifikat ACM ke IAM. Sebagai tambahan, Anda tidak dapat mengelola sertifikat Anda dari Konsol IAM.

Untuk informasi selengkapnya tentang mengunggah sertifikat pihak ketiga ke IAM, lihat topik berikut.

Mengunggah sertifikat server (API AWS)

Untuk mengunggah sertifikat server ke IAM, Anda harus memberikan sertifikat yang sesuai dengan kunci pribadi. 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 Pemecahan Masalah.

  • Sertifikat, kunci pribadi, dan rantai sertifikat harus semuanya dikode PEM. Untuk membantu mengonversi item ini ke format PEM, lihat Pemecahan Masalah.

Untuk menggunakan API IAM untuk mengunggah sertifikat, kirim permintaan UploadServerCertificate. Contoh berikut ini menunjukkan cara melakukan dengan AWS Command Line Interface (AWS CLI). Contoh tersebut mengasumsikan sebagai berikut:

  • Sertifikat yang dienkode PEM disimpan dalam file dengan nama Certificate.pem.

  • Rantai sertifikat yang dienkode PEM disimpan dalam file dengan nama CertificateChain.pem.

  • Sertifikat yang dienkode PEM, kunci pribadi tidak dienkripsi, disimpan dalam file dengan nama PrivateKey.pem.

  • (Opsional) Anda ingin menandai sertifikat server dengan pasangan nilai—kunci. 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 ExampleCertificatedengan nama untuk sertifikat unggahan Anda. Jika Anda ingin menandai sertifikat, ganti pasangan nilai-kunci dengan nilai Anda sendiri ExampleKeyExampleValue 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, perintah mengembalikan metadata tentang sertifikat yang diunggah, termasuk Amazon Resource Name (ARN), nama ramah, pengenalnya (ID), tanggal kedaluwarsanya, tanda, dan banyak lagi.

catatan

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

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

Mengambil sertifikat server (API AWS)

Untuk menggunakan API IAM untuk mengunggah sertifikat, kirim permintaan GetServerCertificate. Contoh berikut ini menunjukkan cara melakukan ini dengan AWS CLI. Ganti ExampleCertificatedengan nama sertifikat untuk diambil.

aws iam get-server-certificate --server-certificate-name ExampleCertificate

Ketika perintah sebelumnya berhasil, perintah mengembalikan sertifikat, rantai sertifikat (jika salah satu diunggah), dan metadata tentang sertifikat tersebut.

catatan

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

Untuk menggunakanAWS Tools for Windows PowerShell untuk mengambil sertifikat, gunakan Get-IAMServerCertificate.

Daftar sertifikat server (API AWS)

Untuk menggunakan API IAM untuk mengunggah sertifikat, kirim permintaan ListServerCertificates. Contoh berikut ini menunjukkan cara melakukan ini dengan AWS CLI.

aws iam list-server-certificates

Jika perintah sebelumnya berhasil, perintah akan mengembalikan daftar yang berisi metadata setiap sertifikat.

Untuk menggunakan daftar sertifikat server yang Anda unggah, gunakan Get-IAMServerCertificates.AWS Tools for Windows PowerShell

Penandaan dan Penghapusan Tanda Sertifikat Server (API AWS)

Anda dapat melampirkan tanda ke sumber daya IAM untuk mengatur dan mengontrol akses ke mereka. Untuk menggunakan API IAM untuk menandai sertifikat server yang ada, kirim TagServerCertificatepermintaan. Contoh berikut ini menunjukkan cara melakukan ini dengan AWS CLI.

aws iam tag-server-certificate --server-certificate-name ExampleCertificate --tags '{"Key": "ExampleKey", "Value": "ExampleValue"}'

Ketika perintah sebelumnya berhasil, tidak ada output yang dihasilkan.

Untuk menggunakan API IAM untuk mengunggah sertifikat server, kirim UntagServerCertificatepermintaan. Contoh berikut ini menunjukkan cara melakukan ini dengan AWS CLI.

aws iam untag-server-certificate --server-certificate-name ExampleCertificate --tag-keys ExampleKeyName

Ketika perintah sebelumnya berhasil, tidak ada output yang dihasilkan.

Mengganti nama sertifikat server atau memperbarui jalurnya (API AWS)

Untuk menggunakan API IAM untuk mengganti nama sertifikat server atau memperbarui jalurnya, kirim permintaan UpdateServerCertificate. 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/

Ketika perintah sebelumnya berhasil, itu tidak mengembalikan keluaran apa pun.

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

Menghapus sertifikat server (API AWS)

Untuk menggunakan API IAM untuk menghapus sertifikat server, kirim permintaan DeleteServerCertificate. Contoh berikut ini menunjukkan cara melakukan ini dengan AWS CLI.

Untuk menggunakan perintah contoh berikut, ganti ExampleCertificatedengan nama sertifikat untuk dihapus.

aws iam delete-server-certificate --server-certificate-name ExampleCertificate

Ketika perintah sebelumnya berhasil, itu tidak mengembalikan keluaran apa pun.

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

Pemecahan Masalah

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

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

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 bukan dalam format yang tepat untuk mengunggah ke IAM, Anda dapat menggunakan OpenSSL untuk mengonversinya ke format yang tepat.

Untuk mengonversikan sertifikat atau rantai sertifikat dari DER ke PEM

Gunakan perintah OpenSSL x509, seperti pada contoh berikut. Di perintah contoh berikut, ganti Certificate.der dengan nama file yang berisi sertifikat yang dienkode DER Anda. Ganti Certificate.pem dengan nama pilihan file output untuk memuat sertifikat yang dienkode PEM.

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

 

Untuk mengonversi kunci pribadi dari DER ke PEM

Gunakan perintah OpenSSL rsa, seperti pada contoh berikut. Di perintah contoh berikut, ganti PrivateKey.der dengan nama file yang berisi kunci pribadi yang dienkode DER Anda. Ganti PrivateKey.pem dengan nama pilihan file output untuk memuat kunci pribadi yang dienkode PEM.

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 OpenSSL 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 pilihan file output untuk memuat kunci pribadi tidak terenkripsi yang dienkode PEM.

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

 

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

Gunakan perintah OpenSSL pkcs12, seperti pada contoh berikut. Di perintah contoh berikut, ganti CertificateBundle.p12 dengan nama file yang berisi bundel sertifikat yang dienkode PKCS#12 Anda. Ganti CertificateBundle.pem dengan nama pilihan file output untuk memuat bundel sertifikat yang dienkode PEM.

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

 

Untuk mengonversi bundel sertifikat dari PKCS#7 ke PEM

Gunakan perintah OpenSSL pkcs7, seperti pada contoh berikut. Di perintah contoh berikut, ganti CertificateBundle.p7b dengan nama file yang berisi bundel sertifikat yang dienkode PKCS#7 Anda. Ganti CertificateBundle.pem dengan nama pilihan file output untuk memuat bundel sertifikat yang dienkode PEM.

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