Tous les produits
Search
Centre de documentation

Security Center:Activate Security Center with Terraform

Dernière mise à jour :Sep 14, 2026

Alibaba Cloud met à disposition des blocs de ressources et de sources de données Terraform pour Security Center. Utilisez Terraform pour automatiser l'activation et la gestion de Security Center grâce à un code simple.

Remarque

L'exemple de code est prêt à l'emploi. Vous pouvez l'exécuter en un clic.

Prérequis

  • L'utilisation d'un compte root présente un risque de sécurité en cas de fuite des identifiants. Nous vous recommandons de créer un utilisateur RAM et de créer une AccessKey pour cet utilisateur RAM.

  • Cette stratégie permet à l'utilisateur RAM de décrire, modifier et créer des ressources Security Center. Ajustez les actions et l'étendue des ressources selon vos besoins.

    Attachez la stratégie IAM minimale suivante à l'utilisateur RAM qui exécute les commandes Terraform. Cela accorde les autorisations requises pour cet exemple. Accorder des autorisations à un utilisateur RAM.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "sas:Describe*",  // Allows viewing information about Security Center.
                    "sas:CreateInstance",  // Allows creating a Security Center instance.
                    "sas:UpdateInstance",  // Allows upgrading a Security Center instance.
                    "sas:Modify*"          // Add this action if you need to modify other settings.
                ],
                "Resource": "*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:DescribeInstances"  // May be required to query ECS instances to associate them with Security Center.
                ],
                "Resource": "*"
            }
        ]
    }

Préparation

Préparez un environnement d'exécution Terraform en utilisant l'une des méthodes suivantes.

Ressources utilisées

alicloud_threat_detection_instance : permet de provisionner et de gérer une instance Security Center.

Activer une instance Security Center

Important

Gérez attentivement le cycle de vie de l'instance après l'activation afin d'éviter des frais imprévus.

L'exemple suivant active une instance Security Center Enterprise basée sur un abonnement dans la région Chine (Hangzhou).

  1. Créez un répertoire de travail et accédez-y.

    mkdir /usr/local/terraform
    cd /usr/local/terraform
    Remarque

    Vous devez créer un répertoire de travail distinct pour chaque projet Terraform.

  2. Créez un fichier nommé terraform.tf et ajoutez la configuration.

    vim terraform.tf

    Ajoutez le contenu suivant :

    # Configure the Alibaba Cloud provider and set the region to China (Hangzhou).
    provider "alicloud" {
      region = "cn-hangzhou"
    }
    
    # Define the resource name. Default value: "terraform-example".
    variable "name" {
      default = "terraform-example"
    }
    
    # Security Center edition. Default value: "level2" (Enterprise).
    variable "version_code" {
      default = "level2"
    }
    
    # Number of servers to protect. Default value: "30".
    variable "buy_number" {
      default = "30"
    }
    
    # Billing method. Default value: "Subscription".
    variable "payment_type" {
      default = "Subscription"
    }
    
    # Subscription duration. Default value: "1" (in months).
    variable "period" {
      default = "1"
    }
    
    # Renewal mode. Default value: "ManualRenewal" (manual renewal).
    variable "renewal_status" {
      default = "ManualRenewal"
    }
    
    # Log storage capacity. Default value: "100" (in GB).
    variable "sas_sls_storage" {
      default = "100"
    }
    
    # Backup capacity for anti-ransomware. Default value: "100" (in GB).
    variable "sas_anti_ransomware" {
      default = "100"
    }
    
    # Web tamper-proofing switch. Default value: "1" (enabled).
    variable "sas_webguard_boolean" {
      default = "1"
    }
    
    # Quota for web tamper-proofing. Default value: "100".
    variable "sas_webguard_order_num" {
      default = "100"
    }
    
    # Cloud honeypot switch. Default value: "1" (enabled).
    variable "honeypot_switch" {
      default = "1"
    }
    
    # Quota for cloud honeypot. Default value: "32".
    variable "honeypot" {
      default = "32"
    }
    
    # Malicious file detection switch. Default value: "1" (enabled).
    variable "sas_sdk_switch" {
      default = "1"
    }
    
    # Quota for malicious file detection. Unit: 10,000 scans. Default value: "1000".
    variable "sas_sdk" {
      default = "1000"
    }
    # Number of container image scans. The value must be a multiple of 20.
    variable "container_image_scan_new" {
      default = "100"
    }
    # Agentic SOC switch.
    variable "threat_analysis_switch" {
      default = "1"
    }
    # Agentic SOC traffic. The value must be a multiple of 100. Default value: "100" (in GB/day).
    variable "threat_analysis_flow" {
      default = "100"
    }
    # Log storage capacity for Agentic SOC. Default value: "1000" (in GB).
    variable "threat_analysis_sls_storage" {
      default = "1000"
    }
    # Define the threat detection instance resource with variables.
    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      = var.threat_analysis_switch
      threat_analysis_flow        = var.threat_analysis_flow
      threat_analysis_sls_storage = var.threat_analysis_sls_storage
    }

    Paramètre

    Obligatoire

    Description

    Valeur d'exemple

    modify_type

    Non

    Requis lors de la mise à niveau ou de la rétrogradation d'une instance. Ajoutez ce paramètre au bloc de ressource. Valeurs valides :

    • Upgrade

    • Downgrade

    Upgrade

    version_code

    Oui

    L'édition de Security Center. Valeurs valides :

    • level7 : Anti-virus

    • level3 : Advanced

    • level2 : Enterprise

    • level8 : Ultimate

    • level10 : Value-added Plan

    level2

    buy_number

    Non

    Le nombre de serveurs à protéger.

    Remarque

    Ce paramètre est requis uniquement lorsque version_code est défini sur level3, level2 ou level8.

    30

    v_core

    Non

    Le nombre total de vCPU des serveurs à protéger.

    Remarque

    Ce paramètre est requis uniquement lorsque version_code est défini sur level7 ou level8.

    100

    payment_type

    Oui

    La méthode de facturation. Valeur valide :

    • Subscription

    Subscription

    period

    Non

    La durée de l'abonnement, en mois.

    Valeurs valides : 1, 6, 12, 24, 36 et 60.

    1

    renewal_status

    Non

    Le mode de renouvellement. Valeurs valides :

    • AutoRenewal : l'instance est renouvelée automatiquement.

    • ManualRenewal (par défaut) : l'instance doit être renouvelée manuellement.

    ManualRenewal

    renewal_period

    Non

    La durée du renouvellement automatique, en mois.

    Remarque

    Ce paramètre est requis lorsque renewal_status est défini sur AutoRenewal.

    12

    sas_sls_storage

    Non

    La capacité de stockage des journaux, en Go.

    Plage de valeurs : 0 à 600 000. La valeur doit être un multiple de 10.

    Remarque

    Pour se conformer à la loi sur la cybersécurité de la République populaire de Chine, qui exige que les journaux soient conservés pendant au moins 180 jours, nous vous recommandons d'allouer 50 Go de capacité de stockage des journaux par serveur.

    100

    sas_anti_ransomware

    Non

    La capacité de sauvegarde pour la fonctionnalité anti-ransomware, en Go.

    Plage de valeurs : 10 à 9 999 999 999. La valeur doit être un multiple de 10.

    100

    container_image_scan_new

    Non

    Le quota pour les analyses d'images de conteneurs. Définissez cette valeur sur le nombre attendu d'analyses mensuelles. Unité : images.

    Plage de valeurs : 0 à 200 000. La valeur doit être un multiple de 20.

    Remarque

    Une analyse n'est comptabilisée dans votre quota que la première fois qu'une image avec un digest unique est analysée. Si le digest de l'image change, l'analyse de l'image mise à jour consomme une autre unité de votre quota. Par exemple, si vous devez analyser 10 images et que vous prévoyez que leurs digests changeront 20 fois au total pendant la période d'abonnement, définissez le quota sur 30 (10 + 20).

    100

    sas_webguard_boolean

    Non

    Active ou désactive la protection contre la falsification de pages web. Valeurs valides :

    • 1 : active la fonctionnalité.

    • 0 : désactive la fonctionnalité.

    1

    sas_webguard_order_num

    Non

    Le quota pour la protection contre la falsification de pages web. Unité : autorisations.

    Plage de valeurs : 0 à 9 999.

    Remarque

    Ce paramètre est requis uniquement lorsque sas_webguard_boolean est défini sur 1.

    100

    sas_sc

    Non

    Active ou désactive le tableau de bord de sécurité. Valeurs valides :

    Remarque

    Cette fonctionnalité n'est pas disponible à l'achat dans les régions situées en dehors de la Chine continentale. Ce paramètre ne prend pas effet dans ces régions. Cette fonctionnalité est prise en charge uniquement lorsque version_code est défini sur level3, level2 ou level8.

    • true

    • false

    false

    honeypot_switch

    Non

    Active ou désactive le cloud honeypot. Valeurs valides :

    • 1 : active la fonctionnalité.

    • 2 : désactive la fonctionnalité.

    1

    honeypot

    Non

    Le quota pour le cloud honeypot. Unité : honeypots.

    Plage de valeurs : 20 à 500.

    Remarque

    Ce paramètre est requis uniquement lorsque honeypot_switch est défini sur 1.

    20

    sas_sdk_switch

    Non

    Active ou désactive la détection de fichiers malveillants. Valeurs valides :

    • 1 : active la fonctionnalité.

    • 0 : désactive la fonctionnalité.

    1

    sas_sdk

    Non

    Le quota pour la détection de fichiers malveillants. Unité : 10 000 analyses.

    Plage de valeurs : 10 à 9 999 999 999. La valeur doit être un multiple de 10.

    10

    threat_analysis_switch

    Non

    Active ou désactive Agentic SOC. Valeurs valides :

    • 0 : désactive la fonctionnalité.

    • 1 : active la fonctionnalité.

    1

    threat_analysis_flow

    Non

    Le trafic d'ingestion des journaux pour Agentic SOC. Unité : Go/jour.

    Plage de valeurs : 100 à 9 999 999 999. La valeur doit être un multiple de 100.

    Remarque

    Ce paramètre est requis uniquement lorsque threat_analysis_switch est défini sur 1.

    100

    threat_analysis_sls_storage

    Non

    La capacité de stockage des journaux pour Agentic SOC. Unité : Go.

    Plage de valeurs : 0 à 9 999 999 999. La valeur doit être un multiple de 1 000.

    1000

  3. Exécutez la commande terraform init pour initialiser la configuration.

    Une initialisation réussie produit la sortie suivante :

    Terraform has been successfully initialized!
    
    You may now begin working with Terraform. Try running "terraform plan" to see
    any changes that are required for your infrastructure. All Terraform commands
    should now work.
    
    If you ever set or change modules or backend configuration for Terraform,
    rerun this command to reinitialize your working directory. If you forget, other
    commands will detect it and remind you to do so if necessary.
  4. Exécutez la commande terraform apply pour créer l'instance. Saisissez yes lorsque vous y êtes invité et appuyez sur Entrée.

    Do you want to perform these actions?
      Terraform will perform the actions described above.
      Only 'yes' will be accepted to approve.
    
      Enter a value: 

    Une création réussie produit la sortie suivante :

    Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Vérifier le déploiement

Terraform show

Exécutez la commande suivante pour afficher les ressources gérées par Terraform :

terraform show
shell@Alicloud:~/022501$ terraform show
# alicloud_threat_detection_instance.default:
resource "alicloud_threat_detection_instance" "default" {
    buy_number              = "30"
    container_image_scan_new = "100"
    create_time             = "2025-02-25T01:37:09Z"
    honeypot                = "32"
    honeypot_switch         = "1"
    id                      = "sas-pb3rcrrnr0er"
    payment_type            = "Subscription"
    period                  = 1
    renewal_period_unit     = "M"
    renewal_status          = "ManualRenewal"
    sas_anti_ransomware     = "100"
    sas_cspm_switch         = "0"
    sas_sc                  = false
    sas_sdk                 = "1000"
    sas_sdk_switch          = "1"
    sas_sls_storage         = "100"
    sas_webguard_boolean    = "1"
    sas_webguard_order_num  = "100"
    status                  = "Normal"
    threat_analysis_switch  = "0"
    threat_analysis_switch1 = "0"
    version_code            = "level2"
    vul_switch              = "0"
}

Console

Dans la console Security Center, vérifiez que l'édition Enterprise et ses fonctionnalités sont activées.

Après vous être connecté, vérifiez que le libellé Enterprise s'affiche dans le coin supérieur droit de la console. Sur la page Overview, confirmez que les services Subscription et Pay-as-you-go sont tous deux affichés comme activés, ce qui indique que l'édition Enterprise et les fonctionnalités associées ont été activées avec succès.

Documents connexes