Terraform集成示例
Terraform是一種開源工具,用于安全高效地預(yù)配和管理云基礎(chǔ)結(jié)構(gòu)。您可以使用Terraform管理配置審計資源。本文為您介紹如何通過Terraform創(chuàng)建一個配置審計的投遞渠道。
支持資源列表
以下是支持Terraform編排和使用配置審計的部分資源和數(shù)據(jù)源清單,請參見配置審計Terraform資源和數(shù)據(jù)源。如果您還不了解Terraform,請參見什么是Terraform。
資源類型 | 資源鏈接 | 說明 |
Resources | 創(chuàng)建賬號組合規(guī)包 | |
創(chuàng)建賬號組規(guī)則 | ||
創(chuàng)建投遞渠道 | ||
創(chuàng)建賬號組 | ||
創(chuàng)建合規(guī)包 | ||
設(shè)置資源監(jiān)控范圍 | ||
創(chuàng)建或更新投遞渠道(推薦使用) | ||
創(chuàng)建或更新投遞渠道(不推薦) | ||
創(chuàng)建規(guī)則修正 | ||
新建或修改規(guī)則 | ||
Data Sources | 查詢賬號組合規(guī)包 | |
查詢賬號組規(guī)則 | ||
查詢投遞渠道基本信息 | ||
查詢賬號組 | ||
查詢指定賬號組合規(guī)包信息 | ||
查詢資源監(jiān)控范圍 | ||
查詢投遞渠道(推薦使用) | ||
查詢投遞渠道(不推薦) | ||
查詢規(guī)則信息 |
操作步驟
配置權(quán)限
執(zhí)行Terraform模板需要RAM用戶權(quán)限,我們需要創(chuàng)建一個RAM用戶,并獲取AccessKey,添加權(quán)限策略。該AccessKey會配置為Terraform工具的環(huán)境變量。您需要為RAM用戶添加以下權(quán)限:
AliyunConfigFullAccess:管理配置審計資源的權(quán)限。
阿里云賬號擁有所有API的訪問權(quán)限,風(fēng)險很高。強烈建議您創(chuàng)建并使用RAM用戶進行API訪問或日常運維。請根據(jù)業(yè)務(wù)的實際情況按需分配權(quán)限后進行接口調(diào)用。RAM用戶需具備操作配置審計資源的權(quán)限。具體操作,請參見使用RAM進行訪問控制。
安裝Terraform
在本地安裝和配置Terraform,請參見在本地安裝和配置Terraform。
安裝完成后,您可以打開命令行終端,在其中輸入
terraform version
,若返回版本信息表示已成功安裝。如果您不想安裝Terraform,可以使用阿里云提供的在線服務(wù)Cloud Shell,其中內(nèi)置了Terraform的運行環(huán)境。
編寫模板
創(chuàng)建一個名為main.tf
文件,填入以下內(nèi)容,用于創(chuàng)建一個投遞渠道。
variable "name" {
default = "tf-example-sls"
}
data "alicloud_account" "this" {}
data "alicloud_regions" "this" {
current = true
}
resource "alicloud_log_project" "default" {
name = var.name
}
resource "alicloud_log_store" "default" {
name = var.name
project = alicloud_log_project.default.name
}
resource "alicloud_config_delivery" "default" {
configuration_item_change_notification = true
non_compliant_notification = true
delivery_channel_name = var.name
delivery_channel_target_arn = "acs:log:${data.alicloud_regions.this.ids.0}:${data.alicloud_account.this.id}:project/${alicloud_log_project.default.name}/logstore/${alicloud_log_store.default.name}"
delivery_channel_type = "SLS"
description = var.name
}
更多關(guān)于alicloud_config_delivery
資源類型的配置信息,請參見配置審計Terraform資源和數(shù)據(jù)源。
運行模板
該示例以Windows操作系統(tǒng)為例,在其他操作系統(tǒng)中,運行命令的具體方式可能會有所不同。
初始化加載模塊,包括Provider等模板。
terraform init
驗證模板語法是否正確。
terraform validate
創(chuàng)建執(zhí)行計劃。
terraform plan
部署模板。
terraform apply
執(zhí)行命令后輸入
yes
即可真正變更資源。您可以通過terraform destroy
釋放當(dāng)前模板創(chuàng)建的資源。您可以通過OpenAPI、SDK或者配置審計控制臺等方式,檢查操作是否正確完成。