Terraform Kullanarak Wallarm Yönetimi¶
Eğer altyapılarınızı yönetmek için Terraform kullanıyorsanız, Wallarm'ı yönetmek için de bu aracı kullanmak sizin için uygun bir seçenek olabilir. Terraform için Wallarm provider bu imkanı sunar.
Gereksinimler¶
-
Terraform temellerini bilmek
-
Terraform 0.15.5 veya daha üstü binary
-
US veya EU Cloud içindeki Wallarm Console’da Administrator rolüne sahip hesaba erişim
-
US Wallarm Cloud ile çalışıyorsanız
https://us1.api.wallarm.com
ya da EU Wallarm Cloud ile çalışıyorsanızhttps://api.wallarm.com
erişimi. Lütfen erişimin bir güvenlik duvarı tarafından engellenmediğinden emin olun
Provider Kurulumu¶
-
Terraform konfigürasyonunuza aşağıdakini kopyalayıp yapıştırın:
-
terraform init
komutunu çalıştırın.
Provider'ı Wallarm Hesabınıza Bağlama¶
Wallarm Terraform provider'ını US veya EU Cloud üzerindeki Wallarm hesabınıza bağlamak için, Terraform konfigürasyonunuzda API erişim kimlik bilgilerinizi ayarlayın:
-
<WALLARM_API_TOKEN>
, Wallarm hesabınızın API erişimine izin verir. How to get it → -
<CLIENT_ID>
, kiracı (client) ID’sidir; yalnızca multitenancy özelliği kullanılıyorsa gereklidir. Burada açıklandığı gibiid
(uuid değil) alın buraya bakın.
Wallarm provider dökümantasyonunda detayları inceleyebilirsiniz.
Provider ile Wallarm Yönetimi¶
Wallarm provider sayesinde, Terraform üzerinden şunları yönetebilirsiniz:
-
Global filtration mode
-
Scanner kapsamı
Wallarm Terraform provider ve Edge Düğümleri
Şu anda, Edge inline ve connector düğümleri Wallarm Terraform provider aracılığıyla yönetilememektedir.
Liste halinde belirtilen işlemlerin nasıl gerçekleştirileceğini Wallarm provider dökümantasyonunda görebilirsiniz.
Kullanım Örneği¶
Aşağıda Wallarm için Terraform konfigürasyon örneği verilmiştir:
provider "wallarm" {
api_token = "<WALLARM_API_TOKEN>"
api_host = "https://us1.api.wallarm.com"
}
resource "wallarm_global_mode" "global_block" {
waf_mode = "default"
}
resource "wallarm_application" "tf_app" {
name = "Terraform Application 001"
app_id = 42
}
resource "wallarm_rule_mode" "tiredful_api_mode" {
mode = "monitoring"
action {
point = {
instance = 42
}
}
action {
type = "regex"
point = {
scheme = "https"
}
}
}
Konfigürasyon dosyasını kaydedin, ardından terraform apply
komutunu çalıştırın.
Konfigürasyonun yaptığı işlemler şunlardır:
-
Sağlanan Wallarm API token ile US Cloud’daki şirket hesabına bağlanır.
-
resource "wallarm_global_mode" "global_block"
→ global filtreleme modunuLocal settings (default)
olarak ayarlar; bu, filtreleme modunun her düğümde yerel olarak kontrol edildiği anlamına gelir. -
resource "wallarm_application" "tf_app"
→ ID’si42
olanTerraform Application 001
adlı uygulamayı oluşturur. -
resource "wallarm_rule_mode" "tiredful_api_mode"
→ ID’si42
olan uygulamaya HTTPS protokolü üzerinden gönderilen tüm istekler için trafik filtreleme modunuMonitoring
olarak ayarlar.
Wallarm ve Terraform Hakkında Daha Fazla Bilgi¶
Terraform, kullanıcıların public registry üzerinden erişebildiği (providers) entegrasyonları ve hazır konfigürasyonları (modules) destekler; bu registry birçok satıcı tarafından oluşturulmaktadır.
Bu registry'e Wallarm tarafından şunlar yayınlanmıştır:
-
Terraform üzerinden Wallarm'ı yönetmek için Wallarm provider. Bu makalede açıklanmıştır.
-
Terraform uyumlu ortamdan AWS’ye düğümü dağıtmak için Wallarm module.
Bu iki araç, farklı amaçlara hizmet eden bağımsız araçlardır. Birini kullanmak diğerine ihtiyaç duymaz.