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
-
Menginstal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
Enable the Certificate Authority Service API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable privateca.googleapis.com
Verify that billing is enabled for your Google Cloud project.
Konfigurasi lokasi default untuk digunakan dalam perintah
gcloud
di panduan memulai ini.gcloud config set privateca/location LOCATION
Resource 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 pool CA.
- LOCATION: lokasi pool CA. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
Nama semua resource Layanan CA hanya boleh berisi karakter yang diizinkan, yaitu semua huruf, angka, tanda hubung, dan garis bawah. Panjang maksimum yang diizinkan untuk nama adalah 63 karakter.
Membuat CA root
Pool 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 pool CA.
- LOCATION: lokasi pool CA. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
Layanan CA menampilkan perintah 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: Buat kumpulan CA subordinat
Untuk membuat pool CA subordinat, jalankan perintah berikut:
gcloud privateca pools create SUBORDINATE_POOL_ID
--location LOCATION
--tier TIER
Ganti kode berikut:
- SUBORDINATE_POOL_ID: ID pool CA bawahan.
- LOCATION: lokasi pool CA subordinat. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
- TIER: tingkat CA subordinat, baik devops maupun enterprise.
Opsional: Buat subordinate CA yang ditandatangani oleh CA root yang disimpan di Google Cloud
Untuk membuat CA bawahan di kumpulan CA bawahan 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 subordinate CA.
- LOCATION: lokasi CA subordinat. Untuk daftar lengkap lokasi, lihat Lokasi.
- SUBORDINATE_POOL_ID: ID pool CA bawahan yang Anda buat di bagian sebelumnya.
- POOL_ID: ID pool 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 guna membuat sertifikat, lakukan langkah 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 komputer lokal Anda. Kunci ini tidak pernah dikirim ke Layanan CA.
Agar Google Cloud SDK dapat menggunakan library kriptografi Pyca, Anda harus mengaktifkan paket situs.
macOS atau Linux
export CLOUDSDK_PYTHON_SITEPACKAGES=1
Windows
set CLOUDSDK_PYTHON_SITEPACKAGES=1
Buat 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.pem
Ganti kode berikut:
- POOL_ID: ID resource kumpulan CA yang Anda buat.
- ISSUER_LOCATION: lokasi certificate authority yang menerbitkan sertifikat digital.
Layanan CA 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 CA pool yang menerbitkan sertifikat.
- LOCATION: lokasi pool 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 dikeluarkan oleh CA tersebut.
Nonaktifkan CA.
gcloud privateca roots disable CA_ID --pool=POOL_ID --location=LOCATION
Ganti kode berikut:
- CA_ID: ID resource CA.
- POOL_ID: ID resource pool CA.
- LOCATION: lokasi pool CA. Untuk daftar lengkap lokasi, lihat Lokasi.
Hapus CA.
gcloud privateca roots delete CA_ID --pool=POOL_ID --location=LOCATION
Status CA berubah menjadi
Deleted
. Layanan CA akan menghapus CA secara permanen 30 hari setelah Anda memulai penghapusan.Hapus kumpulan CA.
Anda dapat menghapus kumpulan CA hanya setelah CA di dalamnya dihapus secara permanen.
gcloud privateca pools delete POOL_ID --location=LOCATION
Menghapus project.
Delete 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 dikeluarkan oleh CA pool.