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.