为 Security and Compliance Center 设置 Terraform
自 2025 年 7 月 17 日起,您不能在本产品的此版本中创建新实例。 Security and Compliance Center Workload Protection 的更新体验中提供了所有功能。 更多信息,请参阅 过渡文档。
IBM Cloud 上的 Terraform 支持可预测且一致地创建 IBM Cloud 服务,以便您可以快速构建遵循“基础架构即代码”(IaC) 原则的复杂多层云环境。 与使用 IBM Cloud CLI 或 API 和 SDK 类似,您可以使用 HashiCorp 配置语言 (HCL) 自动创建,更新和删除 Security and Compliance Center 实例。
在 IBM Cloud 解决方案上查找受管 Terraform? 试用 IBM Cloud® Schematics。 通过 Schematics,可以使用您熟悉的 Terraform 脚本语言。 但是,您无需担心设置和维护 Terraform 命令行和 IBM Cloud 提供者插件。Schematics 还提供可从 IBM Cloud 目录轻松安装的预定义 Terraform 模板。
安装 Terraform 并为 Security and Compliance Center 配置资源
在使用 Terraform 创建授权之前,请确保完成以下步骤:
- 确保您具有创建和使用 Security and Compliance Center 资源所需的 访问权。
- 安装 Terraform CLI 并为 Terraform 配置 IBM Cloud 提供程序插件。 有关更多信息,请参阅 Terraform 入门 IBM Cloud 教程。 该插件对用于完成此任务的 IBM Cloud API 进行抽象。
- 创建名为
main.tf
的 Terraform 配置文件。 在此文件中,您使用 HashiCorp 配置语言来定义资源。 有关更多信息,请参阅 Terraform 文档。
-
完成构建配置文件后,初始化 Terraform CLI。 有关更多信息,请参阅 初始化工作目录。
terraform init
-
使用
main.tf
文件中的ibm_resource_instance
资源参数创建 Security and Compliance Center 实例。-
以下示例中的 Security and Compliance Center 实例名为
security-compliance-us-south
,并且是使用us-south
区域中的标准套餐创建的。 将在 IAM 访问策略中为user@ibm.com
分配管理员角色。 对于其他受支持的区域,请参阅 区域和端点。 计划选项包括security-compliance-center-trial-plan
和security-compliance-center-standard-plan
。data "ibm_resource_group" "group" { name = "Default" } resource "ibm_resource_instance" "scc_instance" { name = "security-compliance-us-south" service = "compliance" plan = "security-compliance-center-standard-plan" location = "us-south" resource_group_id = data.ibm_resource_group.group.id }
要查看受支持属性的完整列表,请参阅
ibm_scc_instance
。 -
(可选) 您可以通过在
main.tf
文件中运行以下命令以及步骤 2 中的示例,从 IBM Cloud 创建数据源以检索有关现有 Security and Compliance Center 实例的信息。terraform import ibm_resource_instance.scc_instance <scc_instance_crn>
有关受支持属性的完整列表,请参阅
ibm_resource_instance
。 -
-
在可以管理 Security and Compliance Center 实例的设置之前,必须在 Security and Compliance Center 实例与 Cloud Object Storage 存储区之间建立授权。 如果选择接收通知,那么还必须在 Security and Compliance Center 与 Event Notifications之间创建授权。 要添加授权,请将以下示例添加到
main.tf
文件。data "ibm_iam_account_settings" "iam-account" {} resource "ibm_iam_authorization_policy" "compliance-center_cos-s2s-access" { source_service_name = "compliance" source_resource_instance_id = ibm_resource_instance.scc_instance.guid roles = ["Writer"] resource_attributes { name = "serviceName" operator = "stringEquals" value = "cloud-object-storage" } resource_attributes { name = "accountId" operator = "stringEquals" value = data.ibm_iam_account_settings.iam-account.account_id } depends_on = [ ibm_resource_instance.scc_instance ] }
-
使用
main.tf
文件中的ibm_scc_instance_settings
资源参数来管理 Security and Compliance Center 实例的设置,例如配置 Event Notifications 和 Cloud Object Storage。resource "ibm_scc_instance_settings" "scc_instance_settings_instance" { instance_id = ibm_resource_instance.scc_instance.guid event_notifications { instance_crn = "<event_notifications_crn>" } object_storage { instance_crn = "<cloud_object_storage_crn>" bucket = "<cloud_object_storage_bucket>" } }
如果不打算配置 Event Notifications,那么必须保留
event_notifications
参数并除去instance_crn
字段,如以下片段中所示:event_notifications { }
有关受支持属性的完整列表,请参阅
ibm_scc_instance_settings
。 -
从
main.tf
文件供应资源。 有关更多信息,请参阅 供应具有 Terraform 的基础结构。-
运行
terraform plan
以生成 Terraform 执行计划来预览建议的操作。terraform plan
-
运行
terraform apply
以创建计划中定义的资源。
terraform apply
-
-
为要在创建资源时使用的 Security and Compliance Center 实例定义本地值。
locals { instance_id = resource.ibm_resource_instance.scc_resource_instance.guid }
-
从 UI 中的 IBM Cloud 资源列表中,选择您创建的 Security and Compliance Center 实例并记下实例标识。
-
验证是否成功分配了访问策略。 有关更多信息,请参阅 在控制台中复审分配的访问权。
后续步骤?
现在,您已使用 Terraform 在 IBM Cloud上成功创建第一个 Security and Compliance Center 服务实例,您可以通过创建附件来按重现调度扫描资源。 有关附件的更多信息,请参阅 创建附件。
您还可以通过遵循“操作”部分中包含的 Terraform 步骤来查看如何管理 Security and Compliance Center 资源。 例如,您可以遵循有关如何使用 Terraform 创建 定制库 的指示信息。