Halaman ini memberikan petunjuk untuk membuat certificate authority (CA) pribadi menggunakan Certificate Authority Service dan mengupload sertifikat Anda ke resource TrustConfig
Certificate Manager.
Anda juga membuat resource keamanan jaringan yang diperlukan untuk mengonfigurasi TLS bersama untuk Load Balancer Aplikasi.
Sebelum memulai
- Tinjau Ringkasan TLS bersama.
Instal Google Cloud CLI. Untuk ringkasan lengkap tentang alat ini, baca ringkasan gcloud CLI. Anda dapat menemukan perintah yang terkait dengan load balancing di referensi API dan gcloud CLI.
Jika Anda belum pernah menjalankan gcloud CLI, jalankan
gcloud init
terlebih dahulu untuk melakukan autentikasi.Pastikan Anda mengetahui cara membuat kumpulan CA.
Izin
Untuk mendapatkan izin yang Anda perlukan guna menyelesaikan panduan ini, minta administrator Anda untuk memberi Anda peran IAM berikut pada project:
-
Untuk membuat resource load balancer seperti
TargetHTTPProxy
: Admin Load Balancer Compute (roles/compute.loadBalancerAdmin
) -
Untuk menggunakan resource Certificate Manager:
Certificate Manager Owner (
roles/certificatemanager.owner
) -
Untuk membuat komponen keamanan dan jaringan:
Admin Jaringan Compute (
roles/compute.networkAdmin
) dan Admin Keamanan Compute (roles/compute.securityAdmin
) -
Untuk membuat project (opsional):
Project Creator (
roles/resourcemanager.projectCreator
)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Membuat CA pribadi
Buat CA pribadi dengan menggunakan Layanan CA, lalu buat root certificate:
Untuk membuat kumpulan CA, gunakan perintah
gcloud privateca pools create
:gcloud privateca pools create CA_POOL \ --location=us-central1
Ganti
CA_POOL
dengan ID atau nama kumpulan CA induk.Untuk membuat CA pribadi di kumpulan CA, gunakan perintah
gcloud privateca roots create
:gcloud privateca roots create CA_ROOT \ --pool=CA_POOL \ --subject="CN=my-ca, O=Test LLC" \ --location=us-central1
Ganti kode berikut:
CA_ROOT
: ID atau nama CA pribadiCA_POOL
: ID atau nama kumpulan CA induk
Untuk menjelaskan CA baru dan membuat file
root.cert
, gunakan perintahgcloud privateca roots describe
:gcloud privateca roots describe CA_ROOT \ --pool=CA_POOL \ --location=us-central1 \ --format='value(pemCaCertificates)' > root.cert
export ROOT=$(cat root.cert | sed 's/^[ ]*//g' | tr '\n' $ | sed 's/\$/\\n/g')
Ganti kode berikut:
CA_ROOT
: ID atau nama CA pribadiCA_POOL
: ID atau nama kumpulan CA induk
Untuk informasi selengkapnya, lihat referensi berikut:
Membuat TrustConfig dengan CA pribadi
Buat resource TrustConfig
Pengelola Sertifikat
yang mewakili IKP Anda menggunakan root certificate yang dibuat
menggunakan CA pribadi. Kami berasumsi bahwa resource TrustConfig
adalah
penyimpanan kepercayaan sederhana dengan satu trust anchor yang mewakili root
certificate.
Pada langkah-langkah berikut, ganti TRUST_CONFIG_NAME
dengan nama resource TrustConfig
.
Untuk membuat file
trust_config.yaml
, gunakan perintah berikut:cat << EOF > trust_config.yaml name: TRUST_CONFIG_NAME trustStores: - trustAnchors: - pemCertificate: "${ROOT?}" EOF
Untuk membuat resource
TrustConfig
Pengelola Sertifikat, gunakan perintahgcloud certificate-manager trust-configs import
:gcloud certificate-manager trust-configs import TRUST_CONFIG_NAME \ --source=trust_config.yaml \ --location=REGION
Ganti kode berikut:
REGION
: gunakanglobal
untuk Load Balancer Aplikasi internal lintas region, Load Balancer Aplikasi eksternal global, atau Load Balancer Aplikasi klasik. Untuk Load Balancer Aplikasi eksternal regional atau Load Balancer Aplikasi internal regional, gunakan region tempat Anda mengonfigurasi load balancer.
Membuat resource keamanan jaringan
Kebijakan TLS server (resource keamanan jaringan ServerTLSPolicy
) memungkinkan Anda
menentukan mode TLS sisi server dan resource TrustConfig
yang akan digunakan
saat memvalidasi sertifikat klien. Jika klien menyajikan sertifikat yang tidak valid atau tidak ada sertifikat ke load balancer, clientValidationMode
akan menentukan cara penanganan koneksi klien.
- Jika
clientValidationMode
disetel keALLOW_INVALID_OR_MISSING_CLIENT_CERT
, semua permintaan akan diteruskan ke backend meskipun validasi gagal atau sertifikat klien tidak ada. - Jika
clientValidationMode
disetel keREJECT_INVALID
, hanya permintaan yang menyediakan sertifikat klien yang dapat divalidasi terhadap resourceTrustConfig
yang akan diteruskan ke backend.
Untuk membuat resource ServerTLSPolicy
, selesaikan langkah-langkah berikut:
Berdasarkan cara Anda ingin menangani koneksi, pilih salah satu opsi berikut.
Pada langkah-langkah berikut, ganti
SERVER_TLS_POLICY_NAME
dengan nama kebijakan TLS server, lalu gantiPROJECT_ID
dengan ID project Google Cloud Anda.Opsi 1:
clientValidationMode
ditetapkan keALLOW_INVALID_OR_MISSING_CLIENT_CERT
.Untuk membuat file
server_tls_policy.yaml
, gunakan perintah berikut:global
Untuk Load Balancer Aplikasi eksternal dan Load Balancer Aplikasi internal lintas region, gunakan perintah:
cat << EOF > server_tls_policy.yaml name: SERVER_TLS_POLICY_NAME mtlsPolicy: clientValidationMode: ALLOW_INVALID_OR_MISSING_CLIENT_CERT clientValidationTrustConfig: projects/PROJECT_ID/locations/global/trustConfigs/TRUST_CONFIG_NAME EOF
regional
Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, gunakan perintah:
cat << EOF > server_tls_policy.yaml name: SERVER_TLS_POLICY_NAME mtlsPolicy: clientValidationMode: ALLOW_INVALID_OR_MISSING_CLIENT_CERT clientValidationTrustConfig: projects/PROJECT_ID/locations/REGION/trustConfigs/TRUST_CONFIG_NAME EOF
Opsi 2:
clientValidationMode
disetel keREJECT_INVALID
.Untuk membuat file
server_tls_policy.yaml
, gunakan perintah berikut:global
Untuk Load Balancer Aplikasi eksternal dan Load Balancer Aplikasi internal lintas region, gunakan perintah:
cat << EOF > server_tls_policy.yaml name: SERVER_TLS_POLICY_NAME mtlsPolicy: clientValidationMode: REJECT_INVALID clientValidationTrustConfig: projects/PROJECT_ID/locations/global/trustConfigs/TRUST_CONFIG_NAME EOF
regional
Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, gunakan perintah:
cat << EOF > server_tls_policy.yaml name: SERVER_TLS_POLICY_NAME mtlsPolicy: clientValidationMode: REJECT_INVALID clientValidationTrustConfig: projects/PROJECT_ID/locations/REGION/trustConfigs/TRUST_CONFIG_NAME EOF
Untuk membuat resource
ServerTlsPolicy
, gunakan perintahgcloud network-security server-tls-policies import
:global
Untuk Load Balancer Aplikasi eksternal dan Load Balancer Aplikasi internal lintas region, gunakan perintah:
gcloud network-security server-tls-policies import SERVER_TLS_POLICY_NAME \ --source=server_tls_policy.yaml \ --location=global
regional
Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, gunakan perintah:
gcloud network-security server-tls-policies import SERVER_TLS_POLICY_NAME \ --source=server_tls_policy.yaml \ --location=REGION
Untuk mengetahui informasi selengkapnya, lihat Mode validasi klien MTLS.
Langkah selanjutnya
- Menyiapkan TLS bersama untuk Load Balancer Aplikasi eksternal global
- Menyiapkan TLS bersama untuk Load Balancer Aplikasi klasik
- Menyiapkan TLS bersama untuk Load Balancer Aplikasi internal
- Menyiapkan TLS bersama untuk Load Balancer Aplikasi eksternal regional
- Menyiapkan TLS bersama dengan sertifikat yang ditandatangani