Terraform for Security and Compliance Center のセットアップ
2025年7月17日現在、このバージョンでは新しいインスタンスを作成することはできません。 Security and Compliance Center Workload Protection のアップデートにより、すべての機能が利用可能になりました。 詳細については、 移行に関する文書を 参照のこと。
Terraform on IBM Cloud は、予測可能で一貫性のある IBM Cloud サービスの作成を可能にし、Infrastructure as Code ( IaC ) の原則に従った複雑な多階層のクラウド環境を迅速に構築することができる。 IBM Cloud CLI や API、SDK を使用するのと同様に、 HashiCorp Configuration Language (HCL) を使用して、 Security and Compliance Center インスタンスの作成、更新、削除を自動化できます。
IBM Cloud ソリューションでマネージド型 Terraform をお探しですか。 IBM Cloud® Schematics をお試しください。 Schematicsでは、使い慣れた Terraform スクリプト言語を使用できます。 ただし、Terraform コマンド・ラインと IBM Cloud Provider プラグインのセットアップと保守について心配する必要はありません。 Schematics には、 IBM Cloud カタログから簡単にインストールできる、事前定義された Terraform テンプレートも用意されています。
Terraform のインストールと Security and Compliance Center 用のリソースの構成
Terraform を使用して許可を作成する前に、以下のステップを完了していることを確認してください。
- Security and Compliance Center リソースを作成して操作するために 必要なアクセス権限 があることを確認します。
- Terraform CLI をインストールし、Terraform 用の IBM Cloud プロバイダー・プラグインを構成します。 詳しくは、 Getting started with Terraform on 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
領域の標準プランで作成されます。user@ibm.com
には、IAM アクセス・ポリシーの管理者役割が割り当てられます。 その他のサポートされるリージョンについては、 リージョンとエンドポイント を参照してください。 計画オプションには、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
リソース引数を使用して、 Event Notifications および Cloud Object Storageを構成するなど、 Security and Compliance Center インスタンスの設定を管理します。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 インスタンスを選択し、インスタンスIDをメモする。
-
アクセス・ポリシーが正常に割り当てられていることを確認します。 詳細については、割り当てられたアクセス権限をコンソールで確認を参照してください。
次のステップ
これで、 IBM Cloudで Terraform を使用して最初の Security and Compliance Center サービス・インスタンスが正常に作成されたので、添付ファイルを作成することで、繰り返しスケジュールでリソースをスキャンできます。 添付ファイルの詳細については、添付ファイルの作成 を参照してください。
「方法」セクションに記載されている Terraform ステップに従って、 Security and Compliance Center リソースの管理方法を確認することもできます。 例えば、Terraform を使用して カスタム・ライブラリー を作成する方法に関する指示に従うことができます。