Untuk mengetahui informasi tentang akses ke identitas workload terkelola untuk Compute Engine, lihat halaman permintaan akses.
Halaman ini menjelaskan cara mengonfigurasi identitas beban kerja terkelola untuk Compute Engine 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 yang sangat tersedia dan skalabel yang menyederhanakan dan mengotomatiskan deployment, pengelolaan, dan keamanan layanan CA. Google Cloud 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
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.
-
Minta akses ke identitas workload terkelola untuk Pratinjau Compute Engine.
Pahami identitas workload terkelola.
Pelajari penerbitan sertifikat menggunakan Certificate Authority Service.
Pelajari cara mengautentikasi workload Compute Engine menggunakan identitas workload terkelola.
Enable the IAM and Certificate Authority Service APIs:
gcloud services enable iam.googleapis.com
privateca.googleapis.com Konfigurasi 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 Anda untuk memberi Anda peran IAM berikut pada project:
-
Untuk membuat dan mengonfigurasi identitas workload terkelola:
-
Admin IAM Workload Identity Pool (
roles/iam.workloadIdentityPoolAdmin
) -
Admin Akun Layanan (
roles/iam.serviceAccountAdmin
)
-
Admin IAM Workload Identity Pool (
-
Untuk membuat dan mengonfigurasi kumpulan CA:
CA Service Admin (
roles/privateca.admin
)
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 managed workload identities.
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, Anda harus melakukan tugas berikut:
Administrator Keamanan:
- Buat identitas workload terkelola di workload identity pool.
- Tentukan kebijakan pengesahan workload dan buat akun layanan.
- Konfigurasi Certificate Authority Service untuk menerbitkan sertifikat bagi identitas workload terkelola.
- Memberi otorisasi identitas beban kerja terkelola untuk meminta sertifikat dari kumpulan CA.
- Tentukan konfigurasi penerbitan sertifikat dan kepercayaan.
- Buat file konfigurasi untuk mengupload metadata partner untuk VM.
Compute Administrator:
Aktifkan identitas workload terkelola untuk workload yang berjalan di Compute Engine:
- Untuk VM individual.
- Untuk grup instance terkelola (MIG).
Membuat identitas workload terkelola
Identitas workload terkelola memungkinkan Google Cloud untuk menyediakan kredensial secara otomatis 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 pool dalam mode TRUST_DOMAIN
untuk membuat identitas workload
terkelola. Untuk membuat workload identity pool bagi workload identity terkelola, 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 terdiri dari 4 hingga 32 karakter, dan hanya boleh berisi karakter alfanumerik huruf kecil dan tanda pisah, serta diawali dan diakhiri dengan karakter alfanumerik. Setelah membuat workload identity pool, 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 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 terdiri dari 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 namespace 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 hingga 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 mana yang digunakan untuk Google Cloud IAM guna memverifikasi identitas workload. Setelah verifikasi, workload yang memanggil 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 workload dengan aturan pengesahan
Untuk membuat kebijakan pengesahan yang memungkinkan beban kerja Anda menggunakan identitas terkelola, lakukan hal berikut:
Tentukan apakah Anda ingin membuat kebijakan pengesahan yang memungkinkan beban kerja Anda mengesahkan identitas terkelola menggunakan akun layanan terlampir atau menggunakan ID instance-nya.
Buat file kebijakan pengesahan berformat JSON.
(Opsional) Untuk menerima kredensial X.509 di instance Compute Engine, Anda harus mengaktifkan akun layanan yang terpasang. Sebaiknya Anda melampirkan akun layanan baru ke beban kerja dengan terlebih dahulu membuatnya menggunakan perintah berikut:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Ganti
SERVICE_ACCOUNT_NAME
dengan nama akun layananBuat file kebijakan pengesahan berformat JSON yang mengesahkan berdasarkan alamat email akun layanan, UID akun layanan, atau ID instance.
Alamat email akun layanan
Untuk membuat file kebijakan pengesahan yang mengesahkan 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 terlampir ke VM
UID akun layanan
Untuk membuat file kebijakan pengesahan yang mengesahkan 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 terlampir pada VM
ID instance
Untuk membuat file kebijakan pengesahan yang mengesahkan 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 EngineZONE
: zona VM Compute Engine
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 hingga 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 merepresentasikan kebijakan pengesahan yang Anda buat sebelumnya.
Anda juga dapat memperbarui kebijakan dengan menambahkan atau menghapus aturan pengesahan satu per satu. 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
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 subordinate certificate authority (CA) menggunakan kumpulan Certificate Authority Service. Pool 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 bertanda tangan dari kumpulan CA.
Mengonfigurasi kumpulan CA root
Gunakan antarmuka Google Cloud CLI ke Certificate Authority Service untuk mengonfigurasi kumpulan CA root.
gcloud
Buat kumpulan CA root.
Buat kumpulan CA root di tingkat Enterprise, yang ditujukan untuk penerbitan 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 hingga 64 karakter dan hanya boleh berisi karakter alfanumerik huruf kecil dan huruf besar, 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.
Buat CA root di kumpulan CA root 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 huruf kecil dan huruf besar, garis bawah, atau tanda hubung. Nama CA harus unik dalam region.
- ROOT_CA_POOL_ID: ID pool 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 otoritas sertifikat root. Untuk mengetahui informasi selengkapnya tentang kolom
subject
untuk CA, lihat Subjek.Opsional: Ulangi langkah-langkah sebelumnya untuk membuat CA root tambahan di kumpulan CA root. Hal ini dapat berguna untuk rotasi CA root.
Mengonfigurasi CA subordinat
Gunakan antarmuka Google Cloud CLI ke Certificate Authority Service untuk membuat CA bawahan dan kumpulan CA bawahan.
Jika memiliki beberapa skenario penerbitan sertifikat, Anda dapat membuat CA bawahan untuk setiap skenario tersebut. Selain itu, menambahkan beberapa CA bawahan dalam kumpulan CA membantu Anda mencapai load balancing permintaan sertifikat yang lebih baik.
gcloud
Gunakan perintah gcloud privateca pools create
untuk membuat kumpulan CA subordinat.
Buat kumpulan CA subordinat di paket DevOps, yang ditujukan untuk penerbitan sertifikat berumur pendek dengan volume tinggi .
gcloud privateca pools create SUBORDINATE_CA_POOL_ID \ --location=REGION \ --tier=devops
Ganti kode berikut:
- SUBORDINATE_CA_POOL_ID: ID unik untuk pool CA bawahan. Panjang ID maksimal 64 karakter dan hanya boleh berisi karakter alfanumerik huruf kecil dan huruf besar, 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.
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 perintah berikut 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 kecil dan huruf besar, garis bawah, atau tanda hubung. Nama kumpulan harus unik dalam region.
- SUBORDINATE_CA_POOL_ID: nama pool CA subordinat.
- REGION: region tempat CA pool bawahan berada.
- ROOT_CA_POOL_ID: ID pool CA root.
- REGION: region pool 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 CA Service dan mendapatkan sertifikat publik.
gcloud
Berikan peran IAM CA Service Workload Certificate Requester (
roles/privateca.workloadCertificateRequester
) di setiap kumpulan CA bawahan ke identitas beban kerja terkelola. Perintahgcloud privateca pools add-iam-policy-binding
berikut memberi otorisasi pada managed workload identity untuk meminta sertifikat dari rantai sertifikat CA Service.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 pool CA bawahan.
- REGION: region pool CA bawahan.
- PROJECT_NUMBER: nomor project dari project yang berisi workload identity pool.
- POOL_ID: ID workload identity pool.
Berikan peran IAM CA Service Pool Reader (
roles/privateca.poolReader
) pada kumpulan CA subordinat ke identitas beban kerja yang dikelola. Hal ini memberikan otorisasi pada 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 pool CA bawahan.
- REGION: region pool CA bawahan.
- PROJECT_NUMBER: nomor project dari project yang berisi workload identity pool.
- POOL_ID: ID workload identity pool.
Tentukan konfigurasi penerbitan sertifikat dan kepercayaan
Anda menggunakan informasi ini untuk membuat file JSON yang diupload sebagai data partner saat membuat VM.
Tentukan konfigurasi penerbitan sertifikat
Konfigurasi penerbitan sertifikat berikut diperlukan untuk mengaktifkan identitas workload 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 pool CA subordinat.
- REGION: region tempat pool CA bawahan berada.
- SUBORDINATE_CA_POOL_ID: nama pool CA bawahan
- ALGORITHM: algoritma enkripsi yang digunakan untuk membuat
kunci pribadi. Nilai yang valid adalah
rsa-2048
(default),rsa-3072
,rsa-4096
,ecdsa-p256
, danecdsa-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 CA tersebut dapat membatasi masa berlaku sertifikat yang diterbitkan.
- ROTATION_WINDOW_PERCENTAGE: Opsional: Persentase masa aktif sertifikat saat perpanjangan dipicu. Nilai harus antara 50 dan 80. Nilai defaultnya adalah 50 persen. Anda harus menetapkan persentase periode rotasi yang terkait dengan masa berlaku sertifikat sehingga perpanjangan sertifikat terjadi setidaknya 7 hari setelah sertifikat diterbitkan dan setidaknya 7 hari sebelum masa berlakunya habis.
Menentukan konfigurasi tepercaya
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 dipercaya untuk menerbitkan sertifikat dalam domain kepercayaan yang sama dengan VM.
- Sertifikat CA berformat PEM: Kumpulan sertifikat CA berformat PEM yang dipercaya untuk menerbitkan sertifikat dalam domain kepercayaan yang sama dengan VM.
{ "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 pool CA subordinat.
- REGION: region tempat pool CA subordinat berada
- SUBORDINATE_CA_POOL_ID: ID pool CA subordinat
PEM_ENCODED_CERTIFICATE: Opsional: sekumpulan sertifikat CA tambahan berformat PEM yang dipercaya untuk menerbitkan sertifikat dalam domain kepercayaan yang sama dengan VM. Sertifikat ini akan ditambahkan ke daftar anchor tepercaya kumpulan CA bawahan. 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'
Buat file konfigurasi untuk mengupload metadata partner untuk VM
Buat file JSON yang berisi hal berikut:
- Konfigurasi untuk workload identity
- Informasi dari Tentukan konfigurasi penerbitan sertifikat
- Informasi dari Tentukan konfigurasi kepercayaan
Simpan file ini sebagai CONFIGS.json
. File ini digunakan saat membuat VM untuk menjalankan aplikasi yang menggunakan managed workload identity.
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 berikutnya
- Memecahkan masalah autentikasi identitas workload terkelola untuk Compute Engine
- Konfigurasi autentikasi beban kerja ke beban kerja menggunakan mTLS.
- Pelajari lebih lanjut cara membuat kumpulan CA.
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