Akun layanan adalah jenis akun khusus dan biasanya digunakan oleh aplikasi atau workload komputasi, seperti instance Compute Engine, bukan oleh pengguna. Akun ini 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 Secure Web Proxy sesuai kebutuhan.
Panduan ini menunjukkan cara melakukan hal berikut:
- Buat instance Secure Web Proxy dengan kebijakan kosong.
- Buat dan lampirkan akun layanan ke resource.
- Gunakan akun layanan untuk membuat kebijakan Secure Web Proxy.
- Buat instance Secure Web Proxy.
- Uji konektivitas dari VM Anda.
Sebelum memulai
Selesaikan langkah-langkah penyiapan awal.
Minta administrator organisasi memberi akses ke akun layanan.
Verifikasi bahwa Anda telah menginstal Google Cloud CLI versi 406.0.0 atau yang lebih baru:
gcloud version | head -n1Jika Anda telah menginstal gcloud CLI versi sebelumnya, update versinya:
gcloud components update --version=406.0.0
Membuat instance Secure Web Proxy dengan kebijakan kosong
Untuk membuat instance Secure Web Proxy, Anda harus membuat kebijakan keamanan kosong terlebih dahulu, lalu membuat proxy web yang menggunakan kebijakan tersebut.
Membuat kebijakan keamanan kosong
Konsol
Di konsol Google Cloud , buka halaman SWP Policies.
Klik Buat kebijakan.
Di kolom Name, masukkan nama untuk kebijakan, seperti
myswppolicy.Di kolom Deskripsi, masukkan deskripsi untuk kebijakan, seperti
My new swp policy.Untuk Regions, pilih region tempat Anda ingin membuat kebijakan, seperti
us-central1.Klik Create.
Cloud Shell
Gunakan editor teks pilihan Anda untuk membuat file
policy.yaml.Tambahkan kode berikut ke file
policy.yamlyang Anda buat:name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTIONGanti kode berikut:
PROJECT_NAME: nama project AndaREGION: region tempat kebijakan Anda dibuat, sepertius-central1POLICY_NAME: nama kebijakan AndaPOLICY_DESCRIPTION: deskripsi untuk kebijakan Anda
Impor kebijakan keamanan menggunakan perintah
gcloud network-security gateway-security-policies import: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 Web Proxies.
Klik Buat proxy web yang aman.
Di kolom Nama, masukkan nama untuk proxy web, seperti
myswp.Di kolom Deskripsi, masukkan deskripsi untuk proxy web, seperti
My new swp.Untuk Routing mode, pilih opsi Explicit.
Untuk Region, pilih region tempat Anda ingin membuat proxy web, seperti
us-central1.Untuk Network, pilih jaringan tempat Anda ingin membuat proxy web.
Untuk Subnetwork, pilih VPC subnet yang sebelumnya Anda buat sebagai bagian dari langkah penyiapan awal.
Opsional: Di kolom Alamat IP proxy web, masukkan alamat IP Secure Web Proxy.
Anda dapat memasukkan alamat IP dari rentang alamat IP Secure Web Proxy yang berada di subnetwork yang Anda buat pada langkah sebelumnya. Jika Anda tidak memasukkan alamat IP, instance Secure Web Proxy Anda akan otomatis memilih alamat IP dari subnetwork yang dipilih.
Untuk Sertifikat, pilih sertifikat yang ingin Anda gunakan untuk membuat proxy web.
Untuk Kebijakan, pilih kebijakan yang Anda buat untuk mengaitkan proxy web.
Klik Create.
Cloud Shell
Gunakan editor teks pilihan Anda untuk membuat file
gateway.yaml.Tambahkan kode berikut ke file
gateway.yaml: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/SUBNETWORK addresses: [GATEWAY_IP_ADDRESS] scope: samplescopeGanti kode berikut:
GATEWAY_NAME: nama instance Secure Web Proxy iniGATEWAY_PORT_NUMBERS: daftar nomor port untuk gateway ini, seperti[80,443]CERTIFICATE_URLS: daftar URL sertifikat SSLSUBNETWORK: Subnet VPC yang sebelumnya Anda buat sebagai bagian dari langkah penyiapan awalGATEWAY_IP_ADDRESS: daftar opsional alamat IP untuk instance Secure Web Proxy Anda dalam subnetwork proxy yang sebelumnya Anda buat di langkah penyiapan awalJika Anda memilih untuk tidak mencantumkan alamat IP, kosongkan kolom agar proxy web memilih alamat IP untuk Anda.
Buat instance Secure Web Proxy menggunakan perintah
gcloud network-services gateways import:gcloud network-services gateways import GATEWAY_NAME \ --source=gateway.yaml \ --location=REGION
Menguji konektivitas
Untuk menguji konektivitas, gunakan perintah curl dari instance virtual machine (VM) mana pun dalam jaringan Virtual Private Cloud (VPC) Anda:
curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
Jika semuanya berfungsi dengan benar, instance Secure Web Proxy Anda akan menampilkan kode status 403 Forbidden. Error ini mengonfirmasi hal berikut:
Instance Secure Web Proxy telah berhasil di-deploy dan secara aktif menerima traffic.
Kebijakan Secure Web Proxy dengan benar menerapkan postur keamanan default untuk menolak semua traffic hingga Anda menentukan aturan
allowtertentu di bagian berikutnya.
Membuat dan melampirkan akun layanan ke resource
Lakukan langkah-langkah berikut untuk membuat dan melampirkan akun layanan:
Membuat aturan Secure Web Proxy
Untuk membuat aturan Secure Web Proxy, lakukan hal berikut:
Gunakan editor teks pilihan Anda untuk membuat file
RULE_FILE.yaml. GantiRULE_FILEdengan nama file yang Anda pilih.Untuk mengizinkan akses ke URL dari akun layanan yang dipilih, tambahkan kode 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: ALLOWGanti kode berikut:
RULE_NAME: nama untuk aturan iniRULE_DESCRIPTION: deskripsi untuk aturan yang Anda buatRULE_PRIORITY: prioritas untuk aturan ini; angka yang lebih rendah sesuai dengan prioritas yang lebih tinggiCEL_EXPRESSION: ekspresi Common Expression Language (CEL)Untuk mengetahui informasi selengkapnya, lihat referensi bahasa pencocokan CEL.
Misalnya, untuk mengizinkan akses ke
example.comdari resource dengan akun layanan yang diinginkan terlampir, tambahkan kode berikut ke file YAML yang Anda buat untuksessionMatcher:sessionMatcher: "source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'example.com'"Ganti
SERVICE_ACCOUNTdengan akun layanan yang ingin Anda izinkan. Ini harus berupa alamat email akun layanan.
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
SERVICE_ACCOUNT yang terlampir:
curl -x https://IPv4_ADDRESS:443 http://example.com
--proxy-insecure
Ganti IPv4_ADDRESS dengan alamat IPv4 instance Secure Web Proxy Anda.