Gerenciando a Wallarm usando Terraform¶
Se você usa Terraform para gerenciar suas infraestruturas, pode ser uma opção confortável para você usá-lo para gerenciar a Wallarm. O provedor Wallarm para Terraform permite isso.
Requisitos¶
-
Conhecimento básico do Terraform
-
Binário do Terraform 0.15.5 ou superior
-
Acesso à conta com a função Administrador na Console Wallarm na Nuvem EUA ou EU Cloud
-
Acesso a
https://us1.api.wallarm.com
se estiver trabalhando com a Nuvem Wallarm dos EUA ou ahttps://api.wallarm.com
se estiver trabalhando com a Nuvem Wallarm da EU. Por favor, certifique-se de que o acesso não está bloqueado por um firewall
Instalando o provedor¶
-
Copie e cole na configuração do Terraform:
-
Execute
terraform init
.
Conectando o provedor à sua conta Wallarm¶
Para conectar o provedor Terraform da Wallarm à sua conta Wallarm na Nuvem EUA ou Nuvem EU, defina as credenciais de acesso à API na configuração do Terraform:
-
<WALLARM_API_TOKEN>
permite o acesso à API de sua conta Wallarm. Como conseguir it → -
<CLIENT_ID>
é ID do inquilino (cliente); requerido apenas quando a função de multilocação é usada. Pegue oid
(nãouuid
) conforme descrito aqui.
Veja os detalhes na documentação do provedor Wallarm.
Gerenciando a Wallarm com provedor¶
Com o provedor Wallarm, via Terraform você pode gerenciar:
-
Nós em sua conta
-
IPs na lista de negação, lista de permissão e lista cinza
-
Modo de filtração global
-
Escopo Scanner
Provedor Terraform Wallarm e nós CDN
Atualmente, nós CDN não podem ser gerenciados por meio do provedor Terraform Wallarm.
Veja como realizar as operações listadas na documentação do provedor Wallarm.
Exemplo de uso¶
Abaixo está um exemplo de configuração Terraform para Wallarm:
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"
}
}
}
Salve o arquivo de configuração e depois execute terraform apply
.
A configuração faz o seguinte:
-
Conecta à Nuvem EUA → conta da empresa com o token de API Wallarm fornecido.
-
resource "wallarm_global_mode" "global_block"
→ define o modo de filtração global paraConfigurações locais (padrão)
, o que significa que o modo de filtração é controlado localmente em cada nó. -
resource "wallarm_application" "tf_app"
→ cria aplicativo chamadoTerraform Application 001
com ID42
. -
resource "wallarm_rule_mode" "tiredful_api_mode"
→ cria a regra que define o modo de filtração de tráfego paraMonitoring
para todas as solicitações enviadas através do protocolo HTTPS para o aplicativo com ID42
.
Informações adicionais sobre Wallarm e Terraform¶
O Terraform suporta uma série de integrações (provedores) e configurações prontas para usar (módulos) disponíveis para usuários através do registro público, fornecido por diversos fornecedores.
Para este registro, a Wallarm publicou:
-
O provedor Wallarm para gerenciar a Wallarm via Terraform. Descrito no artigo atual.
-
O módulo Wallarm para implantar o nó na AWS a partir do ambiente compatível com Terraform.
Essas duas são ferramentas independentes usadas para diferentes propósitos. Não é necessário usar um para usar o outro.