A Alibaba Cloud oferece blocos de resource e data source do Terraform para o Security Center. Use o Terraform para automatizar a ativação e o gerenciamento do Security Center com código simples.
O código de exemplo está pronto para execução. Você pode execute-o com um clique em.
Pré-requisitos
-
O uso de uma conta raiz representa um risco de segurança caso as credenciais vazem. Recomendamos que você Crie um usuário RAM e Crie um AccessKey para o usuário RAM.
-
Essa política permite que o usuário RAM descreva, modifique e crie recursos do Security Center. Ajuste as ações e o escopo dos recursos conforme suas necessidades.
Anexe a seguinte política mínima de IAM ao usuário RAM que executa os comandos do Terraform. Isso concede as permissões necessárias para este exemplo. Grant permissions to a RAM user.
{ "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": "*" } ] }
Preparação
Prepare um ambiente de execução do Terraform usando um dos métodos a seguir.
Use o Terraform Explorer: ambiente online para executar o Terraform sem instalação local. Ideal para testes rápidos e depuração sem custo.
Use Terraform to quickly create resources: O Cloud Shell já vem com o Terraform pré-instalado e pré-configurado com suas credenciais. Execute comandos do Terraform diretamente, sem necessidade de configuração.
Instale e configure o Terraform localmente: Mais indicado para conexões de rede instáveis ou ambientes de desenvolvimento personalizados.
Recursos utilizados
alicloud_threat_detection_instance: Provisiona e gerencia uma instância do Security Center.
Ative uma instância do Security Center
Gerencie o ciclo de vida da instância com cuidado após a ativação para evitar cobranças inesperadas.
O exemplo a seguir ativa uma instância do Security Center Enterprise baseada em assinatura na região China (Hangzhou).
-
Crie e acesse um diretório de trabalho.
mkdir /usr/local/terraform cd /usr/local/terraformNotaÉ necessário criar um diretório de trabalho separado para cada projeto do Terraform.
-
Crie um arquivo chamado terraform.tf e adicione a configuração.
vim terraform.tfAdicione o seguinte conteúdo:
# 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 }Parâmetro
Obrigatório
Descrição
Valor de exemplo
modify_typeNão
Necessário ao fazer upgrade ou downgrade de uma instância. Adicione este parâmetro ao bloco de resource. Valores válidos:
Upgrade
Downgrade
Upgrade
version_codeSim
A edição do Security Center. Valores válidos:
level7: Anti-virus
level3: Advanced
level2: Enterprise
level8: Ultimate
level10: Value-added Plan
level2
buy_numberNão
O número de servidores a proteger.
NotaEste parâmetro é obrigatório apenas quando version_code estiver definido como level3, level2 ou level8.
30
v_coreNão
A contagem total de vCPUs dos servidores a proteger.
NotaEste parâmetro é obrigatório apenas quando version_code estiver definido como level7 ou level8.
100
payment_typeSim
O método de faturamento. Valor válido:
Subscription
Subscription
periodNão
A duração da assinatura, em meses.
Valores válidos: 1, 6, 12, 24, 36 e 60.
1
renewal_statusNão
O modo de renovação. Valores válidos:
AutoRenewal: A instância é renovada automaticamente.
ManualRenewal (Padrão): A instância deve ser renovada manualmente.
ManualRenewal
renewal_periodNão
A duração da renovação automática, em meses.
NotaEste parâmetro é obrigatório quando renewal_status estiver definido como AutoRenewal.
12
sas_sls_storageNão
A capacidade de armazenamento de log, em GB.
Intervalo de valores: 0 a 600.000. O valor deve ser um múltiplo de 10.
NotaPara cumprir a Lei de Cibersegurança da República Popular da China, que exige o armazenamento de logs por pelo menos 180 dias, recomendamos alocar 50 GB de capacidade de armazenamento de log por servidor.
100
sas_anti_ransomwareNão
A capacidade de backup para o recurso anti-ransomware, em GB.
Intervalo de valores: 10 a 9.999.999.999. O valor deve ser um múltiplo de 10.
100
container_image_scan_newNão
A cota para verificações de imagem de contêiner. Defina este valor como o número esperado de verificações mensais. Unidade: imagens.
Intervalo de valores: 0 a 200.000. O valor deve ser um múltiplo de 20.
NotaUma verificação só é contabilizada na sua cota na primeira vez que uma imagem com um digest exclusivo é verificada. Se o digest da imagem mudar, a verificação da imagem atualizada consome outra unidade da sua cota. Por exemplo, se você precisar verificar 10 imagens e esperar que seus digests mudem 20 vezes no total durante o período de assinatura, defina a cota como 30 (10 + 20).
100
sas_webguard_booleanNão
Ativa ou desativa a proteção contra adulteração da web. Valores válidos:
1: Ativa o recurso.
0: Desativa o recurso.
1
sas_webguard_order_numNão
A cota para proteção contra adulteração da web. Unidade: autorizações.
Intervalo de valores: 0 a 9.999.
NotaEste parâmetro é obrigatório apenas quando sas_webguard_boolean estiver definido como 1.
100
sas_scNão
Ativa ou desativa o painel de segurança. Valores válidos:
NotaEste recurso não está disponível para compra em regiões fora da China continental. Este parâmetro não tem efeito nessas regiões. Este recurso é suportado apenas quando version_code estiver definido como level3, level2 ou level8.
true
false
false
honeypot_switchNão
Ativa ou desativa o honeypot na nuvem. Valores válidos:
1: Ativa o recurso.
2: Desativa o recurso.
1
honeypotNão
A cota para honeypot na nuvem. Unidade: honeypots.
Intervalo de valores: 20 a 500.
NotaEste parâmetro é obrigatório apenas quando honeypot_switch estiver definido como 1.
20
sas_sdk_switchNão
Ativa ou desativa a detecção de arquivos maliciosos. Valores válidos:
1: Ativa o recurso.
0: Desativa o recurso.
1
sas_sdkNão
A cota para detecção de arquivos maliciosos. Unidade: 10.000 verificações.
Intervalo de valores: 10 a 9.999.999.999. O valor deve ser um múltiplo de 10.
10
threat_analysis_switchNão
Ativa ou desativa o Agentic SOC. Valores válidos:
0: Desativa o recurso.1: Ativa o recurso.
1
threat_analysis_flowNão
O tráfego de ingestão de log para o Agentic SOC. Unidade: GB/dia.
Intervalo de valores: 100 a 9.999.999.999. O valor deve ser um múltiplo de 100.
NotaEste parâmetro é obrigatório apenas quando threat_analysis_switch estiver definido como 1.
100
threat_analysis_sls_storageNão
A capacidade de armazenamento de log para o Agentic SOC. Unidade: GB.
Intervalo de valores: 0 a 9.999.999.999. O valor deve ser um múltiplo de 1.000.
1000
-
Execute o comando
terraform initpara inicializar a configuração.Uma inicialização bem-sucedida gera a seguinte saída:
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. -
Execute o comando
terraform applypara criar a instância. Insirayesquando solicitado e pressione 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:Uma criação bem-sucedida gera a seguinte saída:
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Verifique a implantação
Terraform show
Execute o seguinte comando para visualizar os recursos gerenciados pelo 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
No console do Security Center, verifique se a edição Enterprise e seus recursos estão ativados.
Após fazer login, confirme se o rótulo da edição Enterprise aparece no canto superior direito do console. Na página Overview, valide se os serviços Subscription e Pay-as-you-go estão exibidos como habilitados, indicando que a edição Enterprise e os recursos relacionados foram ativados com sucesso.