Akun layanan adalah jenis akun khusus yang biasanya digunakan oleh aplikasi atau workload komputasi, seperti instance Compute Engine, bukan oleh pengguna. Akun layanan diidentifikasi oleh alamat emailnya, yang bersifat unik untuk akun tersebut.
Aplikasi menggunakan akun layanan untuk melakukan panggilan API yang diotorisasi dengan mengautentikasi sebagai akun layanan itu sendiri, atau sebagai pengguna Google Workspace atau Cloud Identity melalui delegasi tingkat domain. Saat aplikasi melakukan autentikasi sebagai akun layanan, aplikasi memiliki akses ke semua resource yang boleh diakses oleh akun layanan.
Anda dapat menggunakan akun layanan untuk mengidentifikasi sumber traffic dan mengonfigurasi Kebijakan Proxy Web yang aman sesuai kebutuhan.
Panduan ini menunjukkan cara melakukan hal berikut:
- Buat instance Secure Web Proxy dengan kebijakan kosong.
- Membuat dan memasang akun layanan ke resource.
- Menggunakan akun layanan untuk membuat kebijakan Proxy Web Aman.
- Membuat instance Secure Web Proxy.
- Menguji konektivitas dari VM Anda.
Fitur yang didukung
{i>Secure Web Proxy<i} mendukung pemfilteran traffic berbasis akun layanan untuk Instance VM dan node GKE (tetapi bukan container GKE). Setiap resource yang didukung juga mampu melihat visibilitas di seluruh project (VPC Bersama), di seluruh batas Virtual Private Cloud (VPC) (Network Connectivity Center, Peering Jaringan VPC), dan di seluruh Private Service Connect hop. Untuk Akses VPC Serverless, akun layanan tidak tersedia untuk Peering Langsung atau aplikasi yang terhubung dengan VPC. Untuk aplikasi tersebut, Anda dapat menggunakan alamat IP sumber konektor VPC karena hanya digunakan dari lingkungan serverless Anda.
Sebelum memulai
Selesaikan penyiapan awal langkah.
Memiliki administrator organisasi memberikan akses ke akun layanan.
Pastikan Anda telah menginstal Google Cloud CLI versi 406.0.0 atau yang lebih baru:
gcloud version | head -n1
Jika Anda sudah menginstal versi gcloud CLI sebelumnya, update versinya:
gcloud components update --version=406.0.0
Membuat instance Secure Web Proxy dengan kebijakan kosong
Untuk membuat instance Secure Web Proxy, buat kebijakan keamanan kosong terlebih dahulu dan kemudian membuat {i> proxy<i} web.
Buat kebijakan keamanan kosong
Konsol
Di konsol Google Cloud, buka halaman Keamanan Jaringan.
Klik Secure Web Proxy.
Klik tab Kebijakan.
Klik Create a policy.
Masukkan nama untuk kebijakan yang ingin Anda buat. misalnya
myswppolicy
.Masukkan deskripsi kebijakan, seperti
My new swp policy
.Dalam daftar Region, pilih region tempat Anda ingin membuat kebijakan.
Klik Create.
Cloud Shell
Gunakan editor teks pilihan Anda untuk membuat file
POLICY_FILE
.yaml. GantiPOLICY_FILE
dengan nama file yang yang Anda inginkan untuk file kebijakan.Tambahkan baris berikut ke file YAML yang Anda buat:
name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTION
Ganti kode berikut:
PROJECT_NAME
: nama project AndaREGION
: wilayah tempat kebijakan ini diterapkanPOLICY_NAME
: nama kebijakan yang Anda membuatPOLICY_DESCRIPTION
: deskripsi kebijakan yang Anda buat
Impor kebijakan keamanan:
gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
Membuat proxy web
Konsol
Di konsol Google Cloud, buka halaman Keamanan Jaringan.
Klik Secure Web Proxy.
Klik Set up a web proxy.
Masukkan nama untuk {i>proxy<i} web yang ingin Anda buat, misalnya
myswp
.Masukkan deskripsi proxy web, seperti
My new swp
.Dalam daftar Region, pilih region tempat Anda ingin membuat {i>proxy<i} web.
Dalam daftar Jaringan, pilih jaringan yang ingin Anda membuat {i>proxy<i} web.
Dalam daftar Subnetwork, pilih subnetwork tempat Anda ingin membuat {i>proxy<i} web.
Masukkan alamat IP proxy web.
Dalam daftar Certificate, pilih sertifikat yang diinginkan yang akan digunakan untuk membuat {i>proxy<i} web.
Dalam daftar Kebijakan, pilih kebijakan yang telah dibuat yang akan dikaitkan dengan proxy web.
Klik Create.
Cloud Shell
Gunakan editor teks pilihan Anda untuk membuat file
GATEWAY_FILE
.yaml. GantiGATEWAY_FILE
dengan nama file yang Anda inginkan file {i>proxy<i} web.Tambahkan baris berikut ke file YAML yang Anda buat:
name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME type: SECURE_WEB_GATEWAY ports: [GATEWAY_PORT_NUMBERS] certificateUrls: [CERTIFICATE_URLS] gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME network: projects/PROJECT_NAME/global/networks/NETWORK_NAME subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNET_NAME addresses: [GATEWAY_IP_ADDRESS] scope: samplescope
Ganti kode berikut:
GATEWAY_NAME
: nama untuk instance iniGATEWAY_PORT_NUMBERS
: daftar nomor port untuk gateway ini, misalnya[80,443]
CERTIFICATE_URLS
: daftar sertifikat SSL URLSUBNET_NAME
: nama subnet yang berisiGATEWAY_IP_ADDRESS
GATEWAY_IP_ADDRESS
: daftar IP opsional untuk instance Proxy Web Aman dalam proxy subnet yang sebelumnya dibuat di langkah penyiapan awalJika Anda memilih untuk tidak mencantumkan alamat IP, hilangkan bidang agar {i>proxy<i} web memilih alamat IP untuk Anda.
Buat instance Secure Web Proxy:
gcloud network-services gateways import GATEWAY_NAME \ --source=GATEWAY_FILE.yaml \ --location=REGION
Menguji konektivitas
Untuk menguji konektivitas, gunakan perintah curl
dari VM mana pun dalam
Jaringan Virtual Private Cloud (VPC):
curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
Diperkirakan error 403 Forbidden
.
Membuat dan melampirkan akun layanan ke resource
Lakukan hal berikut untuk membuat dan melampirkan akun layanan:
Membuat aturan Proxy Web yang Aman
Untuk membuat aturan Proxy Web yang Aman, lakukan hal berikut:
Gunakan editor teks pilihan Anda untuk membuat File
RULE_FILE
.yaml. GantiRULE_FILE
dengan nama file yang Anda pilih.Untuk mengizinkan akses ke URL dari akun layanan yang dipilih, tambahkan hal berikut ke file YAML:
name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME description: RULE_DESCRIPTION enabled: true priority: RULE_PRIORITY sessionMatcher: CEL_EXPRESSION basicProfile: ALLOW
Ganti kode berikut:
RULE_NAME
: nama untuk aturan iniRULE_DESCRIPTION
: deskripsi untuk yang Anda buatRULE_PRIORITY
: prioritas untuk aturan ini; angka yang lebih rendah sesuai dengan prioritas yang lebih tinggiCEL_EXPRESSION
: Ekspresi Umum Ekspresi bahasa (CEL)Untuk informasi selengkapnya, lihat Pencocok CEL referensi bahasa.
Misalnya, untuk mengizinkan akses ke
example.com
dari resource dengan melampirkan akun layanan yang diinginkan, tambahkan kode berikut ke file YAML yang Anda buat untuksessionMatcher
:sessionMatcher: "source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'example.com'"
Ganti
SERVICE_ACCOUNT
dengan akun layanan yang ingin Anda izinkan. Alamat email ini harus berupa email akun layanan alamat IPv6
Impor aturan yang Anda buat:
gcloud network-security gateway-security-policies rules import RULE_NAME \ --source=RULE_FILE.yaml \ --location=REGION \ --gateway-security-policy=POLICY_NAME
Menguji konektivitas
Untuk menguji konektivitas, gunakan perintah curl
dari resource dengan
terlampir SERVICE_ACCOUNT
:
curl -x https://IPv4_ADDRESS:443 http://example.com
--proxy-insecure
Ganti IPv4_ADDRESS
dengan alamat IPv4 Anda
{i>Proxy<i} Web Aman.