Cloudflare додала в Terraform-провайдер нові ресурси для керування AI Security for Apps на рівні конфігурації коду. У матеріалі розбирається підхід авторів Cloudflare: як вмикати захист, налаштовувати власні теми (custom topics) та пов'язувати це з правилами WAF через один Terraform-проєкт.
Що саме з'явилося в Terraform-провайдері Cloudflare
Починаючи з версії 5.29.0 Terraform Cloudflare provider, можна керувати AI Security for Apps двома окремими ресурсами:
cloudflare_ai_security— вмикає або вимикає AI Security for Apps для конкретної зони.cloudflare_ai_security_custom_topics— задає кастомні теми, за якими AI Security for Apps буде оцінювати кожен промпт.
Це дозволяє описати політику захисту генеративних AI-функцій інфраструктурним кодом, а не змінювати налаштування вручну в панелі Cloudflare.
Увімкнення AI Security for Apps для зони
Базовий крок — прив'язати AI Security for Apps до вашої Cloudflare-зони через ресурс cloudflare_ai_security. Автори наводять мінімальний приклад, де для зони з ідентифікатором у змінній var.cloudflare_zone_id функція просто вмикається:
resource "cloudflare_ai_security" "zone_ai_security" {
zone_id = var.cloudflare_zone_id
enabled = true
}
resource "cloudflare_ai_security_custom_topics" "zone_custom_topics" {
zone_id = var.cloudflare_zone_id
topics = [
{
label = "competitors"
topic = "seeking info on competitors"
}
]
}
Ключові моменти такого застосування:
zone_idпосилається на вже наявну зону в Cloudflare, яку ви, як правило, описуєте іншим Terraform-ресурсом або передаєте через змінну середовища/вхідну змінну.enabled = trueробить AI Security for Apps активним для всієї зони. Зміна наfalseдасть змогу керувати відключенням тією ж декларативною конфігурацією.- Ресурс не задає політику блокувань напряму — він підключає аналіз промптів, який далі можна використати у правилах WAF.
Custom topics — як задати власні «чутливі» теми
AI Security for Apps уже має стандартний набір unsafe topics, але часто компаніям потрібні додаткові внутрішні категорії. Для цього у провайдері з'явився ресурс cloudflare_ai_security_custom_topics.
У наведеному Cloudflare прикладі оголошується одна користувацька тема:
label = "competitors"— короткий ідентифікатор, який зручно використовувати в правилах.topic = "seeking info on competitors"— текстовий опис теми, на яку має реагувати система, коли користувацький промпт стосується запиту інформації про конкурентів.
Ресурс cloudflare_ai_security_custom_topics приймає масив таких об'єктів у полі topics, тобто в одній конфігурації можна задати кілька тем. Обмеження та точний формат описаний у документації Cloudflare за посиланням на custom topics, яке є в оригінальному матеріалі.
Поєднання з правилами WAF через cloudflare_ruleset
Після підключення AI Security for Apps і опису custom topics, поля цього модуля можна використовувати в WAF-правилах, які ви керуєте через ресурс cloudflare_ruleset. Автори підкреслюють, що так у вас:
- налаштування детекції (AI Security for Apps),
- опис тем (стандартні та custom topics),
- та самі правила пом'якшення/блокування
залишаються в одному Terraform-проєкті. Це зручніше для рев'ю, застосування через CI/CD та відкату змін.
Типовий сценарій використання, який випливає з підходу Cloudflare:
- AI Security for Apps оцінює промпти на відповідність стандартним і custom topics.
- У
cloudflare_rulesetви перевіряєте ці оцінки в умовах правил. - Залежно від результату, застосовуєте дію: блокувати запит, показувати помилку, логувати подію, відправляти в окремий журнал тощо.
Усі такі правила можна тримати у спільних файлах Terraform поряд з іншими WAF-налаштуваннями.
Де подивитися додаткові приклади
Cloudflare наводить лише один короткий фрагмент конфігурації в changelog, але посилається на окрему сторінку з розширеними Terraform-прикладами для AI Security for Apps. Автори рекомендують відкрити розділ Terraform configuration examples в офіційній документації AI Security for Apps за вказаним в оригіналі URL.
Там можна знайти більше варіантів:
- конфігурації з кількома custom topics,
- інтеграції з різними правилами в
cloudflare_ruleset, - та деталізацію доступних полів для умов і дій.
Таким чином, нові ресурси в Terraform-провайдері дістають до рівня коду весь ланцюжок: від увімкнення AI Security for Apps до визначення власних тем і підключення їх у правилах WAF.
Джерело: Cloudflare Changelog