Mengeluarkan sertifikat menggunakan Google Cloud CLI

Halaman ini menjelaskan cara membuat atau menerbitkan sertifikat melalui Layanan Otoritas Sertifikasi menggunakan Google Cloud CLI.

CA Service memungkinkan Anda men-deploy dan mengelola CA pribadi tanpa mengelola infrastruktur.

Sebelum memulai

  • Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init
  • Create or select a Google Cloud project.

    • 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:

    gcloud services enable privateca.googleapis.com

  • Make sure that billing is enabled for your Google Cloud project.

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

    gcloud config set privateca/location LOCATION
    

    Resource Layanan CA, seperti kumpulan CA dan CA, berada di satu lokasiGoogle Cloud 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 beban kerja.

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 semua resource Layanan CA hanya boleh berisi karakter yang diizinkan, yaitu semua huruf, angka, tanda hubung, dan garis bawah. Panjang maksimum nama yang diizinkan adalah 63 karakter.

Membuat CA root

Kumpulan CA kosong saat dibuat. Untuk meminta sertifikat dari kumpulan CA, Anda harus menambahkan CA di dalamnya.

Untuk membuat root CA 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.

Layanan CA menampilkan perintah berikut saat membuat root CA:

Created Certificate Authority [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/CA_ID]

Aktifkan root CA 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 subordinate CA pool.
  • LOCATION: lokasi kumpulan CA subordinat. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
  • TIER: tingkat CA subordinat, baik devops maupun perusahaan.

Opsional: Buat CA subordinasi yang ditandatangani oleh CA root yang disimpan di Google Cloud

Untuk membuat CA subordinat di kumpulan CA subordinat yang Anda buat di 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 subordinasi.
  • LOCATION: lokasi CA subordinat. Untuk mengetahui daftar lengkap lokasi, lihat Lokasi.
  • SUBORDINATE_POOL_ID: ID subordinate CA pool 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 guna membuat sertifikat, lakukan hal berikut:

  1. Instal library kriptografi Pyca menggunakan perintah pip.

      pip install --user "cryptography>=2.2.0"
    

    Layanan CA menggunakan library kriptografi Pyca untuk membuat dan menyimpan pasangan kunci asimetris baru di komputer lokal Anda. Kunci ini tidak pernah dikirim ke Layanan CA.

  2. Agar Google Cloud SDK dapat menggunakan library kriptografi Pyca, Anda harus mengaktifkan paket situs.

    export CLOUDSDK_PYTHON_SITEPACKAGES=1
    
    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 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.

  1. Cabut 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 kumpulan CA yang menerbitkan sertifikat.
      • LOCATION: lokasi kumpulan CA.
  2. Hapus CA.

    Anda hanya dapat menghapus CA setelah mencabut semua sertifikat yang dikeluarkannya.

    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 kumpulan CA.
      • LOCATION: lokasi kumpulan 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 hanya dapat menghapus kumpulan CA setelah CA di dalamnya dihapus secara permanen.

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

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

Langkah berikutnya