Mengonfigurasi autentikasi identitas workload terkelola

Halaman ini menjelaskan cara mengonfigurasi managed workload identity menggunakan gcloud CLI.

Halaman ini juga menjelaskan cara menyiapkan penyediaan otomatis dan pengelolaan siklus proses identitas beban kerja terkelola untuk Compute Engine. Anda mengonfigurasi kumpulan certificate authority (CA) untuk menerbitkan sertifikat menggunakan Certificate Authority Service. CA Service adalah layanan Google Cloud yang skalabel dan sangat tersedia yang menyederhanakan dan mengotomatiskan deployment, pengelolaan, dan keamanan layanan CA. Anda dapat membuat instance virtual machine (VM) yang disediakan dengan kredensial X.509 dari kumpulan CA yang dikonfigurasi. Kredensial ini kemudian dapat digunakan untuk membuat koneksi mTLS antar-beban kerja.

Sebelum memulai

  1. Buat atau pilih project Google Cloud.

    • Membuat project Google Cloud:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk project Google Cloud 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.

  2. Minta akses ke Pratinjau identitas workload terkelola.

  3. Pahami identitas workload terkelola.

  4. Pelajari penerbitan sertifikat menggunakan Certificate Authority Service.

  5. Pelajari cara melakukan autentikasi workload Compute Engine menggunakan identitas workload terkelola.

  6. Aktifkan API IAM and Certificate Authority Service:

    gcloud services enable iam.googleapis.com privateca.googleapis.com

  7. Konfigurasikan Google Cloud CLI untuk menggunakan project yang ditambahkan ke daftar yang diizinkan untuk penagihan dan kuota.

    gcloud config set billing/quota_project PROJECT_ID
    

    Ganti PROJECT_ID dengan ID project yang ditambahkan ke daftar yang diizinkan untuk pratinjau identitas beban kerja terkelola.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna membuat identitas beban kerja terkelola dan menyediakan sertifikat identitas beban kerja terkelola, minta administrator untuk memberi Anda peran IAM berikut pada project:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Atau, peran dasar Pemilik IAM (roles/owner) juga mencakup izin untuk mengonfigurasi workload identity terkelola. Anda tidak boleh memberikan peran dasar dalam lingkungan produksi, tetapi Anda dapat memberikannya dalam lingkungan pengembangan atau pengujian.

Ringkasan

Untuk menggunakan identitas workload terkelola bagi aplikasi, Anda harus melakukan tugas berikut:

  1. Administrator Keamanan:

  2. Compute Administrator:

    Aktifkan identitas workload terkelola untuk workload yang berjalan di Compute Engine:

Membuat identitas workload terkelola

Identitas workload terkelola memungkinkan Google Cloud otomatis menyediakan kredensial untuk identitas workload identity pool ke workload Anda. Workload identity ditentukan dalam workload identity pool, dan diatur ke dalam batas administratif yang disebut namespace.

Membuat workload identity pool

Anda harus membuat kumpulan dalam mode TRUST_DOMAIN untuk membuat workload identity terkelola. Untuk membuat workload identity pool bagi workload identity yang dikelola, gunakan perintah workload-identity-pools create.

gcloud iam workload-identity-pools create POOL_ID \
    --location="global" \
    --mode="TRUST_DOMAIN"

Ganti kode berikut:

  • POOL_ID: ID unik untuk pool. ID harus berisi antara 4 dan 32 karakter, dan hanya boleh berisi karakter alfanumerik huruf kecil dan tanda pisah, serta diawali dan diakhiri dengan karakter alfanumerik. Setelah membuat kumpulan identitas beban kerja, Anda tidak dapat mengubah ID-nya.

Untuk memverifikasi bahwa workload identity pool Anda dibuat dalam mode TRUST_DOMAIN, gunakan perintah workload-identity-pools describe.

gcloud iam workload-identity-pools describe POOL_ID \
    --location="global"

Output perintahnya akan terlihat seperti berikut:

mode: TRUST_DOMAIN
name: projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID
state: ACTIVE

Jika mode: TRUST_DOMAIN tidak ada dalam output perintah, verifikasi bahwa project Anda telah ditambahkan ke daftar yang diizinkan untuk Pratinjau identitas beban kerja terkelola dan bahwa Anda telah mengonfigurasi gcloud CLI dengan benar untuk menggunakan project yang benar untuk penagihan dan kuota. Anda mungkin perlu mengupdate ke gcloud CLI versi yang lebih baru.

Buat namespace

Perintah workload-identity-pools namespaces create memungkinkan Anda membuat namespace di workload identity pool.

gcloud iam workload-identity-pools namespaces create NAMESPACE_ID \
    --workload-identity-pool="POOL_ID" \
    --location="global"

Ganti kode berikut:

  • NAMESPACE_ID: ID unik untuk namespace. ID harus antara 2 hingga 63 karakter, hanya berisi karakter alfanumerik huruf kecil dan tanda pisah, serta diawali dan diakhiri dengan karakter alfanumerik. Setelah membuat namespace, Anda tidak dapat mengubah ID-nya.
  • POOL_ID: ID workload identity pool yang Anda buat sebelumnya.

Membuat identitas workload terkelola

Perintah workload-identity-pools managed-identities create memungkinkan Anda membuat identitas workload terkelola di workload identity pool.

gcloud iam workload-identity-pools managed-identities create MANAGED_IDENTITY_ID \
    --namespace="NAMESPACE_ID" \
    --workload-identity-pool="POOL_ID" \
    --location="global"

Ganti kode berikut:

  • MANAGED_IDENTITY_ID: ID unik untuk identitas terkelola. Panjang ID harus antara 2 dan 63 karakter, hanya berisi karakter alfanumerik huruf kecil dan tanda pisah, serta diawali dan diakhiri dengan karakter alfanumerik. Setelah membuat identitas beban kerja terkelola, Anda tidak dapat mengubah ID-nya.
  • NAMESPACE_ID: ID namespace yang Anda buat sebelumnya.
  • POOL_ID: ID workload identity pool yang Anda buat sebelumnya.

ID identitas beban kerja terkelola Anda adalah ID SPIFFE, yang diformat sebagai berikut:

spiffe://POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID

Menentukan kebijakan pengesahan workload

Bagian ini menjelaskan cara menyiapkan kebijakan pengesahan. Kebijakan ini menentukan atribut yang digunakan untuk Google Cloud IAM guna memverifikasi identitas beban kerja. Setelah verifikasi, workload panggilan dapat menerima kredensial. Verifikasi didasarkan pada salah satu atribut workload berikut:

  • ID instance VM
  • Alamat email akun layanan terlampir
  • UID akun layanan terlampir

Menentukan kebijakan pengesahan beban kerja dengan aturan pengesahan

Untuk membuat kebijakan pengesahan yang memungkinkan beban kerja Anda menggunakan ID terkelola, lakukan hal berikut:

  1. Tentukan apakah Anda ingin membuat kebijakan pengesahan yang memungkinkan beban kerja Anda mengesahkan identitas terkelola menggunakan akun layanan terlampir atau menggunakan ID instance-nya.

  2. Buat file kebijakan pengesahan berformat JSON.

    1. (Opsional) Untuk menerima kredensial X.509 di instance Compute Engine, Anda harus mengaktifkan akun layanan yang terpasang. Sebaiknya tambahkan akun layanan baru ke beban kerja Anda dengan membuatnya terlebih dahulu menggunakan perintah berikut:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
      

      Ganti SERVICE_ACCOUNT_NAME dengan nama akun layanan

    2. Buat file kebijakan pengesahan berformat JSON yang melakukan pengesahan berdasarkan alamat email akun layanan, UID akun layanan, atau ID instance.

      Alamat email akun layanan

      Untuk membuat file kebijakan pengesahan yang membuktikan berdasarkan alamat email akun layanan, buat file dengan konten berikut:

      {
         "attestationRules": [
            {
               "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.email/SERVICE_ACCOUNT_EMAIL"
            }
         ],
      }
      

      Ganti kode berikut:

      • WORKLOAD_PROJECT_NUMBER: nomor project yang berisi instance VM atau akun layanan

      Untuk mendapatkan nomor project yang berisi identitas terkelola atau akun layanan yang baru saja Anda buat, jalankan perintah berikut:

         gcloud projects describe $(gcloud config get-value project) \
            --format="value(projectNumber)"
      
      • SERVICE_ACCOUNT_EMAIL: alamat email akun layanan yang dilampirkan ke VM

      UID akun layanan

      Untuk membuat file kebijakan pengesahan yang melakukan pengesahan berdasarkan UID akun layanan, buat file dengan konten berikut:

      {
         "attestationRules": [
            {
               "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.uid/SERVICE_ACCOUNT_UID"
            }
         ],
      }
      

      Ganti kode berikut:

      • WORKLOAD_PROJECT_NUMBER: nomor project yang berisi instance VM atau akun layanan

      Untuk mendapatkan nomor project yang berisi identitas terkelola atau akun layanan yang baru saja Anda buat, jalankan perintah berikut:

         gcloud projects describe $(gcloud config get-value project) \
            --format="value(projectNumber)"
      
      • SERVICE_ACCOUNT_UID: UID akun layanan yang dilampirkan ke VM

      ID instance

      Untuk membuat file kebijakan pengesahan yang melakukan pengesahan berdasarkan ID instance, buat file dengan konten berikut:

      {
         "attestationRules": [
            {
               "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/uid/zones/ZONE/instances/INSTANCE_ID"
            }
         ],
      }
      

      Ganti kode berikut:

      • WORKLOAD_PROJECT_NUMBER: nomor project yang berisi instance VM atau akun layanan

      Untuk mendapatkan nomor project yang berisi identitas terkelola atau akun layanan yang baru saja Anda buat, jalankan perintah berikut:

         gcloud projects describe $(gcloud config get-value project) \
            --format="value(projectNumber)"
      
      • INSTANCE_ID: ID instance VM Compute Engine

      Nilai untuk ID instance harus berasal dari instance Compute Engine yang ada. Untuk mendapatkan ID instance, jalankan perintah berikut:

      gcloud compute instances describe INSTANCE_NAME --zone=ZONE --format="get(id)"
      
      • INSTANCE_NAME: nama instance VM Compute Engine
      • ZONE: zona VM Compute Engine
  3. Buat kebijakan pengesahan menggunakan file JSON kebijakan yang Anda buat sebelumnya dalam dokumen ini:

    gcloud iam workload-identity-pools managed-identities set-attestation-rules MANAGED_IDENTITY_ID \
       --namespace=NAMESPACE_ID \
       --workload-identity-pool=POOL_ID \
       --policy-file=PATH_TO_POLICY_JSON_FILE \
       --location=global
    

    Ganti kode berikut:

    • MANAGED_IDENTITY_ID: ID unik untuk identitas terkelola. Panjang ID harus antara 2 dan 63 karakter, hanya berisi karakter alfanumerik huruf kecil dan tanda pisah, serta diawali dan diakhiri dengan karakter alfanumerik. Setelah membuat identitas beban kerja terkelola, Anda tidak dapat mengubah ID-nya.
    • NAMESPACE_ID: ID namespace yang Anda buat sebelumnya.
    • POOL_ID: ID workload identity pool yang Anda buat sebelumnya.
    • PATH_TO_POLICY_JSON_FILE: Jalur ke file JSON yang mewakili kebijakan pengesahan yang Anda buat sebelumnya.

    Anda juga dapat memperbarui kebijakan dengan menambahkan atau menghapus aturan pengesahan secara terpisah. Untuk menambahkan pengesahan ke kebijakan pengesahan, jalankan perintah berikut:

    gcloud iam workload-identity-pools managed-identities add-attestation-rule MANAGED_IDENTITY_ID \
       --namespace=NAMESPACE_ID \
       --workload-identity-pool=POOL_ID \
       --google-cloud-resource='//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.uid/SERVICE_ACCOUNT_UID' \
       --location=global
    
  4. Untuk mempelajari cara mencantumkan atau menghapus aturan pengesahan, jalankan perintah berikut:

    gcloud iam workload-identity-pools managed-identities list-attestation-rules --help
    gcloud iam workload-identity-pools managed-identities remove-attestation-rule --help
    

Mengonfigurasi Certificate Authority Service untuk menerbitkan sertifikat bagi identitas workload terkelola

Buat penyiapan yang direkomendasikan untuk root dan certificate authority (CA) subordinat menggunakan kumpulan Certificate Authority Service. Kumpulan CA subordinat menerbitkan sertifikat identitas beban kerja X.509 ke VM.

Setelah mengonfigurasi kumpulan CA, Anda kemudian mengizinkan identitas workload terkelola untuk meminta dan menerima sertifikat yang ditandatangani dari kumpulan CA.

Mengonfigurasi kumpulan root CA

Gunakan antarmuka Google Cloud CLI ke Certificate Authority Service untuk mengonfigurasi kumpulan root CA.

gcloud

Buat kumpulan root CA.

  1. Buat kumpulan root CA di tingkat Enterprise, yang ditujukan untuk pemberian sertifikat bervolume rendah dan berumur panjang menggunakan perintah gcloud privateca pools create.

    gcloud privateca pools create ROOT_CA_POOL_ID \
       --location=REGION \
       --tier=enterprise
    

    Ganti kode berikut:

    • ROOT_CA_POOL_ID: ID unik untuk kumpulan CA root. ID dapat memiliki panjang maksimal 64 karakter dan hanya boleh berisi karakter alfanumerik huruf besar dan kecil, garis bawah, atau tanda hubung. ID kumpulan harus unik dalam region.
    • REGION: region tempat kumpulan CA root berada.

    Untuk mengetahui informasi selengkapnya, lihat Membuat kumpulan CA.

  2. Buat root CA di kumpulan root CA menggunakan perintah gcloud privateca roots create. Anda mungkin diminta untuk mengaktifkan CA root jika ini adalah satu-satunya CA di Kumpulan CA root.

    Misalnya, Anda dapat menggunakan perintah yang mirip dengan perintah berikut untuk membuat CA root.

    gcloud privateca roots create ROOT_CA_ID \
       --pool=ROOT_CA_POOL_ID \
       --subject "CN=ROOT_CA_CN, O=ROOT_CA_ORGANIZATION" \
       --key-algorithm="ec-p256-sha256" \
       --max-chain-length=1 \
       --location=REGION
    

    Ganti kode berikut:

    • ROOT_CA_ID: nama unik untuk CA root. Nama CA dapat memiliki panjang hingga 64 karakter dan hanya boleh berisi karakter alfanumerik, garis bawah, atau tanda hubung dalam huruf besar dan kecil. Nama CA harus unik dalam region.
    • ROOT_CA_POOL_ID: ID kumpulan CA root.
    • ROOT_CA_CN: nama umum CA root.
    • ROOT_CA_ORGANIZATION: organisasi CA root.
    • REGION: region tempat kumpulan CA root berada.

    Untuk mengetahui informasi selengkapnya, lihat Membuat root certificate authority. Untuk mengetahui informasi selengkapnya tentang kolom subject untuk CA, lihat Subjek.

  3. Opsional: Ulangi langkah-langkah sebelumnya untuk membuat root CA tambahan di kumpulan root CA. Hal ini dapat berguna untuk rotasi CA root.

Mengonfigurasi CA bawahan

Gunakan antarmuka Google Cloud CLI ke Certificate Authority Service untuk membuat kumpulan CA subordinat dan CA subordinat.

Jika memiliki beberapa skenario penerbitan sertifikat, Anda dapat membuat CA subordinasi untuk setiap skenario tersebut. Selain itu, menambahkan beberapa CA subordinat dalam kumpulan CA akan membantu Anda mencapai load balancing permintaan sertifikat yang lebih baik.

gcloud

Gunakan perintah gcloud privateca pools create untuk membuat kumpulan CA subordinat.

  1. Buat kumpulan CA subordinat di tingkat DevOps, yang ditujukan untuk penerbitan sertifikat bervolume tinggi dan berumur pendek .

    gcloud privateca pools create SUBORDINATE_CA_POOL_ID \
       --location=REGION \
       --tier=devops
    

    Ganti kode berikut:

    • SUBORDINATE_CA_POOL_ID: ID unik untuk kumpulan CA subordinasi. Panjang ID dapat mencapai 64 karakter dan hanya boleh berisi karakter alfanumerik huruf besar dan kecil, garis bawah, atau tanda hubung. ID kumpulan harus unik dalam region.
    • REGION: region tempat membuat kumpulan CA subordinat.

    Untuk mengetahui informasi selengkapnya, lihat Membuat kumpulan CA.

  2. Buat CA subordinat di kumpulan CA subordinat menggunakan perintah gcloud privateca subordinates create. Jangan ubah mode penerbitan berbasis konfigurasi default.

    Misalnya, Anda dapat menggunakan perintah yang mirip dengan berikut ini untuk membuat CA subordinat.

    gcloud privateca subordinates create SUBORDINATE_CA_ID \
       --pool=SUBORDINATE_CA_POOL_ID \
       --location=REGION \
       --issuer-pool=ROOT_CA_POOL_ID \
       --issuer-location=REGION \
       --subject="CN=SUBORDINATE_CA_CN, O=SUBORDINATE_CA_ORGANIZATION" \
       --key-algorithm="ec-p256-sha256" \
       --use-preset-profile=subordinate_mtls_pathlen_0
    

    Ganti kode berikut:

    • SUBORDINATE_CA_ID: nama unik untuk CA subordinat. Panjang nama maksimal 64 karakter dan hanya boleh berisi karakter alfanumerik huruf besar dan kecil, garis bawah, atau tanda hubung. Nama kumpulan harus unik dalam region.
    • SUBORDINATE_CA_POOL_ID: nama kumpulan CA subordinat.
    • REGION: region tempat kumpulan CA subordinat berada.
    • ROOT_CA_POOL_ID: ID kumpulan CA root.
    • REGION: region kumpulan CA root.
    • SUBORDINATE_CA_CN: nama umum CA subordinat.
    • SUBORDINATE_CA_ORGANIZATION: nama organisasi penerbit CA bawahan.

    Untuk mengetahui informasi selengkapnya, lihat Membuat kumpulan CA. Untuk mengetahui informasi selengkapnya tentang kolom subject untuk CA, lihat Subjek.

Memberi otorisasi identitas workload terkelola untuk meminta sertifikat dari kumpulan CA

Identitas workload terkelola memerlukan izin untuk meminta sertifikat dari Layanan CA dan mendapatkan sertifikat publik.

gcloud

  1. Berikan peran IAM CA Service Workload Certificate Requester (roles/privateca.workloadCertificateRequester) di setiap kumpulan CA subordinat ke identitas beban kerja yang dikelola. Perintah gcloud privateca pools add-iam-policy-binding berikut memberi otorisasi identitas workload terkelola untuk meminta sertifikat dari rantai sertifikat Layanan CA.

    gcloud privateca pools add-iam-policy-binding SUBORDINATE_CA_POOL_ID \
     --location=REGION \
     --role=roles/privateca.workloadCertificateRequester \
     --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*"
    

    Ganti kode berikut:

    • SUBORDINATE_CA_POOL_ID: ID untuk kumpulan CA subordinat.
    • REGION: region kumpulan CA subordinat.
    • PROJECT_NUMBER: nomor project dari project yang berisi workload identity pool.
    • POOL_ID: ID workload identity pool.
  2. Berikan peran IAM Pembaca Kumpulan Layanan CA (roles/privateca.poolReader) di kumpulan CA subordinat ke identitas beban kerja yang dikelola. Tindakan ini akan memberikan otorisasi kepada identitas workload terkelola untuk mendapatkan sertifikat X.509 yang ditandatangani dari rantai sertifikat CA.

    gcloud privateca pools add-iam-policy-binding SUBORDINATE_CA_POOL_ID \
     --location=REGION \
     --role=roles/privateca.poolReader \
     --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*"
    

    Ganti kode berikut:

    • SUBORDINATE_CA_POOL_ID: ID untuk kumpulan CA subordinat.
    • REGION: region kumpulan CA subordinat.
    • PROJECT_NUMBER: nomor project dari project yang berisi workload identity pool.
    • POOL_ID: ID workload identity pool.

Menentukan konfigurasi penerbitan sertifikat dan kepercayaan

Anda menggunakan informasi ini untuk membuat file JSON yang diupload sebagai data partner saat membuat VM.

Menentukan konfigurasi penerbitan sertifikat

Konfigurasi penerbitan sertifikat berikut diperlukan untuk mengaktifkan workload identity terkelola untuk Compute Engine.

{
  "primary_certificate_authority_config": {
    "certificate_authority_config": {
      "ca_pool": "projects/SUBORDINATE_CA_POOL_PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID"
    }
  },
  "key_algorithm": "ALGORITHM",
  "workload_certificate_lifetime_seconds": DURATION,
  "rotation_window_percentage": ROTATION_WINDOW_PERCENTAGE
}

Ganti kode berikut:

  • SUBORDINATE_CA_POOL_PROJECT_ID: ID project yang berisi kumpulan CA subordinat.
  • REGION: region tempat kumpulan CA subordinat berada.
  • SUBORDINATE_CA_POOL_ID: nama kumpulan CA subordinat
  • ALGORITHM: algoritma enkripsi yang digunakan untuk membuat kunci pribadi. Nilai yang valid adalah rsa-2048 (default), rsa-3072, rsa-4096, ecdsa-p256, dan ecdsa-p384.
  • DURATION: Opsional: Durasi validitas sertifikat leaf, dalam detik. Nilai harus antara 3600 dan 315360000. Jika tidak ditentukan, nilai default 86400 akan digunakan. Validitas sebenarnya dari sertifikat yang diterbitkan juga bergantung pada CA penerbit, karena dapat membatasi masa berlaku sertifikat yang diterbitkan.
  • ROTATION_WINDOW_PERCENTAGE: Opsional: Persentase masa aktif sertifikat saat perpanjangan dipicu. Nilai harus antara 1 dan 100. Nilai defaultnya adalah 66 persen. Anda harus menetapkan persentase periode rotasi sehubungan dengan masa berlaku sertifikat sehingga perpanjangan sertifikat terjadi setidaknya 7 hari setelah sertifikat dikeluarkan dan setidaknya 7 hari sebelum masa berlakunya habis.

Menentukan konfigurasi kepercayaan

Konfigurasi kepercayaan berisi kumpulan anchor kepercayaan untuk memvalidasi sertifikat peer. Ini mencakup hal-hal berikut:

  • URI resource kumpulan CA tepercaya: Kumpulan URI resource kumpulan CA yang tepercaya untuk menerbitkan sertifikat di domain kepercayaan yang sama dengan VM yang dimiliki.
  • Sertifikat CA berformat PEM: Kumpulan sertifikat CA berformat PEM yang dipercaya untuk menerbitkan sertifikat di domain kepercayaan yang sama dengan VM yang dimiliki.
{
  "POOL_ID.global.PROJECT_NUMBER.workload.id.goog": {
    "trust_anchors": [
      {
        "ca_pool": "projects/SUBORDINATE_CA_POOL_PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID"
      },
      {
        "pem_certificate": "PEM_ENCODED_CERTIFICATE"
      }
    ]
  }
}

Ganti kode berikut:

  • POOL_ID: ID workload identity pool
  • PROJECT_NUMBER: nomor project dari project yang berisi workload identity pool
  • SUBORDINATE_CA_POOL_PROJECT_ID: ID project yang berisi kumpulan CA subordinat.
  • REGION: region tempat kumpulan CA subordinat berada
  • SUBORDINATE_CA_POOL_ID: ID subordinate CA pool
  • PEM_ENCODED_CERTIFICATE: Opsional: kumpulan sertifikat CA berformat PEM tambahan yang dipercaya untuk menerbitkan sertifikat di domain kepercayaan yang sama dengan VM. Sertifikat ini akan ditambahkan ke daftar anchor kepercayaan kumpulan CA subordinat. Perintah berikut dapat digunakan untuk mengenkode file trust-anchor.pem berformat PEM menjadi string satu baris:

    cat trust-anchor.pem | sed 's/^[ ]*//g' | sed -z '$ s/\n$//' | tr '\n' $ | sed 's/\$/\\n/g'
    

Membuat file konfigurasi untuk mengupload metadata partner untuk VM

Buat file JSON yang berisi hal berikut:

Simpan file ini sebagai CONFIGS.json. File ini digunakan saat membuat VM untuk menjalankan aplikasi yang menggunakan workload identity terkelola.

File CONFIGS.json Anda akan terlihat seperti berikut:

  {
  "wc.compute.googleapis.com": {
     "entries": {
        "certificate-issuance-config": {
           "primary_certificate_authority_config": {
              "certificate_authority_config": {
                 "ca_pool": "projects/PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID"
              }
           },
           "key_algorithm": "ALGORITHM"
        },
        "trust-config": {
           "POOL_ID.global.PROJECT_NUMBER.workload.id.goog": {
               "trust_anchors": [{
                  "ca_pool": "projects/PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID"
                }]
           }
     }
  }
  },
  "iam.googleapis.com": {
     "entries": {
        "workload-identity": "spiffe://POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID"
     }
  }
  }
  

Langkah selanjutnya

Coba sendiri

Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.

Mulai secara gratis