Alibaba Cloud は、Security Center 用の Terraform リソースおよびデータソースブロックを提供しています。Terraform を使用すると、シンプルなコードで Security Center の有効化と管理を自動化できます。
サンプルコードはすぐに実行可能です。ワンクリックで実行できます。
前提条件
-
ルートアカウントの使用は、認証情報が漏洩した場合にセキュリティ上のリスクがあります。代わりに、RAM ユーザーを作成し、その RAM ユーザー用に AccessKey を作成することを推奨します。
-
Terraform コマンドを実行する RAM ユーザーには、以下の最小限の IAM ポリシーをアタッチする必要があります。これにより、この例に必要な権限が付与されます。RAM ユーザーに権限を付与してください。
このポリシーにより、RAM ユーザーは Security Center リソースの参照、変更、作成が可能になります。要件に応じて、アクションとリソース範囲を調整してください。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "sas:Describe*", // Security Center の情報を参照することを許可します。 "sas:CreateInstance", // Security Center インスタンスの作成を許可します。 "sas:UpdateInstance", // Security Center インスタンスのアップグレードを許可します。 "sas:Modify*" // 他の設定を変更する必要がある場合は、このアクションを追加してください。 ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecs:DescribeInstances" // ECS インスタンスをクエリして Security Center に関連付けるために必要な場合があります。 ], "Resource": "*" } ] }
事前準備
以下のいずれかの方法で Terraform 実行環境を準備してください。
-
Terraform Explorer を使用:ローカルインストール不要で Terraform を実行できるオンライン環境です。コストをかけずに迅速な試用とデバッグに最適です。
-
Terraform を使用してリソースを迅速に作成:Cloud Shell には Terraform がプリインストールされており、認証情報も事前設定されています。セットアップなしで直接 Terraform コマンドを実行できます。
-
Terraform をローカルにインストールして構成:ネットワーク接続が不安定な場合やカスタム開発環境に最適です。
使用するリソース
alicloud_threat_detection_instance:Security Center インスタンスをプロビジョニングおよび管理します。
Security Center インスタンスの有効化
有効化後は、予期しない料金が発生しないよう、インスタンスのライフサイクルを慎重に管理してください。
以下の例では、中国 (杭州) リージョンでサブスクリプションベースの Security Center エンタープライズインスタンスを有効化します。
-
作業ディレクトリを作成して移動します。
mkdir /usr/local/terraform cd /usr/local/terraform説明各 Terraform プロジェクトには、個別の作業ディレクトリを作成する必要があります。
-
terraform.tf という名前のファイルを作成して、設定を追加します。
vim terraform.tf以下の内容を追加します。
# Alibaba Cloud プロバイダーを構成し、リージョンを中国 (杭州) に設定します。 provider "alicloud" { region = "cn-hangzhou" } # リソース名を定義します。デフォルト値:"terraform-example"。 variable "name" { default = "terraform-example" } # Security Center のエディション。デフォルト値:"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" } # Web 改ざん防止スイッチ。デフォルト値:"1" (有効)。 variable "sas_webguard_boolean" { default = "1" } # Web 改ざん防止のクォータ。デフォルト値:"100"。 variable "sas_webguard_order_num" { default = "100" } # クラウドハニーポットスイッチ。デフォルト値:"1" (有効)。 variable "honeypot_switch" { default = "1" } # クラウドハニーポットのクォータ。デフォルト値:"32"。 variable "honeypot" { default = "32" } # 不正ファイル検知スイッチ。デフォルト値:"1" (有効)。 variable "sas_sdk_switch" { default = "1" } # 不正ファイル検知のクォータ。単位:10,000 スキャン。デフォルト値:"1000"。 variable "sas_sdk" { default = "1000" } # コンテナイメージスキャン数。値は 20 の倍数である必要があります。 variable "container_image_scan_new" { default = "100" } # Agentic SOC スイッチ。 variable "threat_analysis_switch" { default = "1" } # Agentic SOC トラフィック。値は 100 の倍数である必要があります。デフォルト値:"100" (GB/日単位)。 variable "threat_analysis_flow" { default = "100" } # Agentic SOC のログストレージ容量。デフォルト値:"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 = var.threat_analysis_switch threat_analysis_flow = var.threat_analysis_flow threat_analysis_sls_storage = var.threat_analysis_sls_storage }パラメータ
必須
説明
設定例
modify_typeいいえ
インスタンスをアップグレードまたはダウングレードする際に必要です。このパラメータをリソースブロックに追加してください。有効な値:
-
Upgrade
-
Downgrade
Upgrade
version_codeはい
Security Center のエディション。有効な値:
-
level7:アンチウイルス
-
level3:アドバンスト
-
level2:エンタープライズ
-
level8:アルティメット
-
level10:付加価値プラン
level2
buy_numberはい
保護するサーバー数。
説明このパラメータは、version_code が level3、level2、または level8 に設定されている場合にのみ必要です。
30
v_coreはい
保護するサーバーの合計 vCPU 数。
説明このパラメータは、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 日間保存することが求められています。サーバーあたり 50 GB のログストレージ容量を割り当てることを推奨します。
100
sas_anti_ransomwareいいえ
ランサムウェア対策機能のバックアップ容量 (GB 単位)。
値の範囲:10~9,999,999,999。値は 10 の倍数である必要があります。
100
container_image_scan_newいいえ
コンテナイメージスキャンのクォータ。予想される月間スキャン数に設定します。単位:イメージ。
値の範囲:0~200,000。値は 20 の倍数である必要があります。
説明一意のダイジェストを持つイメージを初めてスキャンした場合にのみ、クォータが 1 消費されます。イメージのダイジェストが変更された場合、更新されたイメージをスキャンすると、再度クォータが 1 消費されます。たとえば、10 個のイメージをスキャンする必要があり、サブスクリプション期間中にダイジェストが合計 20 回変更されると予想される場合は、クォータを 30 (10 + 20) に設定します。
100
sas_webguard_booleanいいえ
Web 改ざん防止を有効または無効にします。有効な値:
-
1:機能を有効にします。
-
0:機能を無効にします。
1
sas_webguard_order_numはい
Web 改ざん防止のクォータ。単位:認証数。
値の範囲:0~9,999。
説明このパラメータは、sas_webguard_boolean が 1 に設定されている場合にのみ必要です。
100
sas_scいいえ
セキュリティダッシュボードを有効または無効にします。有効な値:
説明この機能は、中国本土以外のリージョンでは購入できません。これらのリージョンでは、このパラメータは適用されません。この機能は、version_code が level3、level2、または level8 に設定されている場合にのみサポートされます。
-
true
-
false
false
honeypot_switchいいえ
クラウドハニーポットを有効または無効にします。有効な値:
-
1:機能を有効にします。
-
2:機能を無効にします。
1
honeypotはい
クラウドハニーポットのクォータ。単位:ハニーポット数。
値の範囲:20~500。
説明このパラメータは、honeypot_switch が 1 に設定されている場合にのみ必要です。
32
sas_sdk_switchいいえ
不正ファイル検知を有効または無効にします。有効な値:
-
1:機能を有効にします。
-
0:機能を無効にします。
1
sas_sdkいいえ
不正ファイル検知のクォータ。単位:10,000 スキャン。
値の範囲:10~9,999,999,999。値は 10 の倍数である必要があります。
1000
threat_analysis_switchいいえ
Agentic SOC を有効または無効にします。有効な値:
-
0:機能を無効にします。 -
1:機能を有効にします。
1
threat_analysis_flowはい
Agentic SOC のログ取り込みトラフィック。単位:GB/日。
値の範囲:100~9,999,999,999。値は 100 の倍数である必要があります。
説明このパラメータは、threat_analysis_switch が 1 に設定されている場合にのみ必要です。
100
threat_analysis_sls_storageいいえ
Agentic SOC のログストレージ容量。単位:GB。
値の範囲:0~9,999,999,999。値は 1,000 の倍数である必要があります。
1000
-
-
terraform initコマンドを実行して設定を初期化します。初期化が成功すると、以下の出力が表示されます。

-
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

コンソール
Security Center コンソールで、エンタープライズエディションとその機能が有効化されていることを確認してください。
