Terraform是由HashiCorp開源的開發者工具,支持以代碼的形式管理云基礎設施。作為與Terraform集成的主流云廠商之一,阿里云已在Terraform社區發布了多個云安全中心相關的資源(Resource)和數據源(Data Source)。您可以使用Terraform管理這些資源,滿足通過簡單編碼自動化部署、持續演進云基礎設施等業務訴求。本文介紹如何使用Terraform快速開通云安全中心資源。
前提條件
已安裝Terraform運行環境。阿里云支持以下方式使用Terraform:
在本地安裝和配置Terraform:需要您根據自己的開發環境安裝對應的Terraform版本并配置您的阿里云身份憑證。
請確保安裝的Terraform版本不低于v0.14,且alicloud版本不低于v1.199.0+。
在Cloud Shell中使用Terraform:Cloud Shell預裝了Terraform組件并配置好身份憑證。登錄狀態下您可直接在Cloud Shell中運行Terraform命令。
上述方式并無優劣之分,您可以根據業務場景和使用習慣選擇。本文以使用Cloud Shell為例,介紹如何在Cloud Shell中快速創建云安全中心實例。
開通云安全中心實例
創建并進入執行目錄。
mkdir /usr/local/terraform cd /usr/local/terraform
說明您需要為每個Terraform項目創建一個獨立的執行目錄。
創建terraform.tf文件,并配置文件內容。
vim terraform.tf
terraform.tf文件內容填寫如下:
resource "alicloud_threat_detection_instance" "default" { version_code = "level2" buy_number = "30" payment_type = "Subscription" period = 1 renewal_status = "ManualRenewal" sas_sls_storage = "100" sas_anti_ransomware = "100" container_image_scan = "30" sas_webguard_boolean = "1" sas_webguard_order_num = "100" sas_sc = "false" honeypot_switch = "1" honeypot = "32" sas_sdk_switch = "1" sas_sdk = "1000" }
配置項
必填
說明
示例值
version_code
是
云安全中心的版本。取值:
level7:防病毒版
level3:高級版
level2:企業版
level8:旗艦版
level10:僅采購增值服務
level2
buy_number
否
要防護的服務器臺數。
說明僅當version_code設置為level3、level2或level8時,需要配置該參數。
30
v_core
否
要防護的服務器總核數( Vmcore總數)。
說明僅當version_code設置為level7或level8時,需要配置該參數。
100
payment_type
是
付費模式。取值:
Subscription:預付費模式。
Subscription
period
否
預付費周期。單位:月。
取值:1、6、12、24、36、60。
1
renewal_status
否
自動續費狀態,取值:
AutoRenewal:自動續費。
ManualRenewal(默認):手動續費。
ManualRenewal
renewal_period
否
自動續費周期,單位:月。
說明當renewal_status設置為AutoRenewal時,需要配置該參數。
12
sas_sls_storage
否
日志分析容量,單位:GB。
取值范圍:0~600,000,步長為10。
說明應《網絡安全法》日志至少存儲180天的要求,推薦每臺服務器配置40 GB日志存儲容量。
100
sas_anti_ransomware
否
防勒索病毒的防護數據容量。單位:GB。
取值范圍:10~9,999,999,999,步長為10。
100
container_image_scan
否
容器鏡像安全掃描,建議設置為每個月需要進行容器漏洞檢測的鏡像數量。單位:個。
取值范圍:0~200,000,步長為20。
說明云安全中心是以摘要(Digest)值唯一標識一個鏡像,鏡像的摘要值不變時,只在第一次掃描時消耗一個鏡像安全掃描次數。摘要值變化后,執行掃描操作會重新消耗鏡像安全掃描次數。例如,您需要檢測10個鏡像,在購買云安全中心服務的期限內,預計鏡像更新總次數為20次(即所有鏡像摘要值變更總次數為20次),則容器鏡像安全掃描數量需要設置為30(即10+20)。
30
sas_webguard_boolean
否
是否開啟網絡防篡改。取值:
1:是
0:否
1
sas_webguard_order_num
否
網頁防篡改的檢測授權數。單位:次。
取值范圍:0~9,999。
說明僅當sas_webguard_boolean設置為1時,需要配置該參數。
100
sas_sc
否
是否開通安全大屏。取值:
true:是
false:否
說明僅version_code設置為level3、level2或level8時,支持該功能。
false
honeypot_switch
否
是否開啟云蜜罐。取值:
1:是
2:否
1
honeypot
否
云蜜罐授權數。單位:個。
取值范圍:20~500。
說明僅當honeypot_switch設置為1時,需要配置該參數。
20
sas_sdk_switch
否
是否開啟惡意文件檢測SDK。取值:
1:是
0:否
1
sas_sdk
否
惡意文件檢測次數。單位:萬次。
取值范圍:10~9,999,999,999,步長為10。
10
執行
terraform init
命令,初始化配置。返回如下信息時,表示初始化完成:
Terraform has been successfully initialized!
執行
terraform plan
命令,生成資源規劃。執行
terraform apply
命令,創建云安全中心實例。當Cloud Shell返回以下信息時,輸入yes。
Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:
返回如下信息時,表示創建成功:
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
升級與降配
您可以通過Terraform對已創建的云安全中心實例進行升級與降配操作。
創建并進入執行目錄。
mkdir /usr/local/terraform cd /usr/local/terraform
說明您需要為每個Terraform項目創建一個獨立的執行目錄。
創建terraform.tf文件,并配置文件內容。
vim terraform.tf
terraform.tf文件內容填寫如下:
resource "alicloud_threat_detection_instance" "default" { modify_type = "Upgrade" version_code = "level2" buy_number = "30" payment_type = "Subscription" period = 1 renewal_status = "ManualRenewal" sas_sls_storage = "100" sas_anti_ransomware = "100" container_image_scan = "30" sas_webguard_boolean = "1" sas_webguard_order_num = "100" sas_sc = "false" honeypot_switch = "1" honeypot = "32" sas_sdk_switch = "1" sas_sdk = "1000" }
配置項
必填
說明
示例值
modify_type
是
升降配模式。取值:
Upgrade:升級配置。
Downgrade:降級配置。
Upgrade
version_code
是
云安全中心的版本。取值:
level7:防病毒版
level3:高級版
level2:企業版
level8:旗艦版
level10:僅采購增值服務
level2
buy_number
否
要防護的服務器臺數。
說明僅當version_code設置為level3、level2或level8時,需要配置該參數。
30
v_core
否
要防護的服務器總核數( Vmcore總數)。
說明僅當version_code設置為level7或level8時,需要配置該參數。
100
payment_type
是
付費模式。取值:
Subscription:預付費模式。
Subscription
period
否
預付費周期。單位:月。
取值:1、6、12、24、36、60。
1
renewal_status
否
自動續費狀態,取值:
AutoRenewal:自動續費。
ManualRenewal(默認):手動續費。
ManualRenewal
renewal_period
否
自動續費周期,單位:月。
說明當renewal_status設置為AutoRenewal時,需要配置該參數。
12
sas_sls_storage
否
日志分析容量,單位:GB。
取值范圍:0~600,000,步長為10。
說明應《網絡安全法》日志至少存儲180天的要求,推薦每臺服務器配置40 GB日志存儲容量。
100
sas_anti_ransomware
否
防勒索病毒的防護數據容量。單位:GB。
取值范圍:10~9,999,999,999,步長為10。
100
container_image_scan
否
容器鏡像安全掃描,建議設置為每個月需要進行容器漏洞檢測的鏡像數量。單位:個。
取值范圍:0~200,000,步長為20。
說明云安全中心是以摘要(Digest)值唯一標識一個鏡像,鏡像的摘要值不變時,只在第一次掃描時消耗一個鏡像安全掃描次數。摘要值變化后,執行掃描操作會重新消耗鏡像安全掃描次數。例如,您需要檢測10個鏡像,在購買云安全中心服務的期限內,預計鏡像更新總次數為20次(即所有鏡像摘要值變更總次數為20次),則容器鏡像安全掃描數量需要設置為30(即10+20)。
30
sas_webguard_boolean
否
是否開啟網絡防篡改。取值:
1:是
0:否
1
sas_webguard_order_num
否
網頁防篡改的檢測授權數。單位:次。
取值范圍:0~9,999。
說明僅當sas_webguard_boolean設置為1時,需要配置該參數。
100
sas_sc
否
是否開通安全大屏。取值:
true:是
false:否
說明僅version_code設置為level3、level2或level8時,支持該功能。
false
honeypot_switch
否
是否開啟云蜜罐。取值:
1:是
2:否
1
honeypot
否
云蜜罐授權數。單位:個。
取值范圍:20~500。
說明僅當honeypot_switch設置為1時,需要配置該參數。
20
sas_sdk_switch
否
是否開啟惡意文件檢測SDK。取值:
1:是
0:否
1
sas_sdk
否
惡意文件檢測次數。單位:萬次。
取值范圍:10~9,999,999,999,步長為10。
10
執行
terraform init
命令,初始化配置。返回如下信息時,表示初始化完成:
Terraform has been successfully initialized!
執行
terraform plan
命令,生成資源規劃。執行
terraform apply
命令,執行云安全中心實例變配。當Cloud Shell返回以下信息時,輸入yes。
Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:
返回如下信息時,表示創建成功:
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.