Untuk membuat koneksi mutual TLS (mTLS) antara workload Compute Engine, Anda dapat menggunakan gcloud CLI untuk mengonfigurasi identitas workload terkelola serta menyiapkan penyediaan otomatis dan pengelolaan siklus proses sertifikat. Untuk penerbitan sertifikat, Anda dapat menggunakan certificate authority (CA) default yang dikelola Google atau certificate authority yang dikelola sendiri dengan Certificate Authority Service.
Sebelum memulai
Buat atau pilih project Google Cloud .
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat project Google Cloud :
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
Memahami identitas workload terkelola.
Pelajari penerbitan sertifikat menggunakan Certificate Authority Service.
Pelajari cara mengautentikasi workload Compute Engine menggunakan identitas workload terkelola.
Aktifkan API IAM dan Certificate Authority Service, 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 Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud services enable iam.googleapis.com
privateca.googleapis.com Konfigurasikan Google Cloud CLI agar menggunakan project untuk penagihan dan kuota.
gcloud config set billing/quota_project PROJECT_ID
Ganti PROJECT_ID dengan ID project.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat identitas workload terkelola dan menyediakan sertifikat identitas workload terkelola, minta administrator untuk memberi Anda peran IAM berikut pada project:
-
Untuk membuat dan mengonfigurasi identitas workload terkelola:
- IAM Workload Identity Pool Admin (
roles/iam.workloadIdentityPoolAdmin) - Service Account Admin (
roles/iam.serviceAccountAdmin)
- IAM Workload Identity Pool Admin (
-
Untuk membuat dan mengonfigurasi kumpulan CA:
CA Service Admin (
roles/privateca.admin)
Untuk mengetahui informasi selengkapnya tentang pemberian 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 IAM Owner (roles/owner) juga
mencakup izin untuk mengonfigurasi identitas workload 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 untuk aplikasi, Anda harus melakukan tugas berikut:
Security Administrator:
- Buat workload identity pool.
- Mengonfigurasi CA (untuk memilih opsi CA, mengonfigurasi CA, dan mengupdate pool).
- Buat identitas workload terkelola di workload identity pool.
- Tentukan kebijakan pengesahan workload dan buat akun layanan.
Compute Administrator:
Mengaktifkan identitas workload terkelola untuk workload yang berjalan di Compute Engine:
- Untuk VM individual.
- Untuk grup instance terkelola (MIG).
Membuat workload identity pool
Untuk mengonfigurasi identitas workload terkelola, Anda harus membuat pool dalam mode
TRUST_DOMAIN.gcloud iam workload-identity-pools create POOL_ID \ --location="global" \ --mode="TRUST_DOMAIN"
Ganti POOL_ID dengan ID unik untuk pool. ID harus terdiri dari 4 hingga 32 karakter, hanya berisi karakter alfanumerik huruf kecil dan tanda hubung, 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, jalankan perintahworkload-identity-pools describe.gcloud iam workload-identity-pools describe POOL_ID \ --location="global"
Outputnya mirip dengan hal berikut ini:
mode: TRUST_DOMAIN name: projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID state: ACTIVE
Jika
mode: TRUST_DOMAINtidak ada dalam output perintah, pastikan Anda telah mengonfigurasi gcloud CLI dengan benar untuk menggunakan project yang benar untuk penagihan dan kuota. Pastikan Anda telah mengupdate ke gcloud CLI versi terbaru.
Memilih opsi CA
Untuk menandatangani sertifikat workload, pilih opsi certificate authority (CA) yang paling sesuai dengan kasus penggunaan Anda:
CA default yang dikelola Google: Gunakan opsi ini untuk solusi tanpa biaya yang terkelola sepenuhnya. CA default menyediakan root of trust bersama untuk semua penggunaGoogle Cloud .
CA kustom: Gunakan opsi ini untuk mengonfigurasi infrastruktur kunci publik (PKI) Anda sendiri melalui Certificate Authority Service. Opsi ini sesuai jika Anda memerlukan root of trust kustom atau jika Anda harus menyimpan kunci penandatanganan dalam modul keamanan hardware (HSM) untuk memenuhi persyaratan kepatuhan. Certificate Authority Service dikenai biaya secara terpisah dari identitas workload terkelola. Untuk mengetahui informasi selengkapnya, lihat Harga CA Service.
Mengonfigurasi CA
CA Default
Untuk mengikat CA default ke workload identity pool, perbarui workload identity pool dengan flag use-default-shared-ca.
gcloud iam workload-identity-pools update TRUST_DOMAIN_NAME \
--location="global" \
--use-default-shared-ca \
--project=PROJECT_ID
Ganti kode berikut:
TRUST_DOMAIN_NAME: Nama domain trust.PROJECT_ID: Project ID.
CA kustom
Untuk mengonfigurasi identitas workload terkelola menggunakan CA kustom, selesaikan langkah-langkah berikut:
- Konfigurasikan CA Service untuk menerbitkan sertifikat bagi identitas workload terkelola.
- Ikat CA ke workload identity pool.
- Memberi otorisasi kepada identitas workload terkelola untuk meminta sertifikat dari kumpulan CA.
Mengonfigurasi CA Service untuk menerbitkan sertifikat bagi identitas workload terkelola
Buat konfigurasi yang direkomendasikan untuk certificate authority (CA) root dan subordinate menggunakan kumpulan Certificate Authority Service. Kumpulan CA subordinat menerbitkan sertifikat workload identity X.509 ke VM.
Kumpulan CA yang dikonfigurasi untuk menerbitkan sertifikat bagi VM Compute Engine menggunakan identitas workload terkelola harus berada di region yang sama dengan VM. Jika Anda ingin mendesain arsitektur multi-region untuk ketahanan terhadap pemadaman layanan regional, sebaiknya konfigurasikan kumpulan CA Certificate Authority Service subordinat untuk setiap region workload Anda. Dengan cara ini, setiap VM Compute Engine Anda dapat merujuk ke kumpulan CA Certificate Authority Service bawahan dalam region.
Setelah mengonfigurasi kumpulan CA, Anda kemudian mengizinkan identitas workload terkelola untuk meminta dan menerima sertifikat yang ditandatangani dari kumpulan CA.
Mengonfigurasi root CA pool Anda
Gunakan antarmuka Google Cloud CLI ke Certificate Authority Service untuk mengonfigurasi kumpulan CA root.
Anda tidak dapat memindahkan atau mengekspor kumpulan CA setelah dibuat.
Buat kumpulan CA root di tingkat Enterprise dengan menjalankan perintah
gcloud privateca pools create. Paket Enterprise ditujukan untuk penerbitan sertifikat bervolume rendah dan berdurasi lama.gcloud privateca pools create ROOT_CA_POOL_ID \ --location=REGION \ --tier=enterprise
Ganti kode berikut:
- ROOT_CA_POOL_ID: ID unik untuk root CA pool. ID dapat berisi hingga 64 karakter dan hanya boleh berisi karakter alfanumerik huruf kecil dan huruf besar, garis bawah, atau tanda hubung. ID pool harus unik dalam region.
- REGION: region tempat root kumpulan CA berada.
Untuk mengetahui informasi selengkapnya, lihat Membuat kumpulan CA.
Buat CA root di root CA pool dengan menjalankan perintah
gcloud privateca roots create. Anda mungkin akan diminta untuk mengaktifkan root CA jika ini adalah satu-satunya CA di root CA pool.Misalnya, Anda dapat menggunakan perintah yang mirip dengan perintah berikut untuk membuat root CA.
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 root CA. Nama CA dapat berisi hingga 64 karakter dan hanya boleh berisi karakter alfanumerik huruf kecil dan besar, garis bawah, atau tanda hubung. Nama CA harus unik dalam region.
- ROOT_CA_POOL_ID: ID kumpulan CA root.
- ROOT_CA_CN: nama umum root CA.
- ROOT_CA_ORGANIZATION: organisasi root CA.
- REGION: region tempat root kumpulan CA berada.
Untuk mengetahui informasi selengkapnya, lihat Membuat root certificate authority. Untuk mengetahui informasi selengkapnya tentang kolom
subjectuntuk CA, lihat Subjek.Opsional: Ulangi langkah-langkah sebelumnya untuk membuat root CA tambahan di root CA pool. Hal ini dapat berguna untuk rotasi root CA.
Mengonfigurasi CA subordinat
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 subordinate CA untuk setiap skenario tersebut. Selain itu, menambahkan beberapa subordinate CA dalam kumpulan CA akan membantu Anda mencapai load balancing permintaan sertifikat yang lebih baik.
Gunakan perintah gcloud privateca pools create
untuk membuat kumpulan CA subordinat.
Buat kumpulan CA subordinat di tingkat DevOps. Tingkat ini 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 bawahan. ID dapat berisi hingga 64 karakter dan hanya boleh berisi karakter alfanumerik huruf kecil dan besar, garis bawah, atau tanda hubung. ID pool harus unik dalam region.
- REGION: region tempat membuat kumpulan CA subordinat.
Untuk mengetahui informasi selengkapnya, lihat Membuat kumpulan CA.
Buat subordinate CA di kumpulan subordinate CA dengan menjalankan perintah
gcloud privateca subordinates create. Jangan ubah mode penerbitan berbasis konfigurasi default.Misalnya, Anda dapat menggunakan perintah yang mirip dengan perintah berikut untuk membuat subordinate CA.
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 subordinate CA. Panjang nama dapat mencapai 64 karakter dan hanya boleh berisi karakter alfanumerik huruf kecil dan besar, garis bawah, atau tanda hubung. Nama CA 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 root CA pool.
- SUBORDINATE_CA_CN: nama umum subordinate CA.
- SUBORDINATE_CA_ORGANIZATION: nama organisasi penerbit subordinate CA.
Untuk mengetahui informasi selengkapnya, lihat Membuat kumpulan CA. Untuk mengetahui informasi selengkapnya tentang kolom
subjectuntuk CA, lihat Subjek.
Mengikat CA ke workload identity pool
Setelah membuat hierarki CA, Anda mengikat CA ke workload identity pool dengan memperbarui pool dengan setiap konfigurasi penerbitan sertifikat CA.
Buat file
issuance-config.yamldengan konten berikut:inlineCertificateIssuanceConfig: caPools: REGION: projects/PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID keyAlgorithm: RSA_2048 lifetime: 86400s rotationWindowPercentage: 50
Ganti kode berikut dalam file:
REGION: Region tempat kumpulan CA subordinat berada.PROJECT_ID: ID project yang berisi kumpulan CA subordinat.SUBORDINATE_CA_POOL_ID: ID kumpulan CA subordinat.
Jalankan perintah berikut untuk mengupdate workload identity pool:
gcloud iam workload-identity-pools update POOL_ID \ --location="global" \ --inline-certificate-issuance-config-file=ISSUANCE_CONFIG_FILE
Ganti kode berikut:
POOL_ID: ID unik untuk poolISSUANCE_CONFIG_FILE: Jalur ke fileissuance-config.yaml.
Memberikan otorisasi kepada identitas workload terkelola untuk meminta sertifikat dari kumpulan CA
Identitas workload terkelola memerlukan izin untuk meminta sertifikat dari CA Service dan mendapatkan sertifikat publik.
Berikan peran IAM CA Service Workload Certificate Requester (
roles/privateca.workloadCertificateRequester) di setiap kumpulan CA subordinat ke identitas workload terkelola. Perintahgcloud privateca pools add-iam-policy-bindingberikut memberi otorisasi kepada identitas workload terkelola 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/name/locations/global/workloadIdentityPools/POOL_ID/*"
Ganti kode berikut:
- SUBORDINATE_CA_POOL_ID: ID untuk kumpulan CA subordinat.
- REGION: region kumpulan subordinate CA.
- 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 workload terkelola. 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/name/locations/global/workloadIdentityPools/POOL_ID/*"
Ganti kode berikut:
- SUBORDINATE_CA_POOL_ID: ID untuk kumpulan CA subordinat.
- REGION: region kumpulan subordinate CA.
- PROJECT_NUMBER: nomor project dari project yang berisi workload identity pool.
- POOL_ID: ID workload identity pool.
Membuat identitas workload terkelola
Identitas workload terkelola memungkinkan Google Cloud 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.
Buat namespace
Dengan perintah workload-identity-pools namespaces create,
Anda dapat 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 hubung, serta diawali dan diakhiri dengan karakter alfanumerik. Setelah membuat namespace, Anda tidak dapat mengubah ID-nya.POOL_ID: ID workload identity pool yang telah 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 sampai 63 karakter, hanya berisi karakter alfanumerik huruf kecil dan tanda hubung, serta diawali dan diakhiri dengan karakter alfanumerik. Setelah membuat identitas workload terkelola, Anda tidak dapat mengubah ID-nya.NAMESPACE_ID: ID namespace yang Anda buat sebelumnya.POOL_ID: ID workload identity pool yang telah Anda buat sebelumnya.
ID identitas workload 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 oleh Google Cloud IAM untuk memverifikasi identitas workload. Setelah verifikasi, workload yang memanggil dapat menerima kredensial.
Verifikasi didasarkan pada salah satu atribut workload berikut:
- Alamat email akun layanan terlampir
- UID akun layanan terlampir
- Nama instance VM
- ID instance VM
Menentukan kebijakan pengesahan workload dengan aturan pengesahan
Untuk membuat kebijakan pengesahan yang memungkinkan workload Anda menggunakan identitas terkelola, lakukan hal berikut:
Tentukan apakah Anda ingin membuat kebijakan pengesahan yang memungkinkan workload Anda mengesahkan identitas terkelola menggunakan akun layanan yang dilampirkan, menggunakan nama instance-nya, 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 lampirkan akun layanan baru ke workload Anda dengan terlebih dahulu membuatnya menggunakan perintah berikut:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Ganti
SERVICE_ACCOUNT_NAMEdengan nama akun layananBuat file kebijakan pengesahan berformat JSON yang mengesahkan berdasarkan alamat email akun layanan, UID akun layanan, nama instance, 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 layananUntuk mendapatkan nomor project dari 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 terpasang 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 layananUntuk mendapatkan nomor project dari 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 terpasang ke VM
Untuk mendapatkan ID Unik akun layanan, jalankan perintah berikut:
gcloud iam service-accounts describe SERVICE_ACCOUNT_EMAIL\ --format="value(uniqueId)"Nama instance
Untuk membuat file kebijakan pengesahan yang membuktikan berdasarkan nama instance, buat file dengan konten berikut:
{ "attestationRules": [ { "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/name/zones/ZONE/instances/INSTANCE_NAME" } ], }Ganti kode berikut:
WORKLOAD_PROJECT_NUMBER: nomor project yang berisi instance VM atau akun layananUntuk mendapatkan nomor project dari 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)"
ZONE: zona VM Compute EngineINSTANCE_NAME: nama instance VM Compute Engine baru atau yang sudah ada
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 layananUntuk mendapatkan nomor project dari 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 EngineNilai 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 sampai 63 karakter, hanya berisi karakter alfanumerik huruf kecil dan tanda hubung, serta diawali dan diakhiri dengan karakter alfanumerik. Setelah membuat identitas workload terkelola, Anda tidak dapat mengubah ID-nya.NAMESPACE_ID: ID namespace yang Anda buat sebelumnya.POOL_ID: ID workload identity pool yang telah 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 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
Opsional: Mengaktifkan penggabungan kepercayaan antara workload identity pool
Untuk mengaktifkan autentikasi bersama bagi workload di domain kepercayaan yang berbeda, Anda dapat mengonfigurasi federasi kepercayaan.
Buat file
trust-config.yamldengan konten berikut:inlineTrustConfig: additionalTrustBundles: POOL_ID.global.PROJECT_NUMBER.workload.id.goog: trustAnchors: - pemCertificate: "-----BEGIN CERTIFICATE-----\nPEM_ENCODED_CERTIFICATE\n-----END CERTIFICATE-----"
Ganti kode berikut dalam file:
POOL_ID: ID workload identity pool yang ingin Anda gabungkan.PROJECT_NUMBER: Nomor project workload identity pool yang ingin Anda gabungkan.PEM_ENCODED_CERTIFICATE: Sertifikat CA root berenkode PEM dari workload identity pool yang ingin Anda gabungkan.
Untuk memperbarui workload identity pool dengan konfigurasi kepercayaan, jalankan perintah berikut:
gcloud iam workload-identity-pools update POOL_ID \ --location="global" \ --inline-trust-config-file=TRUST_CONFIG_FILE
Ganti kode berikut:
POOL_ID: ID unik untuk pool.TRUST_CONFIG_FILE: jalur ke filetrust-config.yaml.
Langkah berikutnya
- Memecahkan masalah autentikasi identitas workload terkelola untuk Compute Engine.
- Konfigurasikan autentikasi workload ke workload menggunakan mTLS.
- Menyiapkan load balancing dengan mTLS backend menggunakan identitas workload terkelola.
- 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 juga akan mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Mulai secara gratis