Menerbitkan sertifikat menggunakan Google Cloud CLI
Halaman ini menjelaskan cara membuat atau menerbitkan sertifikat melalui Certificate Authority Service menggunakan Google Cloud CLI.
CA Service memungkinkan Anda men-deploy dan mengelola CA pribadi tanpa mengelola infrastruktur.
Sebelum memulai
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus terlebih dahulu login ke gcloud CLI dengan identitas gabungan Anda.
Buat atau pilih Google Cloud project.
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu Anda dapat memilih project mana pun yang telah diberi peran.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih Google Cloud project yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama Google Cloud project Anda.
Aktifkan Certificate Authority Service API:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (
roles/serviceusage.serviceUsageAdmin), yang berisi izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable privateca.googleapis.com
Pastikan penagihan diaktifkan untuk Google Cloud project Anda.
Konfigurasi lokasi default untuk digunakan dalam perintah
gclouddi panduan memulai ini.gcloud config set privateca/location LOCATIONResource CA Service, seperti kumpulan CA dan CA, berada di satu Google Cloud lokasi yang tidak dapat Anda ubah setelah membuat resource ini.
Membuat kumpulan CA
Kumpulan certificate authority (CA) adalah kumpulan beberapa CA. Kumpulan CA memberikan kemampuan untuk merotasi rantai kepercayaan tanpa gangguan atau periode nonaktif untuk workload.
Untuk membuat kumpulan CA di tingkat Enterprise, jalankan perintah berikut:
gcloud privateca pools create POOL_ID --location LOCATION --tier "enterprise"
Ganti kode berikut:
- POOL_ID: nama kumpulan CA
- LOCATION: lokasi kumpulan CA. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
Nama resource dapat berisi huruf, angka, tanda hubung (-), dan garis bawah (_) serta dapat memiliki panjang hingga 63 karakter.
Membuat CA root
Kumpulan CA kosong saat dibuat. Untuk meminta sertifikat dari kumpulan CA, Anda harus menambahkan CA di dalamnya.
Untuk membuat CA root dan menambahkannya di kumpulan CA yang Anda buat, jalankan perintah berikut:
gcloud privateca roots create CA_ID --pool POOL_ID --location LOCATION --subject "CN=Example Prod Root CA,O=Google"
Ganti kode berikut:
- CA_ID: nama CA root
- POOL_ID: nama kumpulan CA
- LOCATION: lokasi kumpulan CA. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
CA Service menampilkan output berikut saat membuat CA root:
Created Certificate Authority [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/CA_ID]
Aktifkan CA root dengan memasukkan y saat diminta oleh gcloud CLI.
Opsional: Membuat kumpulan CA subordinat
Untuk membuat kumpulan CA subordinat, jalankan perintah berikut:
gcloud privateca pools create SUBORDINATE_POOL_ID
--location LOCATION
--tier TIER
Ganti kode berikut:
- SUBORDINATE_POOL_ID: ID kumpulan CA subordinat
- LOCATION: lokasi kumpulan CA subordinat. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
- TIER: tingkat CA subordinat, baik devops maupun enterprise
Opsional: Membuat CA subordinat yang ditandatangani oleh CA root yang disimpan di Google Cloud
Untuk membuat CA subordinat di kumpulan CA subordinat yang Anda buat pada langkah sebelumnya, jalankan perintah berikut:
gcloud privateca subordinates create SUBORDINATE_CA_ID \
--location=LOCATION \
--pool=SUBORDINATE_POOL_ID \
--issuer-pool=POOL_ID \
--issuer-location=ISSUER_LOCATION \
--from-ca=EXISTING_CA_ID \
--kms-key-version projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/KEY_VERSION
Ganti kode berikut:
- SUBORDINATE_CA_ID: ID CA subordinat
- LOCATION: lokasi CA subordinat. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
- SUBORDINATE_POOL_ID: ID kumpulan CA subordinat yang Anda buat di bagian sebelumnya
- POOL_ID: ID kumpulan CA induk
- ISSUER_LOCATION: lokasi sertifikat
- EXISTING_CA_ID: ID CA sumber
- PROJECT_ID: ID project
- LOCATION_ID: lokasi key ring
- KEY_RING: nama key ring tempat kunci berada
- KEY: nama kunci
- KEY_VERSION: versi kunci
Pernyataan berikut ditampilkan saat CA subordinat dibuat.
Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID].
Aktifkan CA subordinat dengan memasukkan y saat diminta oleh gcloud CLI.
Membuat sertifikat
Untuk menggunakan CA yang baru dibuat untuk membuat sertifikat, lakukan hal berikut:
Instal library kriptografi Pyca menggunakan perintah
pip.pip install --user "cryptography>=2.2.0"CA Service menggunakan library kriptografi Pyca untuk membuat dan menyimpan pasangan kunci asimetris baru di mesin lokal Anda. Kunci ini tidak pernah dikirim ke CA Service.
Untuk mengizinkan Google Cloud SDK menggunakan library kriptografi Pyca, Anda harus mengaktifkan paket situs.
macOS atau Linux
export CLOUDSDK_PYTHON_SITEPACKAGES=1Windows
set CLOUDSDK_PYTHON_SITEPACKAGES=1Buat sertifikat.
gcloud privateca certificates create \ --issuer-pool POOL_ID \ --issuer-location ISSUER_LOCATION \ --subject "CN=Example Prod,O=Google" \ --generate-key \ --key-output-file=./key \ --cert-output-file=./cert.pemGanti kode berikut:
- POOL_ID: ID resource kumpulan CA yang Anda buat
- ISSUER_LOCATION: lokasi certificate authority yang menerbitkan sertifikat digital
CA Service menampilkan respons berikut:
Created Certificate [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates/CERTIFICATE_ID]
Pembersihan
Bersihkan dengan menghapus kumpulan CA, CA, dan project yang Anda buat untuk panduan memulai ini.
Cabut sertifikat.
- CERT_NAME: nama sertifikat yang ingin Anda cabut
- POOL_ID: nama kumpulan CA yang menerbitkan sertifikat
- LOCATION: lokasi kumpulan CA
Untuk mencabut sertifikat, jalankan perintah berikut:
gcloud privateca certificates revoke --certificate CERT_NAME --issuer-pool POOL_ID --location LOCATION
Ganti kode berikut:
Hapus CA.
Anda hanya dapat menghapus CA setelah mencabut semua sertifikat yang diterbitkan oleh CA tersebut.
Nonaktifkan CA.
gcloud privateca roots disable CA_ID --pool=POOL_ID --location=LOCATIONGanti kode berikut:
- CA_ID: ID resource CA
- POOL_ID: ID resource kumpulan CA
- LOCATION: lokasi kumpulan CA. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
Hapus CA.
gcloud privateca roots delete CA_ID --pool=POOL_ID --location=LOCATION
Status CA berubah menjadi
Deleted. CA Service akan menghapus CA secara permanen 30 hari setelah Anda memulai penghapusan.Hapus kumpulan CA.
Anda hanya dapat menghapus kumpulan CA setelah CA di dalamnya dihapus secara permanen.
gcloud privateca pools delete POOL_ID --location=LOCATIONMenghapus project.
Hapus a Google Cloud project:
gcloud projects delete PROJECT_ID
Langkah berikutnya
- Pelajari kumpulan CA lebih lanjut.
- Pelajari lebih lanjut cara membuat kumpulan CA.
- Pelajari lebih lanjut cara membuat CA.
- Pelajari lebih lanjut cara meminta sertifikat.
- Pelajari cara mengontrol jenis sertifikat yang dapat diterbitkan kumpulan CA.