Google Cloudとコンテナの継続的なセキュリティ
本文の内容は、2021年11月24日現在における、docs.sysdig.com上のDeploy Sysdig Secure for cloud on GCPを元に日本語に翻訳・再構成した内容となっております。
必要に応じて、Sysdig Secure for cloudの製品概要を確認しましょう。GCPでのデプロイメントにはTerraformファイルを使用します。
Terraformベースのインストール手順は、使用しているアカウントの種類によって異なります。
現時点では、以下のような選択肢があります:
Sysdig SecureのGet Startedページで提供されるデフォルトのコードには、お客様のSecure APIトークンがあらかじめ入力されており、脅威検知、ベンチマーク、コンテナのレジストリとイメージのスキャンが自動的にインストールされます。
$ terraform init
完了したら、次を実行します。
$ terraform apply
google_iam_workload_identity_pool
google_iam_workload_identity_pool_provider
google_project_iam_custom_role
google_project_iam_member
google_service_account
google_service_account_iam_binding
sysdig_secure_benchmark_task
sysdig_secure_cloud_account
google_cloud_run_service
google_eventarc_trigger
google_project_iam_member
google_storage_bucket
google_storage_bucket_iam_member
google_storage_bucket_object
google_cloud_run_service
google_cloud_run_service_iam_member
google_eventarc_trigger
google_project_iam_member
google_pubsub_topic
Cloud-connectorを組織モードでインストールした場合、この追加モジュールがインストールされます:
google_logging_organization_sink
google_pubsub_topic
google_pubsub_topic_iam_member
Cloud-connector がシングルプロジェクトモードでインストールされている場合は、次の追加モジュールがインストールされます:
google_logging_project_sink
google_pubsub_topic
google_pubsub_topic_iam_member
Cloud-scanning がインストールされている場合、この追加モジュールがインストールされます:
google_secret_manager_secret
google_secret_manager_secret_iam_member
このエラーは、現在のGCP認証セッションが、指定されたプロジェクトにアクセスするための必要なパーミッションを持っていない場合に発生する可能性があります。
解決策:必要なパーミッションを持つユーザーアカウントまたはサービスアカウントを使用してGCPに認証されていることを確認します。
このエラーは、現在のGCP認証セッションが特定のリソースを作成するために必要な権限を持っていない場合に発生する可能性があります。
解決策:必要なパーミッションを持つユーザーまたはサービスアカウントを使用してGCPに認証されていることを確認します。
十分なパーミッションを持っているにもかかわらず、この種のエラーが発生する場合は、 gcloud
の認証を試みます。
$ gcloud auth application-default login
$ gcloud auth application-default login set-quota-project your_project_id
このエラーは、指定したGCPプロジェクトが既にSysdigにオンボードされている場合に発生する可能性があります。
解決策:クラウド・アカウントをterraformにインポートするには、次のコマンドを実行します。terraform import module.single account.module.cloud_bench.sysdig_secure_cloud_account.cloud_account PROJECT_ID
, PROJECT_ID はプロジェクトの数値IDです(プロジェクト名ではありません)。
このエラーは、Workload Identity Federation PoolまたはPool Providerが以前に作成され、その後GCPコンソールまたはterraform destroyを使用して削除された場合に発生する可能性があります。これらのリソースの削除要求がGCPに送信されると、完全には削除されませんが、「削除済み」としてマークされ、30日間残ります。これらの「削除された」リソースは、同じ名前の新しいリソースの作成をブロックします。
解決策:削除されたプールは、GCPコンソールを使用して復元してから、terraformにインポートする必要があります。 terraform import module.single-account.module.cloud_bench.google_iam_workload_identity_pool.pool POOL_ID
and module.single-account.module.cloud_bench.google_iam_workload_identity_pool_provider.pool_provider POOL_ID/PROVIDER_ID
を使用します。
メールには次のようなエラーコードが含まれています:
Error Code: topic_not_found
or
Error Code: topic_permission_denied
原因:SysdigがTerraformを使ってデプロイしたリソースは、最終的には整合性が取れますが、事前に必要なリソースが作成されていても、まだ準備ができていないことがあります。
解決方法:これは既知の問題であり、デプロイ後数分以内にしか発生しません。最終的には、リソースの健全性チェックに合格し、モジュールは期待通りに動作します。
Sysdig Secureにログインし、デプロイした各モジュールが機能していることを確認します。イベントが収集されて表示されるまで、10分程度かかることがあります。
データソース:Userメニューから Data Sources
を選択すると、接続されているすべてのクラウドアカウントが表示されます。
サブスクリプション: Settings > Subscription
を選択すると、クラウドアカウントを含むアカウントアクティビティの概要が表示されます。
Insights:ナビゲーションバーに「Insight」が追加されていることを確認します。クラウドアカウント、クラウドユーザー、またはコンポジットのインサイトビューでアクティビティを表示します。
ポリシー: Policies > Runtime Policies
を確認し、 GCP Best Practices
ポリシーが有効になっていることを確認します。これは、GCPの最も頻繁に推奨されるルールで構成されています。
イベント: Events
フィードで「cloud」を検索すると、GCPからのイベントが表示されます。
Compliance > Benchmarks > Tasks
を選択し、Sysdig Secure for Cloud (GCP)
という名前のタスクが存在することを確認します。Sysdig Secure for Cloud (GCP)
タスクをクリックすると、ベンチマークのチェック結果が表示されます。なお、結果が表示されるまでには、最大で15分ほどかかることがあります。Origins
のドロップダウンを選択します。GCP
が表示されていることを確認します。