GCPのクラウドアカウントを作成する
手順に従って、GCPのCloud Accountを作成してください。
クラウドアカウントを作成したら、 GCPプロジェクト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.json
terraform -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.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 を作成する
手順
- 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.json
terraform -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.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 を作成する
手順
- 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.json
terraform -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.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ファイルに生成されます。