# Security - Terraform Resources

import DocButton from '~/components/webkit/DocButton.vue';

<DocButton href="https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/firewall_main_setting" label="Ver no Terraform Registry" kind="secondary" size="medium" />

Proteja suas aplicações com os recursos de segurança da Azion. Gerencie firewall, WAF e network lists através do Terraform.

---


Os recursos de segurança permitem configurar proteção contra ameaças, bloqueio por geolocalização, rate limiting e muito mais.

### Recursos Disponíveis

| Recurso | Descrição |
|---------|-----------|
| [`azion_firewall_main_setting`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/firewall_main_setting) | Configurações principais do firewall |
| [`azion_firewall_functions_instance`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/firewall_functions_instance) | Instâncias de function no firewall |
| [`azion_waf_rule_set`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/waf_rule_set) | Conjuntos de regras WAF |
| [`azion_network_list`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/network_list) | Listas de rede (IPs, CIDRs, países) |

### Data Sources Disponíveis

| Data Source | Descrição |
|--------------|-----------|
| [`azion_firewall_main_settings`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/firewall_main_settings) | Consulta configurações do firewall |
| [`azion_firewall_function_instances`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/firewall_function_instances) | Consulta instâncias de function |
| [`azion_network_lists`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/network_lists) | Consulta network lists |
| [`azion_waf_rule_sets`](https://registry.terraform.io/providers/aziontech/azion/latest/docs/data-sources/waf_rule_sets) | Consulta conjuntos de regras WAF |

---

## azion_firewall_main_setting

### Exemplo Básico

```hcl
resource "azion_firewall_main_setting" "example" {
  name  = "meu-firewall"
  active = true
  
  # Módulos ativados
}
```

### Argumentos Principais

| Argumento | Tipo | Obrigatório | Descrição |
|-----------|------|--------------|-----------|
| `name` | string | Sim | Nome do firewall |
| `active` | bool | Não | Se o firewall está ativo |

Para a lista completa de argumentos, consulte o [Terraform Registry](https://registry.terraform.io/providers/aziontech/azion/latest/docs/resources/firewall_main_setting).

---

## azion_network_list

### Exemplo Básico

```hcl
resource "azion_network_list" "blocked_ips" {
  name = "ips-bloqueados"
  list_type = "ip_cidr"
  
  # Lista de IPs/CIDRs
}
```

### Argumentos Principais

| Argumento | Tipo | Obrigatório | Descrição |
|-----------|------|--------------|-----------|
| `name` | string | Sim | Nome da lista |
| `list_type` | string | Sim | Tipo da lista (ip_cidr, countries, asns) |

---

## azion_waf_rule_set

### Exemplo Básico

```hcl
resource "azion_waf_rule_set" "example" {
  name = "meu-waf-rules"
  
  # Configurações do WAF
}
```

---

## Exemplo Completo

```hcl
terraform {
  required_providers {
    azion = {
      source  = "aziontech/azion"
      version = "2.0.0"
    }
  }
}

provider "azion" {
  api_token = var.api_token
}

# Criar network list para IPs bloqueados
resource "azion_network_list" "blocked_ips" {
  name      = "ips-bloqueados"
  list_type = "ip_cidr"
}

# Criar firewall
resource "azion_firewall_main_setting" "my_firewall" {
  name   = "meu-firewall"
  active = true
  
  # Vincular ao workload/application
}

# Criar WAF rule set
resource "azion_waf_rule_set" "my_waf" {
  name = "meu-waf"
  
  # Configurações do WAF
}

output "firewall_id" {
  value = azion_firewall_main_setting.my_firewall.id
}
```

---

## Recursos Relacionados

- [Applications](/pt-br/documentacao/produtos/terraform-provider/resources/applications/) - Gerencie aplicações
- [DNS](/pt-br/documentacao/produtos/terraform-provider/resources/dns/) - Gerencie DNS
- [Certificates](/pt-br/documentacao/produtos/terraform-provider/resources/certificates/) - Gerencie certificados
- [Guia de Migração](/pt-br/documentacao/produtos/terraform-provider/migration-v3-to-v4/) - Migre da v1.x para v2.0