Terraform是一種開源工具,用于安全高效地預配和管理云基礎結構。您可以使用Terraform管理操作審計資源。本文為您演示如何通過Terraform創建一個操作審計的跟蹤。
支持資源列表
支持Terraform編排和使用操作審計的部分資源和數據源清單,請參見操作審計Terraform資源和數據源。如果您還不了解Terraform,請參見什么是Terraform。
資源類型 | 資源鏈接 | 說明 |
Resource | 全局事件存儲地域。 | |
數據回補任務。 | ||
跟蹤。 | ||
跟蹤。 | ||
Data Source | 全局事件存儲地域。 | |
數據回補任務。 | ||
跟蹤。 | ||
跟蹤。 |
操作步驟
配置權限
執行Terraform模板需要RAM用戶權限,我們需要創建一個RAM用戶,并獲取AccessKey,添加權限策略。該AccessKey會配置為Terraform工具的環境變量。Terraform模板會創建操作審計跟蹤,您需要為RAM用戶添加以下權限:
AliyunActionTrailFullAccess:管理操作審計(ActionTrail)的權限。
AliyunLogFullAccess:管理日志服務(Log)的權限。
阿里云賬號擁有所有API的訪問權限,風險很高。強烈建議您創建并使用RAM用戶進行API訪問或日常運維。請根據業務的實際情況按需分配權限后進行接口調用。RAM用戶需具備操作審計和日志服務資源的權限。具體操作,請參見為RAM用戶授權。
安裝Terraform
在本地安裝和配置Terraform,請參見在本地安裝和配置Terraform。
安裝完成后,您可以打開命令行終端,輸入
terraform version
,看到返回版本信息表示已成功安裝。如果您不想安裝Terraform,可以使用阿里云提供的在線服務Cloud Shell,其中內置了Terraform的運行環境。
編寫模板
創建一個名為main.tf
文件,填入以下內容,用于創建一個跟蹤。
variable "default_trail_name" {
default = "tf-example"
}
resource "random_integer" "default" {
min = 10000
max = 99999
}
data "alicloud_regions" "example" {
current = true
}
data "alicloud_account" "example" {}
resource "alicloud_log_project" "example" {
project_name = "${var.default_trail_name}-${random_integer.default.result}"
description = "tf actiontrail example"
}
data "alicloud_ram_roles" "example" {
name_regex = "AliyunServiceRoleForActionTrail"
}
resource "alicloud_actiontrail_trail" "example" {
trail_name = var.default_trail_name
sls_write_role_arn = data.alicloud_ram_roles.example.roles.0.arn
sls_project_arn = "acs:log:${data.alicloud_regions.example.regions.0.id}:${data.alicloud_account.example.id}:project/${alicloud_log_project.example.project_name}"
}
更多關于alicloud_actiontrail_trail
資源類型的配置信息,請參見alicloud_actiontrail_trail。
運行模板
該示例以Windows操作為例,在其他操作系統中,運行命令的具體方式可能會有所不同。
初始化加載模塊,包括Provider等模板。
terraform init
驗證模板語法是否正確。
terraform validate
創建執行計劃。
terraform plan
部署模板。
terraform apply
本案例部署時的部分返回日志。
輸入yes后按Enter鍵,即可真正變更資源。您可以通過
terraform destroy
釋放當前模板創建的資源。創建跟蹤成功后,您可以通過OpenAPI、SDK或操作審計控制臺查看新創建的跟蹤。