Innavoto/terraform-provider-utem
GitHub: Innavoto/terraform-provider-utem
UTEM 安全平台的 Terraform Provider,支持以基础设施即代码方式管理集成、扫描计划、安全策略和通知规则。
Stars: 0 | Forks: 0
# UTEM Terraform Provider
以基础设施即代码的方式管理您的 [UTEM](https://utem.innavoto.com) 安全平台。
## 要求
- [Terraform](https://www.terraform.io/downloads) >= 1.0
- [Go](https://golang.org/doc/install) >= 1.22(用于从源码构建)
- UTEM API key([设置 → API Tokens](https://utem.innavoto.com/settings/api-tokens))
## 安装
```
terraform {
required_providers {
utem = {
source = "Innavoto/utem"
version = "~> 0.1"
}
}
}
```
## 身份验证
```
provider "utem" {
base_url = "https://utem.innavoto.com" # or UTEM_BASE_URL env var
api_key = var.utem_api_key # or UTEM_API_KEY env var (recommended)
tenant_id = "1" # or UTEM_TENANT_ID env var
}
```
## 资源
| 资源 | 描述 |
|----------|-------------|
| `utem_integration` | 管理集成(Slack、Jira、ServiceNow、Discord、Syslog) |
| `utem_scan_schedule` | 创建和管理自动化扫描计划 |
| `utem_policy` | 创建自定义安全策略(基于 Rego) |
| `utem_notification_rule` | 配置基于严重程度的通知路由 |
| `utem_webhook` | 注册用于事件投递的 webhook endpoint |
## 快速开始
```
# 配置 provider
provider "utem" {}
# 创建 Slack 集成
resource "utem_integration" "slack_alerts" {
name = "Security Alerts"
integration_type = "slack"
is_enabled = true
webhook_url = var.slack_webhook_url
description = "Critical and high severity finding alerts"
}
# 安排每晚全量扫描
resource "utem_scan_schedule" "nightly" {
name = "Nightly Full Scan"
target_host = "*.innavoto.com"
scan_type = "full"
cron_expression = "0 2 * * *"
is_enabled = true
modules = ["subdomain", "port_scan", "vuln_scan", "ssl_check"]
}
# 将关键发现路由到 Slack
resource "utem_notification_rule" "critical_slack" {
name = "Critical to Slack"
is_enabled = true
severities = ["critical", "high"]
channel_type = "slack"
channel_id = utem_integration.slack_alerts.id
}
# 为扫描完成注册 webhook
resource "utem_webhook" "ci_webhook" {
name = "CI Pipeline Webhook"
url = "https://ci.innavoto.com/hooks/utem"
is_enabled = true
events = ["scan.completed", "finding.created"]
}
```
## 从源码构建
```
git clone https://github.com/Innavoto/terraform-provider-utem.git
cd terraform-provider-utem
go build -o terraform-provider-utem
```
## 开发
```
# 运行测试
go test ./...
# 运行验收测试(需要 UTEM_BASE_URL + UTEM_API_KEY)
TF_ACC=1 go test ./...
# 本地安装以进行测试
go install .
```
## 发布者
Innavoto India Pvt Ltd — [utem.innavoto.com](https://utem.innavoto.com)
## 许可证
MPL-2.0
标签:ECS, EVTX分析, Go, Ruby工具, Terraform, 安全管理平台, 日志审计, 结构化提示词, 自动化配置