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 init

    Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  • Buat atau pilih Google Cloud project.

    Peran yang diperlukan untuk memilih atau membuat project

    • Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project yang telah diberi peran.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  • Aktifkan Certificate Authority Service API, jika belum diaktifkan:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

    gcloud services enable privateca.googleapis.com

  • Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  • Konfigurasi lokasi default untuk digunakan dalam perintah gcloud di panduan memulai ini.

    gcloud config set privateca/location LOCATION
    

    Resource Layanan CA, seperti kumpulan CA dan CA, berada di satu Google Cloud lokasi yang tidak dapat Anda ubah setelah membuat resource ini.

Buat 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 pool 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 resource dapat berisi huruf, angka, tanda hubung (-), dan garis bawah (_) serta dapat memiliki panjang hingga 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 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: 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 turunan
  • LOCATION: lokasi pool CA subordinat. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
  • TIER: tingkat subordinate CA, baik devops maupun enterprise

Opsional: Buat 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 subordinate CA
  • LOCATION: lokasi subordinate CA. Untuk daftar lengkap lokasi, lihat Lokasi.
  • SUBORDINATE_POOL_ID: ID kumpulan 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 hal berikut:

  1. 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 Layanan CA.

  2. Untuk mengizinkan Google Cloud SDK menggunakan library kriptografi Pyca, Anda harus mengaktifkan paket situs.

    macOS atau Linux

    export CLOUDSDK_PYTHON_SITEPACKAGES=1
    

    Windows

    set CLOUDSDK_PYTHON_SITEPACKAGES=1
    
  3. 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 pool CA yang Anda buat
    • ISSUER_LOCATION: lokasi otoritas sertifikat 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.

  1. Mencabut sertifikat.

      Untuk mencabut sertifikat, jalankan perintah berikut:

       gcloud privateca certificates revoke --certificate CERT_NAME --issuer-pool POOL_ID --location 
      LOCATION
        

      Ganti kode berikut:

      • CERT_NAME: nama sertifikat yang ingin Anda cabut
      • POOL_ID: nama CA pool yang menerbitkan sertifikat
      • LOCATION: lokasi kumpulan CA
  2. Hapus CA.

    Anda hanya dapat menghapus CA setelah mencabut semua sertifikat yang dikeluarkan oleh CA tersebut.

    1. 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 CA pool
      • LOCATION: lokasi pool CA. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
    2. 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.

  3. Hapus kumpulan CA.

    Anda dapat menghapus kumpulan CA hanya setelah CA di dalamnya dihapus secara permanen.

    gcloud privateca pools delete POOL_ID --location=LOCATION
    
  4. Menghapus project.

    Menghapus Google Cloud project:

    gcloud projects delete PROJECT_ID

Langkah berikutnya