GCPのクラウドアカウントを作成する 親トピック

手順に従って、GCPのCloud Accountを作成してください。
クラウドアカウントを作成したら、 GCPプロジェクトAPIを呼び出して、 [serviceAccountEmail] を取得します。

前提条件 親トピック

手順

  1. gcloud CLI をインストール
  2. Terraformをインストール
  3. シェルスクリプトを実行する環境を設定します。

gcloud CLIでのTerraformの使用 親トピック

TerraformによるAll-in-one Stackの作成 親トピック

手順

  1. gcloudにログインします。
    gcloud auth application-default login
  2. gcloudプロジェクトを設定する
    gcloud config set project PROJECT-ID
    ここで、PROJECT-ID はスタックをデプロイするGCPプロジェクトのIDです。
  3. テンプレートをダウンロードします。
    wget https://file-storage-security.s3.amazonaws.com/latest/gcp-templates/gcp-templates-terraform.zip && unzip gcp-templates-terraform.zip
  4. Terraformのデプロイを使用してGCPプロジェクトを構成します。
    sed -i.bak "s/<GCP_PROJECT_ID>/<projectID>/g" ./gcp-configuration/terraform.tfvars.json
    terraform -chdir=gcp-configuration init && terraform -chdir=gcp-configuration apply
    どこに...
    • projectID はGCPプロジェクトのIDに置き換える必要があります。
  5. 次のコマンドを使用して、GCPで All-in-one Stack を作成します。
    sed -i.bak "s/<GCP_PROJECT_ID>/<projectID>/g" ./all-in-one/terraform.tfvars.json
    sed -i "s/<SCANNER_STACK_NAME>/<scannerStackName>/g" ./all-in-one/terraform.tfvars.json
    sed -i "s/<STORAGE_STACK_NAME>/<storageStackName>/g" ./all-in-one/terraform.tfvars.json
    sed -i "s/<GCP_REGION>/<region>/g" ./all-in-one/terraform.tfvars.json
    sed -i "s/<SCANNING_BUCKET_NAME>/<scanningBucketName>/g" ./all-in-one/terraform.tfvars.json
    sed -i "s/<MANAGEMENT_SERVICE_ACCOUNT_GCP_PROJECT_ID>/<managementServiceAccountProjectID>/g" ./all-in-one/terraform.tfvars.json
    sed -i "s/<MANAGEMENT_SERVICE_ACCOUNT_ID>/<managementServiceAccountID>/g" ./all-in-one/terraform.tfvars.json
    terraform -chdir=all-in-one init && terraform -chdir=all-in-one apply
    どこに...
    • projectID はGCPプロジェクトのIDに置き換える必要があります。
    • scanningBucketName は、Cloud Storageに表示される[Cloud Storage バケット] の名前に置き換える必要があります。指定できるバケットは1つのみです。例: my-bucket-to-scan-01
    • scannerStackName は、スタック名のプレフィックスに置き換える必要があります。プレフィックスは17文字未満である必要があります。例: FSS-AIO-SCANNER
    • storageStackName は、スタック名のプレフィックスに置き換える必要があります。プレフィックスは17文字未満である必要があります。例: FSS-AIO-STORAGE
    • regionはバケットのリージョンに置き換える必要があります。サポートされているGCPリージョンのリストについては、サポートされているGCPリージョンを参照してください。例: us-central1
    • managementServiceAccountProjectID は、前の手順で serviceAccountEmail から取得した管理サービスアカウントのGCPプロジェクトIDに置き換える必要があります。例: cloud-one-service-account@<managementServiceAccountProjectID>.iam.gserviceaccount.com
    • managementServiceAccountID は、前の手順で serviceAccountEmail から取得したサービスアカウントに置き換える必要があります。例: <managementServiceAccountID>@my-gcp-project.iam.gserviceaccount.com
    デプロイが完了すると、後のデプロイ手順で使用するスタック出力がtfstateファイルに生成されます。

Terraformを使用して Scanner Stack を作成する 親トピック

手順

  1. gcloudにログインします。
    gcloud auth application-default login
  2. gcloudプロジェクトを設定する
    gcloud config set project PROJECT-ID
    ここで、PROJECT-ID はスタックをデプロイするGCPプロジェクトのIDです。
  3. テンプレートをダウンロードします。
    wget https://file-storage-security.s3.amazonaws.com/latest/gcp-templates/gcp-templates-terraform.zip && unzip gcp-templates-terraform.zip
  4. Terraformのデプロイを使用してGCPプロジェクトを構成します。
    sed -i.bak "s/<GCP_PROJECT_ID>/<projectID>/g" ./gcp-configuration/terraform.tfvars.json
    terraform -chdir=gcp-configuration init && terraform -chdir=gcp-configuration apply
    どこに...
    • <projectID> はGCPプロジェクトのIDに置き換える必要があります。
  5. 次のコマンドを使用して、GCPで Scanner Stack を作成します。
    sed -i.bak "s/<GCP_PROJECT_ID>/<projectID>/g" ./scanners/terraform.tfvars.json
    sed -i "s/<SCANNER_STACK_NAME>/<scannerStackName>/g" ./scanners/terraform.tfvars.json
    sed -i "s/<GCP_REGION>/<region>/g" ./scanners/terraform.tfvars.json
    sed -i "s/<MANAGEMENT_SERVICE_ACCOUNT_GCP_PROJECT_ID>/<managementServiceAccountProjectID>/g" ./scanners/terraform.tfvars.json
    sed -i "s/<MANAGEMENT_SERVICE_ACCOUNT_ID>/<managementServiceAccountID>/g" ./scanners/terraform.tfvars.json
    terraform -chdir=scanners init && terraform -chdir=scanners apply
    どこに...
    • projectID はGCPプロジェクトのIDに置き換える必要があります。
    • scannerStackName は、スタック名のプレフィックスに置き換える必要があります。プレフィックスは17文字未満である必要があります。例: FSS-AIO-SCANNER
    • regionはバケットのリージョンに置き換える必要があります。サポートされているGCPリージョンのリストについては、サポートされているGCPリージョンを参照してください。例: us-central1
    • managementServiceAccountProjectID は、前の手順で serviceAccountEmail から取得した管理サービスアカウントのGCPプロジェクトIDに置き換える必要があります。例: cloud-one-service-account@<managementServiceAccountProjectID>.iam.gserviceaccount.com
    • managementServiceAccountID は、前の手順で serviceAccountEmail から取得したサービスアカウントに置き換える必要があります。例: <managementServiceAccountID>@my-gcp-project.iam.gserviceaccount.com
    デプロイが完了すると、後のデプロイ手順で使用するスタック出力がtfstateファイルに生成されます。

Terraformを使用して Storage Stack を作成する 親トピック

手順

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