通过Terraform快速开通云安全中心

更新时间:2025-03-07 10:09

Terraform是由HashiCorp开源的开发者工具,支持以代码的形式管理云基础设施。作为与Terraform集成的主流云厂商之一,阿里云已在Terraform社区发布了多个云安全中心相关的资源(Resource)和数据源(Data Source)。您可以使用Terraform管理这些资源,满足通过简单编码自动化部署、持续演进云基础设施等业务诉求。本文介绍如何使用Terraform快速开通云安全中心资源。

说明

当前示例代码支持一键运行,您可以直接运行代码。一键运行

前提条件

  • 由于阿里云账号(主账号)具有资源的所有权限,一旦发生泄露将面临重大风险。建议您使用RAM用户,并为该RAM用户创建AccessKey,具体操作,请参见创建RAM用户创建AccessKey

  • 为运行Terraform命令的RAM用户绑定以下最小权限策略,以获取管理本示例所涉及资源的权限。更多信息,请参见为RAM用户授权

    该权限策略允许RAM用户描述、修改和创建云安全中心的相关资源。请根据实际情况调整策略中的动作和资源范围。

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "sas:Describe*",  // 允许查看云安全中心的相关信息
                    "sas:CreateInstance",  // 允许创建云安全中心实例
                    "sas:UpdateInstance",  // 允许升级云安全中心实例
                    "sas:Modify*"          // 如果有修改其他设置的需求,可以添加该参数
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:DescribeInstances"  // 可能需要查询ECS实例的权限,以便于关联到云安全中心
                ],
                "Resource": "*"
            }
        ]
    }

准备工作

准备Terraform运行环境,您可以选择以下任一方式来使用Terraform。

  • Terraform Explorer中使用Terraform:阿里云提供了Terraform的在线运行环境,您无需安装Terraform,登录后即可在线使用和体验Terraform。适用于零成本、快速、便捷地体验和调试Terraform的场景。

  • Cloud Shell:阿里云Cloud Shell中预装了Terraform的组件,并已配置好身份凭证,您可直接在Cloud Shell中运行Terraform的命令。适用于低成本、快速、便捷地访问和使用Terraform的场景。

  • 在本地安装和配置Terraform:适用于网络连接较差或需要自定义开发环境的场景。

使用的资源

alicloud_threat_detection_instance:用于配置和管理阿里云威胁检测服务的资源类型。

开通云安全中心实例

重要

开通云安全中心实例后,请务必谨慎管理其生命周期,避免产生不必要的费用。

下列代码示例以在杭州(cn-hangzhou)地域下开通云安全中心企业版包年包月实例为例,介绍开通云安全中心的具体操作。

  1. 创建并进入执行目录。

    mkdir /usr/local/terraform
    cd /usr/local/terraform
    说明

    您需要为每个Terraform项目创建一个独立的执行目录。

  2. 创建terraform.tf文件,并配置文件内容。

    vim terraform.tf

    terraform.tf文件内容填写如下:

    # 配置阿里云provider,设置区域为杭州(cn-hangzhou)
    provider "alicloud" {
      region = "cn-hangzhou"
    }
    
    # 定义资源名称,默认值为"terraform-example"
    variable "name" {
      default = "terraform-example"
    }
    
    # 版本代码,默认值为"level2"(企业版)
    variable "version_code" {
      default = "level2"
    }
    
    # 购买的服务器数量,默认值为"30"
    variable "buy_number" {
      default = "30"
    }
    
    # 付费模式,默认值为"Subscription"(订阅)
    variable "payment_type" {
      default = "Subscription"
    }
    
    # 预付费周期,默认值为"1"(单位:月)
    variable "period" {
      default = "1"
    }
    
    # 自动续订状态,默认值为"ManualRenewal"(手动续订)
    variable "renewal_status" {
      default = "ManualRenewal"
    }
    
    # 日志分析存储容量,默认值为"100"(单位:GB)
    variable "sas_sls_storage" {
      default = "100"
    }
    
    # 防勒索数据容量,默认值为"100"(单位:GB)
    variable "sas_anti_ransomware" {
      default = "100"
    }
    
    
    # 网页防篡改开关,默认值为"1"(是)
    variable "sas_webguard_boolean" {
      default = "1"
    }
    
    # 网页防篡改授权数量,默认值为"100"
    variable "sas_webguard_order_num" {
      default = "100"
    }
    
    # 云蜜罐开关,默认值为"1"(是)
    variable "honeypot_switch" {
      default = "1"
    }
    
    # 云蜜罐授权数,默认值为"32"
    variable "honeypot" {
      default = "32"
    }
    
    # 恶意文件检测SDK开关,默认值为"1"(是)
    variable "sas_sdk_switch" {
      default = "1"
    }
    
    # 恶意文件检测数量,默认值为"1000"(单位:10,000次)
    variable "sas_sdk" {
      default = "1000"
    }
    # 容器镜像安全扫描次数,步长为20,即只能填写20的倍数
    variable "container_image_scan_new" {
      default = "100"
    }
    #威胁分析与响应开关
    variable "Threat_analysis_switch_1" {
      default = "1"
    }
    #威胁分析与响应流量,步长为100,即只能填写100的倍数
    variable "threat_analysis_flow" {
      default = "100"
    }
    #威胁分析与响应与日志存储容量,默认值为"1000"(单位:GB)
    variable "threat_analysis_sls_storage" {
      default = "1000"
    }
    # 使用变量定义的安全威胁检测实例资源
    resource "alicloud_threat_detection_instance" "default" {
      version_code                = var.version_code
      buy_number                  = var.buy_number
      payment_type                = var.payment_type
      period                      = var.period
      renewal_status              = var.renewal_status
      sas_sls_storage             = var.sas_sls_storage
      sas_anti_ransomware         = var.sas_anti_ransomware
      container_image_scan_new    = var.container_image_scan_new
      sas_webguard_boolean        = var.sas_webguard_boolean
      sas_webguard_order_num      = var.sas_webguard_order_num
      honeypot_switch             = var.honeypot_switch
      honeypot                    = var.honeypot
      sas_sdk_switch              = var.sas_sdk_switch
      sas_sdk                     = var.sas_sdk
      threat_analysis_switch_1    = var.Threat_analysis_switch_1
      threat_analysis_flow        = var.threat_analysis_flow
      threat_analysis_sls_storage = var.threat_analysis_sls_storage
    }

    配置项

    必填

    说明

    示例值

    配置项

    必填

    说明

    示例值

    modify_type

    如需升降配,该参数值为必填值,需在上述代码中添加该配置项。取值:

    • Upgrade:升级配置。

    • Downgrade:降级配置。

    Upgrade

    version_code

    云安全中心的版本。取值:

    • level7:防病毒版

    • level3:高级版

    • level2:企业版

    • level8:旗舰版

    • level10:仅采购增值服务

    level2

    buy_number

    要防护的服务器台数。

    说明

    仅当version_code设置为level3level2level8时,需要配置该参数。

    30

    v_core

    要防护的服务器总核数( Vmcore总数)。

    说明

    仅当version_code设置为level7level8时,需要配置该参数。

    100

    payment_type

    付费模式。取值:

    • Subscription:预付费模式。

    Subscription

    period

    预付费周期。单位:月。

    取值:1612243660

    1

    renewal_status

    自动续费状态,取值:

    • AutoRenewal:自动续费。

    • ManualRenewal(默认):手动续费。

    ManualRenewal

    renewal_period

    自动续费周期,单位:月。

    说明

    renewal_status设置为AutoRenewal时,需要配置该参数。

    12

    sas_sls_storage

    日志分析容量,单位:GB。

    取值范围:0~600,000,步长为10。

    说明

    应《网络安全法》日志至少存储180天的要求,推荐每台服务器配置50GB日志存储容量。

    100

    sas_anti_ransomware

    防勒索病毒的数据备份容量。单位:GB。

    取值范围:10~9,999,999,999,步长为10。

    100

    container_image_scan_new

    容器镜像安全扫描,建议设置为每个月需要进行安全风险检测的镜像数量。单位:个。

    取值范围:0~200,000,步长为20,即只能填写20的倍数。

    说明

    云安全中心是以摘要(Digest)值唯一标识一个镜像,镜像的摘要值不变时,只在第一次扫描时消耗一个镜像安全扫描次数。摘要值变化后,执行扫描操作会重新消耗镜像安全扫描次数。例如,您需要检测10个镜像,在购买云安全中心服务的期限内,预计镜像更新总次数为20次(即所有镜像摘要值变更总次数为20次),则容器镜像安全扫描数量需要设置为30(即10+20)。

    100

    sas_webguard_boolean

    是否开启网页防篡改。取值:

    • 1:是

    • 0:否

    1

    sas_webguard_order_num

    网页防篡改的授权数。单位:次。

    取值范围:0~9,999。

    说明

    仅当sas_webguard_boolean设置为1时,需要配置该参数。

    100

    sas_sc

    是否开通安全大屏,取值:

    说明

    海外地域不支持购买,此参数设置后不生效。仅version_code设置为level3level2level8时,支持该功能。

    • true:是

    • false:否

    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

    Threat_analysis_switch_1

    威胁分析与响应开关。取值:

    • 0:否

    • 1:是

    1

    Threat_analysis_flow

    威胁分析与响应的日志接入流量。单位:GB/天。

    取值范围:100~9,999,999,999,步长为100。

    说明

    仅当Threat_analysis_switch_1为1时,需要配置该参数。

    100

    Threat_analysis_sls_storage

    威胁分析与响应的日志存储容量。单位:GB。

    取值范围:0~9,999,999,999,步长为1000。

    1000

  3. 执行terraform init命令,初始化配置。

    返回如下信息时,表示初始化完成:

    image

  4. 执行terraform apply命令,创建云安全中心实例。在执行过程中,根据提示输入yes并按下Enter键,等待命令执行完成。如果出现以下信息,则表示授权完成。

    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 show命令
通过控制台验证

您可以使用以下命令查询Terraform已创建的资源详细信息:

terraform show

image

登录云安全中心控制台,请检查企业版及相关功能是否已成功开通。

image

相关文档

  • 本页导读 (1)
  • 前提条件
  • 准备工作
  • 使用的资源
  • 开通云安全中心实例
  • 结果验证
  • 相关文档
文档反馈
phone 联系我们