GCPのクラウドアカウントを作成する
手順に従って、GCPのCloud Accountを作成してください。
Cloud Accountを作成した後、Describe GCP project APIを呼び出して[serviceAccountEmail]を取得します。
前提条件
手順
- gcloud CLI をインストール。
- Terraformをインストール。
- シェルスクリプトを実行する環境を設定します。
gcloud CLIでのTerraformの使用
TerraformによるAll-in-one Stackの作成
手順
- gcloudにログインします。
gcloud auth application-default login - gcloudプロジェクトを設定する
gcloud config set project PROJECT-IDここで、PROJECT-IDはスタックをデプロイするGCPプロジェクトのIDです。 - テンプレートをダウンロードします。
wget https://file-storage-security.s3.amazonaws.com/latest/gcp-templates/gcp-templates-terraform.zip && unzip gcp-templates-terraform.zip - Terraformのデプロイを使用してGCPプロジェクトを構成します。
sed -i.bak "s/<GCP_PROJECT_ID>/<projectID>/g" ./gcp-configuration/terraform.tfvars.jsonterraform -chdir=gcp-configuration init && terraform -chdir=gcp-configuration applyどこに...projectIDはGCPプロジェクトのIDに置き換える必要があります。
- 次のコマンドを使用して、GCPで All-in-one Stack を作成します。
sed -i.bak "s/<GCP_PROJECT_ID>/<projectID>/g" ./all-in-one/terraform.tfvars.jsonsed -i "s/<SCANNER_STACK_NAME>/<scannerStackName>/g" ./all-in-one/terraform.tfvars.jsonsed -i "s/<STORAGE_STACK_NAME>/<storageStackName>/g" ./all-in-one/terraform.tfvars.jsonsed -i "s/<GCP_REGION>/<region>/g" ./all-in-one/terraform.tfvars.jsonsed -i "s/<SCANNING_BUCKET_NAME>/<scanningBucketName>/g" ./all-in-one/terraform.tfvars.jsonsed -i "s/<MANAGEMENT_SERVICE_ACCOUNT_GCP_PROJECT_ID>/<managementServiceAccountProjectID>/g" ./all-in-one/terraform.tfvars.jsonsed -i "s/<MANAGEMENT_SERVICE_ACCOUNT_ID>/<managementServiceAccountID>/g" ./all-in-one/terraform.tfvars.jsonterraform -chdir=all-in-one init && terraform -chdir=all-in-one applyどこに...projectIDはGCPプロジェクトのIDに置き換える必要があります。scanningBucketNameは、Cloud Storageに表示される[Cloud Storage バケット] の名前に置き換える必要があります。指定できるバケットは1つのみです。例:my-bucket-to-scan-01scannerStackNameは、スタック名のプレフィックスに置き換える必要があります。プレフィックスは17文字未満である必要があります。例:FSS-AIO-SCANNERstorageStackNameは、スタック名のプレフィックスに置き換える必要があります。プレフィックスは17文字未満である必要があります。例:FSS-AIO-STORAGEregionはバケットのリージョンに置き換える必要があります。サポートされているGCPリージョンのリストについては、サポートされているGCPリージョンを参照してください。例:us-central1managementServiceAccountProjectIDは、前の手順でserviceAccountEmailから取得した管理サービスアカウントのGCPプロジェクトIDに置き換える必要があります。例:cloud-one-service-account@<managementServiceAccountProjectID>.iam.gserviceaccount.commanagementServiceAccountIDは、前の手順でserviceAccountEmailから取得したサービスアカウントに置き換える必要があります。例:<managementServiceAccountID>@my-gcp-project.iam.gserviceaccount.com
デプロイが完了すると、後のデプロイ手順で使用するスタック出力がtfstateファイルに生成されます。
Terraformを使用して Scanner Stack を作成する
手順
- gcloudにログインします。
gcloud auth application-default login - gcloudプロジェクトを設定する
gcloud config set project PROJECT-IDここで、PROJECT-IDはスタックをデプロイするGCPプロジェクトのIDです。 - テンプレートをダウンロードします。
wget https://file-storage-security.s3.amazonaws.com/latest/gcp-templates/gcp-templates-terraform.zip && unzip gcp-templates-terraform.zip - Terraformのデプロイを使用してGCPプロジェクトを構成します。
sed -i.bak "s/<GCP_PROJECT_ID>/<projectID>/g" ./gcp-configuration/terraform.tfvars.jsonterraform -chdir=gcp-configuration init && terraform -chdir=gcp-configuration applyどこに...<projectID>はGCPプロジェクトのIDに置き換える必要があります。
- 次のコマンドを使用して、GCPで Scanner Stack を作成します。
sed -i.bak "s/<GCP_PROJECT_ID>/<projectID>/g" ./scanners/terraform.tfvars.jsonsed -i "s/<SCANNER_STACK_NAME>/<scannerStackName>/g" ./scanners/terraform.tfvars.jsonsed -i "s/<GCP_REGION>/<region>/g" ./scanners/terraform.tfvars.jsonsed -i "s/<MANAGEMENT_SERVICE_ACCOUNT_GCP_PROJECT_ID>/<managementServiceAccountProjectID>/g" ./scanners/terraform.tfvars.jsonsed -i "s/<MANAGEMENT_SERVICE_ACCOUNT_ID>/<managementServiceAccountID>/g" ./scanners/terraform.tfvars.jsonterraform -chdir=scanners init && terraform -chdir=scanners applyどこに...projectIDはGCPプロジェクトのIDに置き換える必要があります。scannerStackNameは、スタック名のプレフィックスに置き換える必要があります。プレフィックスは17文字未満である必要があります。例:FSS-AIO-SCANNERregionはバケットのリージョンに置き換える必要があります。サポートされているGCPリージョンのリストについては、サポートされているGCPリージョンを参照してください。例:us-central1managementServiceAccountProjectIDは、前の手順でserviceAccountEmailから取得した管理サービスアカウントのGCPプロジェクトIDに置き換える必要があります。例:cloud-one-service-account@<managementServiceAccountProjectID>.iam.gserviceaccount.commanagementServiceAccountIDは、前の手順でserviceAccountEmailから取得したサービスアカウントに置き換える必要があります。例:<managementServiceAccountID>@my-gcp-project.iam.gserviceaccount.com
デプロイが完了すると、後のデプロイ手順で使用するスタック出力がtfstateファイルに生成されます。
Terraformを使用して Storage Stack を作成する
手順
- gcloudにログインします。
gcloud auth application-default login - gcloudプロジェクトを設定する
gcloud config set project PROJECT-IDここで、PROJECT-IDはスタックをデプロイするGCPプロジェクトのIDです。 - テンプレートをダウンロードします。
wget https://file-storage-security.s3.amazonaws.com/latest/gcp-templates/gcp-templates-terraform.zip && unzip gcp-templates-terraform.zip - Terraformのデプロイを使用してGCPプロジェクトを構成します。
sed -i.bak "s/<GCP_PROJECT_ID>/<projectID>/g" ./gcp-configuration/terraform.tfvars.jsonterraform -chdir=gcp-configuration init && terraform -chdir=gcp-configuration applyどこに...projectIDはGCPプロジェクトのIDに置き換える必要があります。
- 次のコマンドを使用して、GCPに Storage Stack を作成します。
sed -i.bak "s/<GCP_PROJECT_ID>/<projectID>/g" ./storages/terraform.tfvars.jsonsed -i "s/<STORAGE_STACK_NAME>/<storageStackName>/g" ./storages/terraform.tfvars.jsonsed -i "s/<GCP_REGION>/<region>/g" ./storages/terraform.tfvars.jsonsed -i "s/<SCANNING_BUCKET_NAME>/<scanningBucketName>/g" ./storages/terraform.tfvars.jsonsed -i "s/<MANAGEMENT_SERVICE_ACCOUNT_GCP_PROJECT_ID>/<managementServiceAccountProjectID>/g" ./storages/terraform.tfvars.jsonsed -i "s/<MANAGEMENT_SERVICE_ACCOUNT_ID>/<managementServiceAccountID>/g" ./storages/terraform.tfvars.jsonsed -i "s/<SCANNER_STACK_PROJECT_ID>/<scannerProjectID>/g" ./storages/terraform.tfvars.jsonsed -i "s/<SCANNER_STACK_PUBSUB_TOPIC_NAME>/<scannerTopic>/g" ./storages/terraform.tfvars.jsonsed -i "s/<SCANNER_STACK_SERVICE_ACCOUNT_ID>/<scannerServiceAccountID>/g" ./storages/terraform.tfvars.jsonterraform -chdir=storages init && terraform -chdir=storages applyどこに...projectIDはGCPプロジェクトのIDに置き換える必要があります。scanningBucketNameは、Cloud Storageに表示される[Cloud Storage バケット] の名前に置き換える必要があります。指定できるバケットは1つのみです。例:my-bucket-to-scan-01storageStackNameは、スタック名のプレフィックスに置き換える必要があります。プレフィックスは17文字未満である必要があります。例:FSS-AIO-STORAGEregionはバケットのリージョンに置き換える必要があります。サポートされているGCPリージョンのリストについては、サポートされているGCPリージョンを参照してください。例:us-central1managementServiceAccountProjectIDは、前の手順でserviceAccountEmailから取得した管理サービスアカウントのGCPプロジェクトIDに置き換える必要があります。例:cloud-one-service-account@<managementServiceAccountProjectID>.iam.gserviceaccount.commanagementServiceAccountIDは、前の手順でserviceAccountEmailから取得したサービスアカウントに置き換える必要があります。例:<managementServiceAccountID>@my-gcp-project.iam.gserviceaccount.comscannerProjectIDは、 ScannerのTerraform環境のscanner_informations出力に含まれる、 ScannerのGCPプロジェクトのIDに置き換える必要があります。scannerTopicは、 ScannerのTerraform環境のscanner_informations出力に含まれる、 Scannerの Pub/Sub トピックの名前に置き換えてください。scannerServiceAccountIDは、ScannerのTerraform環境のscanner_informations出力に含まれる、ご使用のScannerのサービスアカウントIDの名前に置き換える必要があります。
デプロイが完了すると、後のデプロイ手順で使用するスタック出力がtfstateファイルに生成されます。
