Tutorial ini akan memandu Anda dalam melakukan proses deployment sertifikat menggunakan sertifikat yang dikelola Google dengan Certificate Authority Service sebagai contohnya.
Load balancer berikut mendukung sertifikat yang dikelola Google dengan CA Service:
- Load Balancer Aplikasi eksternal global
- Load Balancer Aplikasi Klasik
- Load Balancer Aplikasi internal lintas region
- Load Balancer Jaringan proxy eksternal global
Jika kebijakan penerbitan sertifikat diterapkan pada kumpulan CA target, penyediaan sertifikat mungkin akan gagal karena salah satu alasan berikut:
- Kebijakan penerbitan sertifikat telah memblokir sertifikat yang diminta. Dalam hal ini, Anda tidak ditagih karena sertifikat belum diterbitkan.
- Kebijakan telah menerapkan perubahan pada sertifikat yang tidak didukung oleh Pengelola Sertifikat. Dalam kasus ini, Anda masih ditagih karena sertifikat telah diterbitkan, meskipun tidak sepenuhnya kompatibel dengan Certificate Manager.
Sertifikat yang dikeluarkan dengan mengikuti langkah-langkah dalam tutorial ini tidak dipercaya secara publik. Jika Anda ingin menerbitkan sertifikat yang dipercaya secara publik, ikuti langkah-langkah dalam salah satu tutorial berikut:
- Men-deploy sertifikat yang dikelola Google dengan otorisasi DNS (tutorial)
- Men-deploy sertifikat yang dikelola Google dengan otorisasi load balancer (tutorial)
Jika Anda ingin memigrasikan sertifikat yang ada ke Pengelola Sertifikat, ikuti langkah-langkah dalam Memigrasikan sertifikat ke Pengelola Sertifikat.
Perlu diingat bahwa meskipun Anda menggunakan kumpulan CA regional untuk menerbitkan sertifikat TLS yang dikelola Google, sertifikat itu sendiri bersifat global dan dapat digunakan di region mana pun.
Tujuan
Tutorial ini menunjukkan kepada Anda cara menyelesaikan tugas-tugas berikut:
- Buat sertifikat yang dikelola Google dengan Layanan CA menggunakan Pengelola Sertifikat.
- Deploy sertifikat ke load balancer yang didukung menggunakan proxy HTTPS target.
Untuk mengetahui informasi selengkapnya tentang proses deployment sertifikat, lihat Ringkasan deployment.
Sebelum memulai
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
Pastikan Anda memiliki peran berikut untuk menyelesaikan tugas dalam tutorial ini:
- Pemilik Pengelola Sertifikat: Diperlukan untuk membuat dan mengelola resource Certificate Manager.
- Admin Load Balancer Compute atau Admin Jaringan Compute: Diperlukan untuk membuat dan mengelola proxy target HTTPS.
- Certificate Authority Service Admin: Diperlukan untuk melakukan tindakan dalam CA Service.
Untuk informasi selengkapnya, lihat referensi berikut:
- Peran dan izin untuk Certificate Manager
- Peran dan izin IAM Compute Engine untuk Compute Engine
- Izin dan peran untuk CA Service
Buat kumpulan CA. Anda harus membuat dan mengaktifkan setidaknya satu CA dalam kumpulan CA ini.
Konfigurasikan integrasi CA Service dengan Certificate Manager
Konfigurasikan Pengelola Sertifikat untuk berintegrasi dengan Layanan CA sebagai berikut:
Gunakan perintah berikut untuk membuat akun layanan Certificate Manager di project Google Cloud target:
gcloud beta services identity create --service=certificatemanager.googleapis.com \ --project=PROJECT_ID
Ganti
PROJECT_ID
dengan ID project Google Cloud target.Perintah ini akan menampilkan nama identitas layanan yang dibuat. Lihat contoh berikut:
service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
Beri akun layanan Certificate Manager peran Pemohon Sertifikat dalam kumpulan CA target sebagai berikut:
gcloud privateca pools add-iam-policy-binding CA_POOL \ --location REGION \ --member "serviceAccount:SERVICE_ACCOUNT" \ --role roles/privateca.certificateRequester
Ganti kode berikut:
CA_POOL
: ID kumpulan CA target.REGION
: region Google Cloud target.SERVICE_ACCOUNT
: nama lengkap akun layanan yang Anda buat di langkah 1.
Buat resource konfigurasi penerbitan sertifikat untuk kumpulan CA Anda:
gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \ --ca-pool=CA_POOL \ [--lifetime=CERTIFICATE_LIFETIME] \ [--rotation-window-percentage=ROTATION_WINDOW_PERCENTAGE] \ [--key-algorithm=KEY_ALGORITHM]
Ganti kode berikut:
ISSUANCE_CONFIG_NAME
: nama unik resource konfigurasi penerbitan sertifikat.CA_POOL
: jalur resource lengkap dan nama kumpulan CA yang ingin Anda tetapkan ke resource konfigurasi penerbitan sertifikat ini.CERTIFICATE_LIFETIME
: masa berlaku sertifikat dalam hari. Nilai yang valid adalah dari 21 hingga 30 hari dalam format durasi standar. Nilai defaultnya adalah 30 hari (30D
). Setelan ini bersifat opsional.ROTATION_WINDOW_PERCENTAGE
: persentase masa berlaku sertifikat saat perpanjangan dipicu. Setelan ini bersifat opsional.Nilai defaultnya adalah 66 persen. Anda harus menetapkan persentase periode rotasi dalam kaitannya dengan masa aktif sertifikat, sehingga perpanjangan sertifikat terjadi setidaknya 7 hari setelah sertifikat diterbitkan dan setidaknya 7 hari sebelum masa berlaku sertifikat berakhir.
KEY_ALGORITHM
: algoritma enkripsi yang digunakan untuk membuat kunci pribadi. Nilai yang valid adalahecdsa-p256
ataursa-2048
. Nilai defaultnya adalahrsa-2048
. Setelan ini bersifat opsional.
Untuk mengetahui informasi selengkapnya tentang konfigurasi penerbitan sertifikat, lihat Mengelola konfigurasi penerbitan sertifikat.
Membuat sertifikat yang dikelola Google yang diterbitkan oleh instance CA Service Anda
Buat sertifikat yang dikelola Google yang diterbitkan oleh instance CA Service Anda sebagai berikut:
gcloud
Untuk Load Balancer Aplikasi eksternal Global, Load Balancer Aplikasi Klasik, atau Load Balancer Jaringan proxy eksternal Global:
Jalankan perintah berikut:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES" \ --issuance-config=ISSUANCE_CONFIG_NAME
Ganti kode berikut:
CERTIFICATE_NAME
: nama unik sertifikat.DOMAIN_NAMES
: daftar domain target yang dipisahkan koma untuk sertifikat ini. Setiap nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com
.ISSUANCE_CONFIG_NAME
: nama resource konfigurasi penerbitan sertifikat yang merujuk ke kumpulan CA target.
Untuk Load Balancer Aplikasi internal Lintas region:
Jalankan perintah berikut:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES" \ --issuance-config=ISSUANCE_CONFIG_NAME \ --scope=all-regions
Ganti kode berikut:
CERTIFICATE_NAME
: nama unik sertifikat.DOMAIN_NAMES
: daftar domain target yang dipisahkan koma untuk sertifikat ini. Setiap nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com
.ISSUANCE_CONFIG_NAME
: nama resource konfigurasi penerbitan sertifikat yang merujuk ke kumpulan CA target.
API
Buat sertifikat dengan membuat permintaan POST
ke metode certificates.create
sebagai berikut:
Untuk Load Balancer Aplikasi eksternal Global, Load Balancer Aplikasi Klasik, atau Load Balancer Jaringan proxy eksternal Global:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME" { "managed": { "domains": ["DOMAIN_NAME"], "issuanceConfig": "ISSUANCE_CONFIG_NAME", } }
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud target.CERTIFICATE_NAME
: nama unik sertifikat.DOMAIN_NAME
: domain target untuk sertifikat ini . Nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com
.ISSUANCE_CONFIG_NAME
: nama resource konfigurasi penerbitan sertifikat yang merujuk ke kumpulan CA target.
Untuk Load Balancer Aplikasi internal Lintas region:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME" { "managed": { "domains": ["DOMAIN_NAME"], "issuanceConfig": "ISSUANCE_CONFIG_NAME", "scope": "ALL_REGIONS" } }
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud target.CERTIFICATE_NAME
: nama unik sertifikat.DOMAIN_NAME
: domain target untuk sertifikat ini . Nama domain harus berupa nama domain yang sepenuhnya memenuhi syarat, sepertimyorg.example.com
.ISSUANCE_CONFIG_NAME
: nama resource konfigurasi penerbitan sertifikat yang merujuk ke kumpulan CA target.
Untuk ringkasan proses deployment sertifikat, lihat Ringkasan deployment.
Memastikan sertifikat aktif
Gunakan perintah berikut untuk memverifikasi bahwa sertifikat aktif sebelum men-deploy-nya ke load balancer Anda. Diperlukan waktu beberapa menit agar
status sertifikat berubah menjadi ACTIVE
.
gcloud certificate-manager certificates describe CERTIFICATE_NAME
Ganti CERTIFICATE_NAME
dengan nama target sertifikat yang dikelola Google.
Perintah akan menampilkan output yang mirip dengan berikut ini:
certificatePem: myPEM createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: domains: - myorg.example.com issuanceConfig: projects/myProject/locations/global/certificateIssuanceConfigs/myIssuanceConfig state: ACTIVE name: projects/myProject/locations/global/certificates/myCert scope: myScope sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Men-deploy sertifikat ke load balancer
Bagian ini akan memandu Anda melakukan langkah-langkah yang diperlukan untuk men-deploy sertifikat yang dikelola Google ke load balancer.
Sebelum melanjutkan ke tugas di bagian ini, pastikan Anda telah menyelesaikan tugas yang tercantum di bagian Mengonfigurasi integrasi CA Service dengan Certificate Manager dan Membuat sertifikat yang dikelola Google yang diterbitkan oleh instance CA Service Anda.
Bergantung pada jenis load balancer, Anda dapat men-deploy sertifikat sebagai berikut:
- Untuk load balancer berikut, deploy sertifikat menggunakan peta sertifikat:
- Load Balancer Aplikasi eksternal global
- Load Balancer Jaringan proxy eksternal global
- Load Balancer Aplikasi Klasik
- Untuk Load Balancer Aplikasi internal Lintas region, deploy sertifikat dengan melampirkan langsung ke proxy target.
Men-deploy sertifikat menggunakan peta sertifikat
Bagian ini menjelaskan langkah-langkah untuk men-deploy sertifikat menggunakan peta sertifikat.
Membuat peta sertifikat
Buat peta sertifikat yang akan mereferensikan entri peta sertifikat yang terkait dengan sertifikat Anda:
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Ganti CERTIFICATE_MAP_NAME
dengan nama peta sertifikat target.
Membuat entri peta sertifikat
Buat entri peta sertifikat dan kaitkan dengan sertifikat serta peta sertifikat Anda:
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAME" \ --hostname="HOSTNAME"
Ganti kode berikut:
CERTIFICATE_MAP_ENTRY_NAME
: nama unik entri peta sertifikatCERTIFICATE_MAP_NAME
: nama peta sertifikat tempat entri peta sertifikat ini dilampirkanCERTIFICATE_NAME
: nama sertifikat yang ingin Anda kaitkan dengan entri peta sertifikat iniHOSTNAME
: nama host yang ingin Anda kaitkan dengan entri peta sertifikat ini
Memastikan entri peta sertifikat aktif
Gunakan perintah berikut untuk memverifikasi bahwa entri peta sertifikat aktif sebelum melampirkan peta sertifikat yang sesuai ke proxy target:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Ganti kode berikut:
CERTIFICATE_MAP_ENTRY_NAME
: nama entri peta sertifikat targetCERTIFICATE_MAP_NAME
: nama peta sertifikat tempat entri peta sertifikat ini dilampirkan
Perintah akan menampilkan output yang mirip dengan berikut ini:
createTime: '2021-09-06T10:01:56.229472109Z' name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
Lampirkan peta sertifikat ke proxy target
Lampirkan peta sertifikat yang dikonfigurasi ke proxy target yang diinginkan:
Di konsol Google Cloud, buka halaman Target proxy.
Perhatikan nama proxy target.
Lampirkan peta sertifikat ke proxy target:
gcloud compute target-https-proxies update PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME"
Ganti kode berikut:
PROXY_NAME
: nama proxy targetCERTIFICATE_MAP_NAME
: nama peta sertifikat yang merujuk entri peta sertifikat Anda dan sertifikat yang terkait
Jika ada sertifikat TLS (SSL) yang dilampirkan langsung ke proxy, proxy akan memberikan preferensi ke sertifikat yang dirujuk oleh peta sertifikat daripada sertifikat TLS (SSL) yang dilampirkan secara langsung.
Lampirkan sertifikat secara langsung ke proxy target
Untuk melampirkan sertifikat secara langsung ke proxy, jalankan perintah berikut:
gcloud compute target-https-proxies update PROXY_NAME \ --url-map=URL_MAP \ --global \ --certificate-manager-certificates=CERTIFICATE_NAME
Ganti kode berikut:
PROXY_NAME
: nama unik proxy.URL_MAP
: nama peta URL. Anda telah membuat peta URL saat membuat load balancer.CERTIFICATE_NAME
: nama sertifikat.
Pemecahan masalah
Untuk mengetahui langkah-langkah pemecahan masalah, lihat Masalah yang terkait dengan sertifikat yang diterbitkan oleh instance CA Service.
Pembersihan
Untuk mengembalikan perubahan yang Anda buat dalam tutorial ini, selesaikan langkah-langkah berikut:
Lepaskan peta sertifikat dari proxy.
Sebelum Anda melepaskan peta sertifikat, perhatikan hal-hal berikut:
- Jika ada sertifikat TLS (SSL) yang dilampirkan langsung ke proxy, melepaskan peta sertifikat akan menyebabkan proxy dilanjutkan menggunakan sertifikat TLS (SSL) yang dilampirkan secara langsung tersebut.
- Jika tidak ada sertifikat TLS (SSL) yang dilampirkan langsung ke proxy, peta sertifikat tidak dapat dilepas dari proxy. Anda harus terlebih dahulu melampirkan minimal satu sertifikat TLS (SSL) langsung ke proxy sebelum dapat melepaskan peta sertifikat.
Untuk melepaskan peta sertifikat, jalankan perintah berikut:
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-map
Ganti
PROXY_NAME
dengan nama proxy target.Hapus entri peta sertifikat dari peta sertifikat:
gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Ganti kode berikut:
CERTIFICATE_MAP_ENTRY_NAME
: nama entri peta sertifikat targetCERTIFICATE_MAP_NAME
: nama peta sertifikat target
Hapus peta sertifikat:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
Ganti
CERTIFICATE_MAP_NAME
dengan nama peta sertifikat target.Hapus sertifikat yang dikelola Google:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Ganti
CERTIFICATE_NAME
dengan nama sertifikat target.Hapus resource konfigurasi penerbitan sertifikat:
gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME
Ganti
ISSUANCE_CONFIG_NAME
dengan nama resource konfigurasi penerbitan sertifikat target.Hapus kumpulan CA seperti yang dijelaskan dalam Menghapus kumpulan CA.
Perlu diingat bahwa untuk menonaktifkan CA terakhir yang Anda aktifkan dalam kumpulan CA yang dirujuk dalam konfigurasi penerbitan sertifikat, atau untuk menghapus kumpulan CA yang dirujuk sepenuhnya, Anda harus terlebih dahulu menghapus setiap konfigurasi penerbitan sertifikat yang merujuk kumpulan CA tersebut.