Menambahkan Edge Firewall Rules melalui vCloud API 1

Menambahkan Edge Firewall Rules melalui vCloud API

Edge Firewall Rule :

User dapat menambahkan firewall rule pada firewall tab di NSX edge gateway. Beberapa firewall rules sudah masuk pre-build sebagai bagian dari preconfigure services, yang sebaiknya tidak di rubah.

Problem :

  • User ingin menambahkan Firewall rules dari GUI dan hanya bisa menambahkan satu firewall rules pada satu waktu.
  • User ingin automasi pembuatan firewall rules terutama firewall rule yang di dalamnya multiple ports untuk mengurangi manual efforts.

Solusi :

Untuk menangani masalah ini, vCloud Director menawarkan NSX Proxy API, yang dapat membantu User untuk automasi rules rules firewall. Berikut proses menambahkan firewall rules menggunakan API :

  • Query Get NSX Edge ID melalui API.
  • Query Get config Edge Firewall.
  • Add (Post) Firewall rules.

Query Get NSX Edge ID :

Untuk menentukan NSX Edge ID, perlu query 'Get' melalui API.

https://<vCloud url>/network/edges

Berikut Header Information untuk query 'Get' melalui API .

Content API :

Query API tadi akan memberi informasi tentang Edge, catat edge objectid dan id dari Edge.

Note : Informasi yang di dapat pada Body Header tergantung dari Privilege user.

Query Get Edge Firewall Rules configuration :

Langkah ini sebenarnya tidak dibutuhkan, tetapi jika ingin melihat existing configuration dari firewall rules atau ingin backup firewall rules, langkah ini dapat dilakukan.

Lakukan Query 'Get' dengan edgeid yang telah kita dapatkan sebelumnya.

https://<vCloud>/network/edges/c7801911-ca4d-419d-9f91-a3b7ec7d86fd/firewall/config/

 

Save as respond file dari configuration firewall untuk di jadikan backup.

config firewall

Query Post (Add) Firewall Rule:

Untuk menambahkan firewall rule, perlu melakukan Query 'Post' di url :

https://<vcloud>/network/edges/c7801911-ca4d-419d-9f91-a3b7ec7d86fd/firewall/config/rules/
  • c7801911-ca4d-419d-9f91-a3b7ec7d86fd = edgeid
  • Content-type - Application/xml
  • Authorization - Bearer Token, untuk mendapatkan Bearer Token dapat mengikuti Post Berikut.

Body Content :

Untuk Query 'Post', pada bagian body di isi firewall rule yang akan di tambahkan, berikut contoh menambahkan rule dengan nama dns2 dengan allow port 53 dengan format xml. Dari tagnya cukup jelas, beberapa item yang penting untuk di ingat :

  • Body harus di mulai <firewallRules> dan di akhiri </firewallRules> section.
  • Menambahkan rules harus di dalam section <firewallRule></firewallRule>
  • Di dalam section <service></service> kita bisa mendefine protocol dan port
<firewallRules>
<firewallRule>
<name>dns2</name>
<ruleType>user</ruleType>
<enabled>true</enabled>
<loggingEnabled>false</loggingEnabled>
<description>dns</description>
<matchTranslated>false</matchTranslated>
<action>accept</action>
<source>
<exclude>false</exclude>
<ipAddress>any</ipAddress>
</source>
<destination>
<exclude>false</exclude>
<ipAddress>any</ipAddress>
</destination>
<application>
<service>
<protocol>tcp</protocol>
<port>53</port>
<sourcePort>any</sourcePort>
</service>
</application>
</firewallRule>
<firewallRules>

Berikut contoh API call nya, dan body nya harus berformat XML.

 

Jika ingin menambahkan firewall rule lainnya, tambahkan <firewallRule></firewallRule> section baru didalam single <firewallRules></firewallRules> section.

Result :

Jika Query 'Post' nya valid akan mendapat response "201 Create".

Happy Query

Leave a Comment