Halaman ini menjelaskan perintah untuk menggunakan aturan firewall Virtual Private Cloud (VPC) dan menawarkan beberapa contoh cara menggunakannya. Aturan firewall VPC memungkinkan Anda mengizinkan atau menolak traffic ke atau dari instance virtual machine (VM) di jaringan VPC berdasarkan nomor port, tag, atau protokol.
Sebelum memulai
Untuk mempelajari aturan firewall VPC lebih lanjut, seperti aturan tersirat dan aturan yang dibuat sistem untuk jaringan default, lihat Aturan firewall VPC.
Sebelum mengonfigurasi aturan firewall, tinjau komponen aturan firewall untuk memahami komponen firewall seperti yang digunakan di Google Cloud.
Membuat aturan firewall VPC
Aturan firewall VPC ditentukan di tingkat jaringan, dan hanya berlaku untuk jaringan tempat aturan tersebut dibuat. Namun, nama yang Anda pilih untuk setiap aturan harus unik untuk project.
Aturan firewall dapat berisi rentang IPv4 atau IPv6, tetapi tidak keduanya.
Saat membuat aturan firewall, Anda dapat memilih untuk mengaktifkan Firewall Rules Logging. Jika mengaktifkan logging, Anda dapat menghapus kolom metadata untuk menghemat biaya penyimpanan. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Logging Aturan Firewall.
Jika Anda ingin menentukan beberapa akun layanan untuk kolom akun layanan target atau sumber, gunakan Google Cloud CLI, API, atau library klien.
Jaringan default menyediakan aturan firewall otomatis pada waktu pembuatan. Jaringan mode kustom dan otomatis memungkinkan Anda membuat firewall serupa dengan mudah selama pembuatan jaringan jika Anda menggunakan konsol Google Cloud. Jika Anda menggunakan gcloud CLI atau API dan ingin membuat aturan firewall yang serupa dengan yang disediakan jaringan default, lihat Mengonfigurasi aturan firewall untuk kasus penggunaan umum.
Konsol
Di Konsol Google Cloud, buka halaman Firewall policies.
Klik Create firewall rule.
Masukkan Name untuk aturan firewall.
Nama ini harus unik untuk project.
(Opsional) Anda dapat mengaktifkan logging aturan firewall:
- Klik Logs > On.
- Untuk menghapus metadata, klik Tampilkan detail log, lalu hapus centang pada kotak Sertakan metadata.
Tentukan Jaringan untuk aturan firewall.
Tentukan Prioritas aturan.
Semakin rendah angkanya, semakin tinggi prioritasnya.
Untuk Direction of traffic, pilih ingress atau egress.
Untuk Action on match, pilih izinkan atau tolak.
Tentukan Target aturan.
- Jika Anda ingin aturan diterapkan ke semua instance di jaringan, pilih All instances in the network.
- Jika Anda ingin aturan diterapkan ke instance tertentu berdasarkan tag jaringan (target), pilih Specified target tags, lalu di kolom Target tags, ketik tag yang akan diterapkan aturan.
- Jika Anda ingin aturan diterapkan ke instance tertentu berdasarkan akun layanan terkait, pilih Akun layanan yang ditentukan, tunjukkan apakah akun layanan berada dalam project saat ini atau di project lain di Cakupan akun layanan, lalu di kolom Akun layanan target, pilih atau ketik nama akun layanan.
Untuk aturan masuk, tentukan Source filter:
- Untuk memfilter traffic masuk berdasarkan rentang IPv4 sumber, pilih
IPv4 ranges, lalu masukkan blok CIDR ke dalam
kolom Source IPv4 ranges. Gunakan
0.0.0.0/0
untuk sumber IPv4 apa pun. - Untuk memfilter traffic masuk menurut rentang IPv6 sumber, pilih Rentang IPv6, lalu masukkan blok CIDR ke kolom Rentang IPv6 sumber. Gunakan
::/0
untuk sumber IPv6 apa pun. - Untuk memfilter traffic masuk menurut tag jaringan, pilih Source tags, lalu ketik tag jaringan ke dalam kolom Source tags. Untuk batas jumlah tag sumber, lihat Batas per jaringan. Pemfilteran menurut tag sumber hanya tersedia jika target tidak ditentukan oleh akun layanan. Untuk informasi selengkapnya, lihat memfilter berdasarkan akun layanan versus tag jaringan.
- Untuk memfilter traffic masuk menurut akun layanan, pilih Service account, tunjukkan apakah akun layanan berada di project saat ini atau di project lain di Service account scope, lalu pilih atau ketik nama akun layanan di kolom Source service account. Pemfilteran berdasarkan akun layanan sumber hanya tersedia jika target tidak ditentukan oleh tag jaringan. Untuk informasi selengkapnya, lihat memfilter berdasarkan akun layanan versus tag jaringan.
- Tentukan Filter sumber kedua jika diinginkan. Filter sumber sekunder tidak dapat menggunakan kriteria filter yang sama dengan filter utama. Rentang IP sumber dapat digunakan bersama dengan Tag sumber atau Akun layanan sumber. Set sumber yang efektif adalah gabungan alamat IP rentang sumber dan instance yang diidentifikasi oleh tag jaringan atau akun layanan. Artinya, jika rentang IP sumber, atau tag sumber (atau akun layanan sumber) cocok dengan kriteria filter, sumber akan disertakan dalam set sumber yang efektif.
- Tag sumber dan Akun layanan sumber tidak dapat digunakan bersama.
- Untuk memfilter traffic masuk berdasarkan rentang IPv4 sumber, pilih
IPv4 ranges, lalu masukkan blok CIDR ke dalam
kolom Source IPv4 ranges. Gunakan
Untuk aturan traffic masuk, tentukan Filter tujuan:
- Untuk memfilter traffic masuk berdasarkan rentang IPv4 tujuan, pilih
Rentang IPv4 dan masukkan blok CIDR ke dalam
kolom Rentang IPv4 tujuan. Gunakan
0.0.0.0/0
untuk tujuan IPv4 apa pun. - Untuk memfilter traffic masuk berdasarkan rentang IPv6 tujuan, pilih
Rentang IPv6 dan masukkan blok CIDR ke dalam
kolom Rentang IPv6 tujuan. Gunakan
::/0
untuk tujuan IPv6 apa pun. Untuk mengetahui informasi selengkapnya, lihat Tujuan untuk aturan ingress.
- Untuk memfilter traffic masuk berdasarkan rentang IPv4 tujuan, pilih
Rentang IPv4 dan masukkan blok CIDR ke dalam
kolom Rentang IPv4 tujuan. Gunakan
Untuk aturan keluar, tentukan Filter tujuan:
- Untuk memfilter traffic keluar menurut rentang IPv4 tujuan, pilih
IPv4 ranges dan masukkan blok CIDR ke dalam
kolom Destination IPv4 ranges. Gunakan
0.0.0.0/0
untuk tujuan IPv4 apa pun. - Untuk memfilter traffic keluar berdasarkan rentang IPv6 tujuan, pilih
Rentang IPv6 dan masukkan blok CIDR ke dalam
kolom Rentang IPv6 tujuan. Gunakan
::/0
untuk tujuan IPv6 apa pun.
- Untuk memfilter traffic keluar menurut rentang IPv4 tujuan, pilih
IPv4 ranges dan masukkan blok CIDR ke dalam
kolom Destination IPv4 ranges. Gunakan
Untuk aturan keluar, tentukan Source filter:
- Untuk memfilter traffic keluar menurut rentang IPv4 sumber, pilih
IPv4 ranges dan masukkan blok CIDR ke dalam
kolom Source IPv4 ranges. Gunakan
0.0.0.0/0
untuk sumber IPv4 apa pun. - Untuk memfilter traffic keluar menurut rentang IPv6 sumber, pilih
Rentang IPv6 dan masukkan blok CIDR ke dalam
kolom Rentang IPv6 sumber. Gunakan
::/0
untuk tujuan IPv6 apa pun. Untuk informasi selengkapnya, lihat Sumber untuk aturan traffic keluar.
- Untuk memfilter traffic keluar menurut rentang IPv4 sumber, pilih
IPv4 ranges dan masukkan blok CIDR ke dalam
kolom Source IPv4 ranges. Gunakan
Tentukan Protokol dan port yang akan diterapkan aturan:
- Agar aturan berlaku untuk semua protokol dan port tujuan, pilih Izinkan semua atau Tolak semua, bergantung pada tindakan.
Untuk menentukan protokol dan port tujuan tertentu, pilih Protokol dan port yang ditentukan:
- Pilih TCP untuk menyertakan protokol TCP dan port
tujuan. Masukkan
all
atau daftar port tujuan yang dipisahkan koma, seperti20-22, 80, 8080
. - Pilih UDP untuk menyertakan protokol UDP dan port
tujuan. Masukkan
all
atau daftar port tujuan yang dipisahkan koma, seperti67-69, 123
. Pilih Lainnya untuk menyertakan protokol seperti
icmp
,sctp
, atau nomor protokol. Misalnya, gunakanicmp
atau nomor protokol1
untuk ICMP IPv4. Gunakan nomor protokol58
untuk ICMP IPv6.Untuk mengetahui informasi selengkapnya, lihat protokol dan port tujuan.
- Pilih TCP untuk menyertakan protokol TCP dan port
tujuan. Masukkan
(Opsional) Anda dapat membuat aturan firewall, tetapi tidak menerapkannya dengan menetapkan status penerapannya ke dinonaktifkan. Klik Nonaktifkan aturan, lalu pilih Nonaktif.
Klik Create.
gcloud
Untuk membuat aturan firewall VPC, gunakan perintah gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ [--network NETWORK; default="default"] \ [--priority PRIORITY;default=1000] \ [--direction (ingress|egress|in|out); default="ingress"] \ [--action (deny | allow )] \ [--target-tags TAG[,TAG,...]] \ [--target-service-accounts=IAM_SERVICE_ACCOUNT[,IAM_SERVICE_ACCOUNT,...]] \ [--source-ranges CIDR_RANGE[,CIDR_RANGE,...]] \ [--source-tags TAG,TAG,] \ [--source-service-accounts=IAM_SERVICE_ACCOUNT[,IAM_SERVICE_ACCOUNT,...]] \ [--destination-ranges CIDR_RANGE[,CIDR_RANGE,...]] \ [--rules (PROTOCOL[:PORT[-PORT]],[PROTOCOL[:PORT[-PORT]],...]] | all ) \ [--disabled | --no-disabled] \ [--enable-logging | --no-enable-logging] \ [--logging-metadata LOGGING_METADATA]
Gunakan parameter sebagai berikut. Detail selengkapnya tentang masing-masing tersedia di dokumentasi referensi SDK.
--network
Jaringan untuk aturan. Jika dihilangkan, aturan akan dibuat di jaringandefault
. Jika tidak memiliki jaringan default atau ingin membuat aturan di jaringan tertentu, Anda harus menggunakan kolom ini.--priority
Nilai numerik yang menunjukkan prioritas untuk aturan. Semakin rendah angkanya, semakin tinggi prioritasnya.--direction
Arah traffic, baikingress
maupunegress
.--action
Tindakan jika ada kecocokan,allow
ataudeny
. Harus digunakan dengan flag--rules
.- Tentukan target dengan salah satu cara berikut:
Untuk aturan masuk, guna lebih menyaring tujuan, gunakan
--destination-ranges
untuk menentukan rentang alamat IPv4 atau IPv6 dalam format CIDR. Jika--destination-ranges
dihilangkan, tujuan masuk adalah alamat IPv4 apa pun,0.0.0.0/0
. Untuk mengetahui informasi selengkapnya, lihat Tujuan untuk aturan masuk dan Target dan alamat IP untuk aturan masuk.Untuk aturan masuk, tentukan sumber:
--source-ranges
Gunakan flag ini untuk menentukan rentang alamat IPv4 atau IPv6 sumber dalam format CIDR.- Jika
--source-ranges
,source-tags
, dan--source-service-accounts
dihilangkan, sumber masuk adalah alamat IPv4 apa pun,0.0.0.0/0
. --source-tags
Gunakan flag ini untuk menentukan instance sumber menurut tag jaringan. Pemfilteran menurut tag sumber hanya tersedia jika target tidak ditentukan oleh akun layanan. Untuk informasi selengkapnya, lihat memfilter berdasarkan akun layanan versus tag jaringan.--source-ranges
dan--source-tags
dapat digunakan bersama-sama. Jika keduanya ditentukan, kumpulan sumber yang efektif adalah gabungan alamat IP rentang sumber dan instance yang diidentifikasi oleh tag jaringan, meskipun instance yang diberi tag tidak memiliki IP dalam rentang sumber.--source-service-accounts
Gunakan flag ini untuk menentukan instance berdasarkan akun layanan yang digunakannya. Pemfilteran menurut akun layanan sumber hanya tersedia jika target tidak ditentukan oleh tag jaringan. Untuk mengetahui informasi selengkapnya, lihat memfilter berdasarkan akun layanan versus tag jaringan.--source-ranges
dan--source-service-accounts
dapat digunakan bersama. Jika keduanya ditentukan, kumpulan sumber yang efektif adalah gabungan alamat IP rentang sumber dan instance yang diidentifikasi oleh akun layanan sumber, meskipun instance yang diidentifikasi oleh akun layanan sumber tidak memiliki IP dalam rentang sumber.
Untuk aturan keluar, guna lebih menyaring sumber, gunakan
--source-ranges
untuk menentukan rentang alamat IPv4 atau IPv6 dalam format CIDR. Jika--source-ranges
dihilangkan, sumber keluar adalah alamat IPv4 apa pun,0.0.0.0/0
. Untuk mengetahui informasi selengkapnya, lihat Sumber untuk aturan traffic keluar dan Target dan alamat IP untuk aturan traffic keluar.Untuk aturan traffic keluar, tentukan tujuan:
--destination-ranges
Gunakan flag ini untuk menentukan rentang alamat IPv4 atau IPv6 tujuan dalam format CIDR.- Jika
--destination-ranges
dihilangkan, tujuan keluar adalah alamat IPv4 apa pun,0.0.0.0/0
.
--rules
Daftar protokol dan port tujuan yang akan menerapkan aturan tersebut. Gunakanall
agar aturan berlaku untuk semua protokol dan semua port tujuan. Memerlukan flag--action
.Secara default, aturan firewall dibuat dan diterapkan secara otomatis; tetapi, Anda dapat mengubah perilaku ini.
- Jika
--disabled
dan--no-disabled
dihilangkan, aturan firewall akan dibuat dan diterapkan. --disabled
Tambahkan flag ini untuk membuat aturan firewall, tetapi tidak menerapkannya. Aturan firewall tetap dinonaktifkan hingga Anda memperbarui aturan firewall untuk mengaktifkannya.--no-disabled
Tambahkan tanda ini untuk memastikan aturan firewall diterapkan.
- Jika
--enable-logging | --no-enable-logging
Anda dapat mengaktifkan Logging Aturan Firewall untuk aturan saat membuat atau memperbaruinya. Logging Aturan Firewall memungkinkan Anda mengaudit, memverifikasi, dan menganalisis efek aturan firewall Anda. Lihat Logging Aturan Firewall untuk mengetahui detailnya.--logging-metadata
Jika Anda mengaktifkan logging, secara default, Logging Aturan Firewall akan menyertakan kolom dasar dan metadata. Anda dapat menghapus kolom metadata untuk menghemat biaya penyimpanan. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Logging Aturan Firewall.
Terraform
Untuk membuat aturan firewall, Anda dapat menggunakan resource google_compute_firewall
.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
API
Membuat aturan firewall VPC.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "RULE_NAME", "network": "projects/PROJECT-ID/global/networks/NETWORK", ... other fields }
Ganti kode berikut:
PROJECT_ID
: ID project tempat jaringan VPC berada.NETWORK
: nama jaringan VPC tempat aturan firewall dibuat.RULE_NAME
: nama aturan firewall.Untuk aturan firewall masuk, tentukan sumber dan tujuan traffic masuk:
Gunakan kolom
sourceRanges
,sourceTags
, atausourceServiceAccounts
untuk menentukan sumber traffic masuk.sourceRanges
dapat berupa rentang IPv4 atau IPv6, tetapi bukan kombinasi dari keduanya. Untuk menggunakan rentang0.0.0.0/0
, jangan tentukan kolom apa pun.Anda tidak dapat menggunakan kolom
sourceTags
dansourceServiceAccounts
secara bersamaan. Namun, Anda dapat menggunakansourceRanges
dengansourceTags
atausourceServiceAccounts
. Jika Anda melakukannya, koneksi hanya perlu cocok dengan salah satu aturan agar aturan firewall dapat diterapkan.Untuk kolom target, jika menggunakan kolom
sourceTags
, Anda tidak dapat menggunakan kolomtargetServiceAccounts
. Anda harus menggunakan kolomtargetTags
atau tidak ada kolom target. Demikian pula, jika menggunakan kolomsourceServiceAccounts
, Anda tidak dapat menggunakan kolomtargetTags
. Jika Anda tidak menentukan kolom target, aturan akan berlaku untuk semua target di jaringan.Gunakan kolom
destinationRanges
untuk menentukan tujuan masuk.destinationRanges
dapat berupa rentang IPv4 atau IPv6, tetapi bukan kombinasi dari keduanya.
Jika Anda tidak menentukan tujuan, Google Cloud akan menggunakan0.0.0.0/0
. Untuk mengetahui informasi selengkapnya, lihat Tujuan untuk aturan masuk dan Target dan alamat IP untuk aturan masuk.
Untuk aturan firewall keluar, tentukan sumber dan tujuan keluar:
Gunakan kolom
sourceRanges
untuk menentukan sumber traffic keluar.sourceRange
dapat berupa rentang IPv4 atau IPv6, tetapi bukan kombinasi dari keduanya.
Jika Anda tidak menentukan sumber, Google Cloud akan menggunakan0.0.0.0/0
. Untuk mengetahui informasi selengkapnya, lihat Sumber untuk aturan traffic keluar dan Target dan alamat IP untuk aturan traffic keluar.Gunakan kolom
destinationRanges
untuk menentukan tujuan.destinationRanges
dapat berupa rentang IPv4 atau IPv6, tetapi bukan kombinasi dari keduanya.
Jika Anda tidak menentukan tujuan, Google Cloud akan menggunakan0.0.0.0/0
. Gunakan kolomtargetTags
atautargetServiceAccounts
untuk menentukan target mana yang akan menerima penerapan aturan. Jika Anda tidak menentukan kolom target, aturan akan berlaku untuk semua target dalam jaringan.
Untuk informasi selengkapnya dan deskripsi setiap kolom, lihat metode firewalls.insert
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Memperbarui aturan firewall VPC
Anda dapat mengubah beberapa komponen aturan firewall VPC, seperti protokol dan port tujuan yang ditentukan untuk kondisi kecocokan. Anda tidak dapat mengubah nama, jaringan, tindakan saat cocok, dan arah traffic aturan firewall.
Jika perlu mengubah nama, jaringan, atau komponen tindakan atau arah, Anda harus menghapus aturan dan membuat aturan baru.
Jika Anda ingin menambahkan atau menghapus beberapa akun layanan, gunakan gcloud CLI, API, atau library klien. Anda tidak dapat menggunakan konsol Google Cloud untuk menentukan beberapa akun layanan target atau akun layanan sumber.
Konsol
Di Konsol Google Cloud, buka halaman Firewall policies.
Klik aturan firewall yang ingin diubah.
Klik Edit.
Ubah komponen yang dapat diedit untuk memenuhi kebutuhan Anda.
Klik Simpan.
gcloud
Untuk memperbarui aturan firewall VPC, gunakan perintah gcloud compute firewall-rules update
:
gcloud compute firewall-rules update RULE_NAME \ [--priority=PRIORITY] \ [--description=DESCRIPTION] \ [--target-tags=TAG,...] \ [--target-service-accounts=IAM_SERVICE_ACCOUNT,_] \ [--source-ranges=CIDR_RANGE,...] \ [--source-tags=TAG,...] \ [--source-service-accounts=IAM_SERVICE_ACCOUNT,_] \ [--destination-ranges=CIDR_RANGE,...] \ [--rules=[PROTOCOL[:PORT[-PORT]],…]] \ [--disabled | --no-disabled] \ [--enable-logging | --no-enable-logging]
Deskripsi untuk setiap flag sama dengan membuat aturan firewall, dan detail selengkapnya tentang setiap flag tersedia di dokumentasi referensi SDK.
API
Gunakan PATCH untuk memperbarui kolom berikut: allowed
, description
,
sourceRanges
, sourceTags
, atau targetTags
. Gunakan PUT atau POST untuk semua kolom
lainnya.
(PATCH|(POST|PUT)) https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME { "name": "RULE_NAME", "network": "projects/PROJECT-ID/global/networks/NETWORK", ... other fields }
Ganti kode berikut:
PROJECT_ID
: ID project tempat jaringan VPC berada.NETWORK
: nama jaringan VPC tempat aturan firewall berada.RULE_NAME
: nama aturan firewall yang akan diperbarui.
Untuk informasi selengkapnya dan deskripsi untuk setiap kolom, lihat metode
firewalls.patch
atau
firewalls.update
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Mencantumkan aturan firewall VPC untuk jaringan VPC
Anda dapat mencantumkan semua aturan firewall VPC untuk project atau untuk jaringan VPC tertentu. Untuk setiap aturan firewall, Google Cloud menampilkan detail seperti jenis, target, dan filter aturan.
Jika Anda mengaktifkan
Pembuatan Log Aturan Firewall,
Firewall Insights dapat memberikan insight tentang aturan firewall Anda
untuk membantu Anda lebih memahami dan mengoptimalkan konfigurasinya dengan aman. Misalnya, Anda dapat melihat aturan allow
mana yang belum digunakan dalam enam minggu terakhir.
Untuk informasi selengkapnya, lihat Menggunakan layar detail Aturan
firewall
dalam dokumentasi Analisis Firewall.
Konsol
Untuk menampilkan semua aturan firewall VPC untuk semua jaringan dalam project Anda:
Pada konsol Google Cloud, buka halaman Kebijakan Firewall.
Untuk menampilkan aturan firewall VPC di jaringan tertentu:
Di konsol Google Cloud, buka halaman jaringan VPC.
Klik Name jaringan VPC untuk membuka halaman detailnya.
Di halaman detail untuk jaringan, klik tab Firewall.
Luaskan vpc-firewall-rules.
gcloud
Untuk membuat daftar aturan firewall VPC yang diurutkan untuk jaringan tertentu, gunakan perintah gcloud compute firewall-rules list
:
gcloud compute firewall-rules list --filter network=NETWORK \ --sort-by priority \ --format="table( name, network, direction, priority, sourceRanges.list():label=SRC_RANGES, destinationRanges.list():label=DEST_RANGES, allowed[].map().firewall_rule().list():label=ALLOW, denied[].map().firewall_rule().list():label=DENY, sourceTags.list():label=SRC_TAGS, targetTags.list():label=TARGET_TAGS )"
Ganti NETWORK
dengan nama jaringan yang akan mencantumkan
aturan firewall.
API
Menampilkan semua aturan firewall VPC untuk jaringan tertentu.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/?filter=network="NETWORK
Ganti kode berikut:
PROJECT_ID
: ID project tempat jaringan VPC berada.NETWORK
: nama jaringan VPC yang berisi aturan firewall yang akan dicantumkan.
Untuk informasi selengkapnya, lihat metode firewalls.list
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Mencantumkan aturan firewall VPC untuk antarmuka jaringan instance VM
Untuk setiap antarmuka jaringan, konsol Google Cloud mencantumkan semua aturan firewall VPC yang berlaku untuk antarmuka dan aturan yang sebenarnya digunakan oleh antarmuka. Aturan firewall dapat menyamarkan aturan lain, sehingga semua aturan yang berlaku untuk antarmuka mungkin tidak benar-benar digunakan oleh antarmuka.
Aturan firewall dikaitkan dengan dan diterapkan ke instance VM melalui parameter target aturan. Dengan melihat semua aturan yang diterapkan, Anda dapat memeriksa apakah aturan tertentu diterapkan ke antarmuka.
Jika Anda mengaktifkan Pembuatan Log Aturan Firewall, Firewall Insights dapat memberikan insight tentang aturan firewall Anda untuk membantu Anda lebih memahami dan mengoptimalkan konfigurasinya dengan aman. Misalnya, Anda dapat melihat aturan mana di antarmuka yang diaktifkan dalam enam minggu terakhir. Untuk informasi selengkapnya, lihat Menggunakan layar detail antarmuka jaringan VM dalam dokumentasi Firewall Insights.
Konsol
Untuk melihat aturan VPC yang berlaku untuk antarmuka jaringan VM tertentu:
Di konsol Google Cloud, buka halaman Instance VM.
Temukan instance yang akan dilihat.
Di menu tindakan lainnya instance (
), pilih Lihat detail jaringan.Jika instance memiliki beberapa antarmuka jaringan, pilih antarmuka jaringan yang ingin dilihat di kolom Selected network interface.
Di bagian Firewall and routes details, pilih tab Firewalls.
Luaskan vpc-firewall-rules.
Lihat tabel untuk menentukan apakah traffic ke atau dari alamat IP tertentu diizinkan.
Melihat detail aturan firewall VPC
Anda dapat memeriksa aturan firewall VPC untuk melihat namanya, jaringan yang berlaku, dan komponen, termasuk apakah aturan diaktifkan atau dinonaktifkan.
Konsol
- Buat daftar aturan firewall Anda. Anda dapat melihat daftar semua aturan atau hanya aturan di jaringan tertentu.
- Klik aturan yang ingin dilihat.
gcloud
Perintah berikut menjelaskan setiap aturan firewall VPC. Karena nama aturan firewall bersifat unik untuk project, Anda tidak perlu menentukan jaringan saat menjelaskan aturan firewall yang ada.
gcloud compute firewall-rules describe RULE_NAME
Ganti RULE_NAME
dengan nama aturan firewall.
API
Menjelaskan aturan firewall VPC tertentu.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
Ganti placeholder dengan nilai yang valid:
PROJECT_ID
: ID project tempat aturan firewall berada.RULE_NAME
: nama aturan firewall yang akan dijelaskan.
Untuk informasi selengkapnya, lihat metode firewalls.get
.
Menghapus aturan firewall VPC
Konsol
- Cantumkan aturan firewall VPC Anda. Anda dapat melihat daftar semua aturan atau hanya aturan di jaringan tertentu.
- Klik aturan yang ingin dihapus.
- Klik Hapus.
- Klik Delete lagi untuk mengonfirmasi.
gcloud
Untuk menghapus aturan firewall VPC, gunakan perintah gcloud compute firewall-rules delete
:
gcloud compute firewall-rules delete RULE_NAME
Ganti RULE_NAME
dengan nama aturan yang akan
dihapus.
API
Menghapus aturan firewall VPC.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
Ganti kode berikut:
PROJECT_ID
: ID project tempat aturan firewall berada.RULE_NAME
: nama aturan firewall yang akan dihapus.
Untuk mengetahui informasi selengkapnya, lihat metode firewalls.delete
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Memantau aturan firewall VPC
Anda dapat mengaktifkan logging untuk aturan firewall VPC guna melihat aturan mana yang mengizinkan atau memblokir traffic tertentu. Lihat Menggunakan Logging Aturan Firewall untuk petunjuknya.
Mengonfigurasi aturan firewall VPC untuk kasus penggunaan umum
Bagian berikut memberikan contoh cara menggunakan gcloud CLI dan API untuk membuat ulang aturan firewall VPC standar yang dibuat untuk jaringan default. Anda dapat menggunakan contoh untuk membuat aturan serupa untuk jaringan mode kustom dan otomatis. Setiap aturan firewall dapat menyertakan rentang alamat IPv4 atau IPv6, tetapi tidak keduanya.
Mengizinkan koneksi masuk internal antar-VM
Contoh berikut membuat aturan firewall untuk mengizinkan koneksi TCP, UDP, dan ICMP internal ke instance VM Anda, mirip dengan aturan allow-internal
untuk jaringan default.
gcloud
Gunakan perintah gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=tcp:0-65535,udp:0-65535,ICMP_PROTOCOL \ --source-ranges=SUBNET_RANGES
Ganti kode berikut:
RULE_NAME
: nama untuk aturan firewall ini.NETWORK
: nama jaringan tempat aturan firewall ini berlaku. Nilai defaultnya adalahdefault
.ICMP_PROTOCOL
: jenis protokol ICMP. Tentukan ICMPv4 menggunakan nama protokolicmp
atau nomor protokol1
. Tentukan ICMPv6 menggunakan nomor protokol58
.SUBNET_RANGES
: satu atau beberapa rentang alamat IP. Menyertakan rentang alamat IP berarti traffic dari rentang tersebut dapat menjangkau tujuan VM mana pun di jaringan VPC. Anda dapat menentukan rentang IPv4 atau IPv6 dalam aturan firewall tertentu.Rentang subnet IPv4:
- Jaringan VPC mode otomatis menggunakan rentang alamat IP yang berada dalam
10.128.0.0/9
. - Jaringan mode kustom dapat menggunakan rentang IPv4 yang valid. Jika tidak menggunakan rentang yang berurutan untuk subnet di jaringan VPC, Anda mungkin perlu menentukan beberapa rentang.
- Anda dapat menggunakan
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
untuk mengizinkan traffic dari semua rentang alamat IPv4 pribadi (rentang RFC 1918).
Rentang subnet IPv6:
Jika telah menetapkan rentang alamat IPv6 internal ke jaringan VPC, Anda dapat menggunakan rentang tersebut sebagai rentang sumber. Menggunakan rentang IPv6 internal jaringan VPC berarti bahwa aturan firewall menyertakan semua rentang subnet IPv6 internal saat ini dan mendatang. Anda dapat menemukan rentang IPv6 internal jaringan VPC menggunakan perintah berikut:
gcloud compute networks describe NETWORK \ --format="flattened(internalIpv6Range)"
Anda juga dapat menentukan rentang subnet IPv6 internal tertentu.
Untuk mengizinkan traffic dari rentang subnet IPv6 eksternal dari subnet dual-stack, Anda harus menentukan rentang alamat IPv6 dari setiap subnet yang ingin disertakan.
- Jaringan VPC mode otomatis menggunakan rentang alamat IP yang berada dalam
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "targetTags": [], "allowed": [ { "IPProtocol": "tcp", "ports": [ "0-65535" ] }, { "IPProtocol": "udp", "ports": [ "0-65535" ] }, { "IPProtocol": "ICMP_PROTOCOL" } ], "sourceRanges": [ "SUBNET_RANGES" ] }
Ganti kode berikut:
PROJECT_ID
: ID project tempat jaringan VPC berada.RULE_NAME
: nama aturan firewall.NETWORK
: nama jaringan VPC tempat aturan firewall dibuat. Nilai defaultnya adalahdefault
.ICMP_PROTOCOL
: jenis protokol ICMP. Tentukan ICMPv4 menggunakan nama protokolicmp
atau nomor protokol1
. Tentukan ICMPv6 menggunakan nomor protokol58
.INTERNAL_SOURCE_RANGES
: satu atau beberapa rentang IP. Untuk mengizinkan traffic internal dalam semua subnet di jaringan VPC, tentukan rentang alamat IP yang digunakan di jaringan VPC Anda. Anda dapat menentukan rentang IPv4 atau IPv6 dalam aturan firewall tertentu.Rentang subnet IPv4:
- Jaringan VPC mode otomatis menggunakan rentang alamat IP yang berada dalam
10.128.0.0/9
. - Jaringan mode kustom dapat menggunakan rentang IPv4 yang valid. Jika tidak menggunakan rentang yang berurutan untuk subnet di jaringan VPC, Anda mungkin perlu menentukan beberapa rentang.
- Anda dapat menggunakan
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
untuk mengizinkan traffic dari semua rentang alamat IPv4 pribadi (rentang RFC 1918).
Rentang subnet IPv6:
Jika telah menetapkan rentang alamat IPv6 internal ke jaringan VPC, Anda dapat menggunakan rentang tersebut sebagai rentang sumber. Menggunakan rentang IPv6 internal jaringan VPC berarti bahwa aturan firewall menyertakan semua rentang subnet IPv6 internal saat ini dan mendatang. Anda dapat menemukan rentang IPv6 internal jaringan VPC menggunakan perintah berikut:
gcloud compute networks describe NETWORK \ --format="flattened(internalIpv6Range)"
Anda juga dapat menentukan rentang subnet IPv6 internal tertentu.
Untuk mengizinkan traffic dari rentang subnet IPv6 eksternal dari subnet dual-stack, Anda harus menentukan rentang alamat IPv6 dari setiap subnet yang ingin disertakan.
- Jaringan VPC mode otomatis menggunakan rentang alamat IP yang berada dalam
Mengizinkan koneksi ssh masuk ke VM
Contoh berikut membuat aturan firewall untuk mengizinkan koneksi SSH ke instance VM Anda, mirip dengan aturan allow-ssh
untuk jaringan default.
gcloud
Gunakan perintah gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=tcp:22 \ --source-ranges=RANGES_OUTSIDE_VPC_NETWORK
Ganti kode berikut:
RULE_NAME
: nama untuk aturan firewall ini.NETWORK
: nama jaringan tempat aturan firewall ini berlaku. Nilai defaultnya adalahdefault
.RANGES_OUTSIDE_VPC_NETWORK
: satu atau beberapa rentang alamat IP. Anda dapat menentukan rentang IPv4 atau IPv6 dalam aturan firewall tertentu. Sebagai praktik terbaik, tentukan rentang alamat IP tertentu yang perlu Anda izinkan aksesnya, bukan semua sumber IPv4 atau IPv6.- Menyertakan
35.235.240.0/20
dalam rentang sumber memungkinkan koneksi SSH menggunakan penerusan TCP Identity-Aware Proxy (IAP) jika semua prasyarat lainnya terpenuhi. Untuk informasi selengkapnya, lihat Menggunakan IAP untuk penerusan TCP. - Menggunakan
0.0.0.0/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv4, termasuk sumber di luar Google Cloud. - Menggunakan
::/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv6, termasuk sumber di luar Google Cloud.
- Menyertakan
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "targetTags": [], "allowed": [ { "IPProtocol": "tcp", "ports": [ "22" ] } ], "sourceRanges": [ "RANGES_OUTSIDE_VPC_NETWORK" ] }
Ganti kode berikut:
PROJECT_ID
: ID project tempat jaringan VPC berada.RULE_NAME
: nama aturan firewall.NETWORK
: nama jaringan VPC tempat aturan firewall dibuat.RANGES_OUTSIDE_VPC_NETWORK
: satu atau beberapa rentang alamat IP. Anda dapat menentukan rentang IPv4 atau IPv6 dalam aturan firewall tertentu. Sebagai praktik terbaik, tentukan rentang alamat IP tertentu yang perlu Anda izinkan aksesnya, bukan semua sumber IPv4 atau IPv6.- Menyertakan
35.235.240.0/20
dalam rentang sumber memungkinkan koneksi SSH menggunakan penerusan TCP Identity-Aware Proxy (IAP) jika semua prasyarat lainnya terpenuhi. Untuk informasi selengkapnya, lihat Menggunakan IAP untuk penerusan TCP. - Menggunakan
0.0.0.0/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv4, termasuk sumber di luar Google Cloud. - Menggunakan
::/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv6, termasuk sumber di luar Google Cloud.
- Menyertakan
Mengizinkan koneksi RDP masuk ke VM
Contoh berikut membuat aturan firewall untuk mengizinkan koneksi Microsoft Remote Desktop Protocol (RDP) ke instance VM Anda, mirip dengan aturan allow-rdp
untuk jaringan default.
gcloud
Gunakan perintah gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=tcp:3389 \ --source-ranges=RANGES_OUTSIDE_VPC_NETWORK
Ganti kode berikut:
RULE_NAME
: nama untuk aturan firewall ini.NETWORK
: nama jaringan tempat aturan firewall ini berlaku. Nilai defaultnya adalahdefault
.RANGES_OUTSIDE_VPC_NETWORK
: satu atau beberapa rentang alamat IP. Anda dapat menentukan rentang IPv4 atau IPv6 dalam aturan firewall tertentu. Sebagai praktik terbaik, tentukan rentang alamat IP tertentu yang perlu Anda izinkan aksesnya, bukan semua sumber IPv4 atau IPv6.- Menyertakan
35.235.240.0/20
dalam rentang sumber memungkinkan koneksi RDP menggunakan penerusan TCP Identity-Aware Proxy (IAP) jika semua prasyarat lainnya terpenuhi. Untuk informasi selengkapnya, lihat Menggunakan IAP untuk penerusan TCP. - Menggunakan
0.0.0.0/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv4, termasuk sumber di luar Google Cloud. - Menggunakan
::/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv6, termasuk sumber di luar Google Cloud.
- Menyertakan
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "allowed": [ { "IPProtocol": "tcp", "ports": [ "3389" ] } ], "sourceRanges": [ "EXTERNAL_SOURCE_RANGES" ] }
Ganti kode berikut:
PROJECT_ID
: ID project tempat jaringan VPC berada.RULE_NAME
: nama aturan firewall.NETWORK
: nama jaringan VPC tempat aturan firewall dibuat.RANGES_OUTSIDE_VPC_NETWORK
: satu atau beberapa rentang alamat IP. Anda dapat menentukan rentang IPv4 atau IPv6 dalam aturan firewall tertentu. Sebagai praktik terbaik, tentukan rentang alamat IP tertentu yang perlu Anda izinkan aksesnya, bukan semua sumber IPv4 atau IPv6.- Menyertakan
35.235.240.0/20
dalam rentang sumber memungkinkan koneksi RDP menggunakan penerusan TCP Identity-Aware Proxy (IAP) jika semua prasyarat lainnya terpenuhi. Untuk informasi selengkapnya, lihat Menggunakan IAP untuk penerusan TCP. - Menggunakan
0.0.0.0/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv4, termasuk sumber di luar Google Cloud. - Menggunakan
::/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv6, termasuk sumber di luar Google Cloud.
- Menyertakan
Mengizinkan koneksi ICMP masuk ke VM
Contoh berikut membuat aturan firewall untuk mengizinkan koneksi ICMP ke instance VM Anda, mirip dengan aturan allow-icmp
untuk jaringan default.
gcloud
Gunakan perintah gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=ICMP_PROTOCOL \ --source-ranges=RANGES_OUTSIDE_VPC_NETWORK
Ganti kode berikut:
RULE_NAME
: nama aturan firewall.NETWORK
: nama jaringan tempat aturan firewall ini berlaku. Nilai defaultnya adalahdefault
.ICMP_PROTOCOL
: jenis protokol ICMP. Tentukan ICMPv4 menggunakan nama protokolicmp
atau nomor protokol1
. Tentukan ICMPv6 menggunakan nomor protokol58
.RANGES_OUTSIDE_VPC_NETWORK
: satu atau beberapa rentang alamat IP. Anda dapat menentukan rentang IPv4 atau IPv6 dalam aturan firewall tertentu. Sebagai praktik terbaik, tentukan rentang alamat IP tertentu yang perlu Anda izinkan aksesnya, bukan semua sumber IPv4 atau IPv6.- Menggunakan
0.0.0.0/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv4, termasuk sumber di luar Google Cloud. - Menggunakan
::/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv6, termasuk sumber di luar Google Cloud.
- Menggunakan
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "targetTags": [], "allowed": [ { "IPProtocol": "ICMP_PROTOCOL" } ], "sourceRanges": [ "RANGES_OUTSIDE_VPC_NETWORK" ] }
Ganti kode berikut:
PROJECT_ID
: ID project tempat jaringan VPC berada.RULE_NAME
: nama aturan firewall.NETWORK
: nama jaringan VPC tempat aturan firewall dibuat.ICMP_PROTOCOL
: jenis protokol ICMP yang akan digunakan. Tentukan ICMPv4 menggunakan nama protokolicmp
atau nomor protokol1
. Tentukan ICMPv6 menggunakan nomor protokol58
.RANGES_OUTSIDE_VPC_NETWORK
: satu atau beberapa rentang alamat IP. Anda dapat menentukan rentang IPv4 atau IPv6 dalam aturan firewall tertentu. Sebagai praktik terbaik, tentukan rentang alamat IP tertentu yang perlu Anda izinkan aksesnya, bukan semua sumber IPv4 atau IPv6.- Menggunakan
0.0.0.0/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv4, termasuk sumber di luar Google Cloud. - Menggunakan
::/0
sebagai rentang sumber memungkinkan traffic dari semua sumber IPv6, termasuk sumber di luar Google Cloud.
- Menggunakan
Contoh konfigurasi lainnya
Gambar 1 menjelaskan contoh konfigurasi untuk jaringan VPC
bernama my-network
. Jaringan berisi hal berikut:
- Subnet bernama
subnet1
, dengan rentang IP10.240.10.0/24
dan satu instance - Subnet bernama
subnet2
, dengan rentang IP192.168.1.0/24
- Instance bernama
vm1
disubnet2
dengan tagwebserver
dan alamat IP internal192.168.1.2
- Instance bernama
vm2
disubnet2
dengan tagdatabase
dan alamat IP internal192.168.1.3
Contoh 1: Menolak semua koneksi TCP masuk kecuali koneksi ke port 80 dari subnet1
Contoh ini membuat kumpulan aturan VPC firewall yang menolak semua koneksi TCP masuk kecuali koneksi yang dituju ke port 80
dari subnet1
.
gcloud
Buat aturan firewall untuk menolak semua traffic TCP masuk ke instance yang diberi tag
webserver
.gcloud compute firewall-rules create deny-subnet1-webserver-access \ --network NETWORK_NAME \ --action deny \ --direction ingress \ --rules tcp \ --source-ranges 0.0.0.0/0 \ --priority 1000 \ --target-tags webserver
Ganti
NETWORK_NAME
dengan nama jaringan.Buat aturan firewall untuk mengizinkan semua alamat IP di
subnet1
(10.240.10.0/24
) mengakses port TCP80
pada instance yang diberi tag denganwebserver
.gcloud compute firewall-rules create vm1-allow-ingress-tcp-port80-from-subnet1 \ --network NETWORK_NAME \ --action allow \ --direction ingress \ --rules tcp:80 \ --source-ranges 10.240.10.0/24 \ --priority 50 \ --target-tags webserver
Ganti
NETWORK_NAME
dengan nama jaringan.
Contoh 2: Menolak semua koneksi TCP keluar kecuali koneksi ke port 80 vm1
gcloud
Buat aturan firewall untuk menolak semua traffic TCP keluar.
gcloud compute firewall-rules create deny-all-access \ --network NETWORK_NAME \ --action deny \ --direction egress \ --rules tcp \ --destination-ranges 0.0.0.0/0 \ --priority 1000
Ganti
NETWORK_NAME
dengan nama jaringan.Buat aturan firewall untuk mengizinkan traffic TCP yang ditujukan ke port
vm1
80
.gcloud compute firewall-rules create vm1-allow-egress-tcp-port80-to-vm1 \ --network NETWORK_NAME \ --action allow \ --direction egress \ --rules tcp:80 \ --destination-ranges 192.168.1.2/32 \ --priority 60
Ganti
NETWORK_NAME
dengan nama jaringan.
Contoh 3: Mengizinkan koneksi TCP egress ke port 443 host eksternal
Buat aturan firewall yang mengizinkan instance yang diberi tag webserver
untuk mengirim
traffic TCP keluar ke port 443
dari contoh alamat IP eksternal, 192.0.2.5
.
gcloud
gcloud compute firewall-rules create vm1-allow-egress-tcp-port443-to-192-0-2-5 \ --network NETWORK_NAME \ --action allow \ --direction egress \ --rules tcp:443 \ --destination-ranges 192.0.2.5/32 \ --priority 70 \ --target-tags webserver
Ganti NETWORK_NAME
dengan nama jaringan.
Contoh 4: Mengizinkan koneksi SSH dari vm2 ke vm1
Buat aturan firewall yang mengizinkan traffic SSH dari instance dengan tag
database
(vm2
) untuk menjangkau instance dengan tag webserver
(vm1
).
gcloud
gcloud compute firewall-rules create vm1-allow-ingress-tcp-ssh-from-vm2 \ --network NETWORK_NAME \ --action allow \ --direction ingress \ --rules tcp:22 \ --source-tags database \ --priority 80 \ --target-tags webserver
Ganti NETWORK_NAME
dengan nama jaringan.
Contoh 5: Mengizinkan TCP:1443 dari server web ke database menggunakan akun layanan
Untuk informasi tambahan tentang akun layanan dan peran, lihat Memberikan peran ke akun layanan.
Pertimbangkan skenario pada gambar 2, yang berisi dua aplikasi
yang diskalakan secara otomatis melalui template: aplikasi server web yang
dikaitkan dengan akun layanan my-sa-webserver
dan aplikasi database
yang dikaitkan dengan akun layanan my-sa-database
. Admin keamanan ingin mengizinkan traffic TCP dari VM dengan akun layanan my-sa-webserver
ke port tujuan 1443
VM dengan akun layanan my-sa-database
.
Langkah-langkah konfigurasi, termasuk pembuatan akun layanan, adalah sebagai berikut.
gcloud
EDITOR project atau PEMILIK project membuat akun layanan
my-sa-webserver
danmy-sa-database
.gcloud iam service-accounts create my-sa-webserver \ --display-name "webserver service account"
gcloud iam service-accounts create my-sa-database \ --display-name "database service account"
PEMILIK project menetapkan peran serviceAccountUser untuk akun layanan
my-sa-webserver
kepada developer server web web-dev@example.com dengan menetapkan kebijakan Identity and Access Management (IAM).gcloud iam service-accounts add-iam-policy-binding \ my-sa-webserver@my-project. \ --member='user:web-dev@example.com' \ --role='roles/iam.serviceAccountUser'
PEMILIK project menetapkan peran serviceAccountUser untuk akun layanan
my-sa-database
kepada developer databasedb-dev@example.com
dengan menetapkan kebijakan IAM.gcloud iam service-accounts add-iam-policy-binding \ my-sa-database@my-project. \ --member='user:db-dev@example.com' \ --role='roles/iam.serviceAccountUser'
Developer
web-dev@example.com
, yang memiliki peran Instance admin, membuat template instance server web dan memberikan otorisasi instance untuk berjalan sebagai akun layananmy-sa-webserver
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --service-account my-sa-webserver@my-project-123.
Developer
db-dev@example.com
, yang memiliki peran Instance Admin, membuat template instance database dan memberikan otorisasi instance untuk berjalan sebagai akun layananmy-sa-database
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --service-account my-sa-database@my-project-123.
Admin Keamanan membuat aturan firewall yang mengizinkan traffic TCP dari VM dengan akun layanan
my-sa-webserver
untuk menjangkau port 1443 VM dengan akun layananmy-sa-database
.gcloud compute firewall-rules create RULE_NAME \ --network network_a \ --allow TCP:1443 \ --source-service-accounts my-sa-webserver@my-project. \ --target-service-accounts my-sa-database@my-project.
Pemecahan masalah
Pesan error saat membuat atau memperbarui aturan firewall VPC
Anda mungkin melihat salah satu pesan error berikut:
Should not specify destination range for ingress direction.
Rentang tujuan bukan parameter yang valid untuk aturan firewall masuk. Aturan firewall diasumsikan sebagai aturan masuk kecuali jika arah
egress
ditentukan secara khusus. Jika Anda membuat aturan yang tidak menentukan arah, aturan tersebut akan dibuat sebagai aturan masuk, yang tidak mengizinkan rentang tujuan. Selain itu, rentang sumber bukan parameter yang valid untuk aturan keluar.Firewall direction cannot be changed once created.
Anda tidak dapat mengubah arah aturan firewall yang ada. Anda harus membuat aturan baru dengan parameter yang benar, lalu menghapus aturan lama.
Firewall traffic control action cannot be changed once created.
Anda tidak dapat mengubah tindakan aturan firewall yang ada. Anda harus membuat aturan baru dengan parameter yang benar, lalu menghapus aturan lama.
Service accounts must be valid RFC 822 email addresses.
Akun layanan yang ditentukan dalam aturan firewall harus berupa alamat email yang diformat sesuai dengan RFC 822.gcloud compute firewall-rules create bad --allow tcp --source-service-accounts invalid-email
Creating firewall...failed. ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: – Invalid value for field 'resource.sourceServiceAccounts[0]': 'invalid-email'. Service accounts must be valid RFC 822 email addresses.
ServiceAccounts and Tags are mutually exclusive and can't be combined in the same firewall rule.
Anda tidak dapat menentukan akun layanan dan tag dalam aturan yang sama.gcloud compute firewall-rules create bad --allow tcp --source-service-accounts test@google.com --target-tags target
Creating firewall...failed. ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: – ServiceAccounts and Tags are mutually exclusive and can't be combined in the same firewall rule.
Error resource tidak ditemukan
Saat menghapus jaringan VPC atau aturan firewall, Anda mungkin melihat
pesan yang mirip dengan berikut ini:
The resource "aet-uscentral1-subnet--1-egrfw" was not found.
Error ini dapat memblokir Anda agar tidak menghapus aturan firewall tersirat atau melihat detailnya. Aturan firewall yang berada dalam status ini juga dapat memblokir Anda agar tidak menghapus jaringan VPC.
Untuk menghapus aturan firewall atau jaringan yang diblokir dengan cara ini, hapus konektor Akses VPC Serverless terkait terlebih dahulu, lalu coba lagi. Untuk informasi selengkapnya tentang cara menghapus konektor Akses VPC Serverless, lihat menghapus konektor.
Terlalu banyak error firewall besar
Anda mungkin melihat pesan error berikut:
Google Compute Engine: The network contains too many large firewalls.
Untuk menjaga keamanan dan performa, ada batasan pada kompleksitas dan jumlah aturan firewall yang dapat diterapkan di jaringan VPC. Jika Anda melihat error ini, minta tim pengelolaan akun Anda untuk menyederhanakan atau menggabungkan aturan firewall.
Tidak dapat terhubung ke instance VM
Jika Anda tidak dapat terhubung ke instance VM, periksa aturan firewall Anda.
gcloud
Jika Anda memulai koneksi dari instance VM lain, cantumkan aturan firewall keluar untuk instance tersebut.
gcloud compute firewall-rules list --filter network=NETWORK_NAME \ --filter EGRESS \ --sort-by priority \ --format="table( name, network, direction, priority, sourceRanges.list():label=SRC_RANGES, destinationRanges.list():label=DEST_RANGES, allowed[].map().firewall_rule().list():label=ALLOW, denied[].map().firewall_rule().list():label=DENY, sourceTags.list():label=SRC_TAGS, sourceServiceAccounts.list():label=SRC_SVC_ACCT, targetTags.list():label=TARGET_TAGS, targetServiceAccounts.list():label=TARGET_SVC_ACCT )"
Ganti
NETWORK_NAME
dengan nama jaringan.Periksa apakah IP tujuan ditolak oleh aturan keluar. Aturan dengan prioritas tertinggi (angka prioritas terendah) akan menggantikan aturan berprioritas lebih rendah. Untuk dua aturan dengan prioritas yang sama, aturan tolak akan diutamakan.
Periksa aturan firewall masuk untuk jaringan yang berisi instance VM tujuan.
gcloud compute firewall-rules list --filter network=NETWORK_NAME \ --filter INGRESS \ --sort-by priority \ --format="table( name, network, direction, priority, sourceRanges.list():label=SRC_RANGES, destinationRanges.list():label=DEST_RANGES, allowed[].map().firewall_rule().list():label=ALLOW, denied[].map().firewall_rule().list():label=DENY, sourceTags.list():label=SRC_TAGS, sourceServiceAccounts.list():label=SRC_SVC_ACCT, targetTags.list():label=TARGET_TAGS, targetServiceAccounts.list():label=TARGET_SVC_ACCT )"
Ganti
NETWORK_NAME
dengan nama jaringan.Contoh output. Output Anda akan bergantung pada daftar aturan firewall Anda.
NAME NETWORK DIRECTION PRIORITY SRC_RANGES DEST_RANGES ALLOW DENY SRC_TAGS SRC_SVC_ACCT TARGET_TAGS TARGET_SVC_ACCT default-allow-icmp default INGRESS 65534 0.0.0.0/0 icmp default-allow-internal default INGRESS 65534 10.128.0.0/9 tcp:0-65535,udp:0-65535,icmp default-allow-rdp default INGRESS 65534 0.0.0.0/0 tcp:3389 default-allow-ssh default INGRESS 65534 0.0.0.0/0 tcp:22 firewall-with-sa default INGRESS 1000 tcp:10000 test1@google.com target@google.com
Anda juga dapat menjalankan uji konektivitas ke/dari instance VM di jaringan VPC ke jaringan VPC lain atau jaringan cloud non-Google untuk memecahkan masalah jika traffic dihapus oleh aturan firewall masuk atau keluar. Untuk mengetahui informasi selengkapnya tentang cara menjalankan uji konektivitas untuk memecahkan masalah berbagai skenario, lihat Menjalankan Uji Konektivitas.
Apakah aturan firewall VPC saya diaktifkan atau dinonaktifkan?
Untuk melihat apakah aturan firewall diaktifkan atau dinonaktifkan, lihat detail aturan firewall.
Di konsol Google Cloud, cari Enabled atau Disabled di bagian Enforcement.
Pada output gcloud CLI, cari kolom disabled
.
Jika disabled:false
, aturan diaktifkan dan diterapkan. Jika
menampilkan disabled: true
, aturan akan dinonaktifkan.
Aturan mana yang diterapkan pada instance VM?
Setelah membuat aturan, Anda dapat memeriksa apakah aturan tersebut diterapkan dengan benar pada instance tertentu. Untuk mengetahui informasi selengkapnya, lihat Mencantumkan aturan firewall untuk antarmuka jaringan instance VM.
Aturan firewall VPC dengan tag sumber tidak langsung berlaku
Aturan firewall masuk yang menggunakan tag sumber dapat memerlukan waktu untuk diterapkan. Untuk mengetahui detailnya, lihat pertimbangan yang terkait dengan tag sumber untuk aturan firewall masuk.
Langkah selanjutnya
- Untuk pengantar aturan firewall, lihat Aturan firewall VPC.