クラウド上でアプリケーションを運用する際、セキュリティは最も重要な考慮事項の一つです。
Google CloudのサーバーレスプラットフォームであるCloud Runも例外ではありません。
Cloud Runサービスの「セキュリティ」タブには、サービスが安全に動作し、機密情報が保護されるための重要な設定項目が集約されています。

今回は、この「セキュリティ」タブにある主要な4つの設定項目について、それぞれが何を意味し、Cloud Runサービスのセキュリティ体制にどのように影響するのかを見ていきます。
Cloud Runの「セキュリティ」タブとは?
Cloud Runサービスの設定画面で「セキュリティ」というタブを見ると、主に以下の項目があります。

- サービスアカウント
- Binary Authorization を使用してコンテナのデプロイを確認する
- 暗号化 – Google が管理する暗号鍵
- 暗号化 – Cloud KMS 鍵
これらの設定は、Cloud Runサービスが他のGCPリソースにアクセスする際の認証・認可、デプロイされるコンテナイメージの信頼性、そして保存されるデータの暗号化という、多岐にわたるセキュリティ側面をカバーします。
1. サービスアカウント
Cloud Runサービスが実行される際に、他のGoogle Cloudリソースにアクセスするために使用するIDです。これは、Cloud Runサービス自身が持つ「身分証明書」のようなものです。
設定のポイント
2. Binary Authorization を使用してコンテナのデプロイを確認する
設定のポイント
- この機能を利用するには、事前にGoogle CloudプロジェクトでBinary Authorizationを有効にし、**承認者(Attestor)**とデプロイポリシーを構成しておく必要があります。
- 承認者は、特定のセキュリティチェック(例: 脆弱性スキャン済み、セキュリティレビュー済み)が完了したことを「署名」する役割を担います。
- デプロイポリシーは、「署名がないイメージはデプロイを許可しない」といったルールを定義します。
ユースケース
- サプライチェーンセキュリティの強化: 信頼できるプロセス(CI/CDパイプラインでの自動テストやスキャン、手動レビューなど)を経ていないコンテナイメージが本番環境にデプロイされるのを防ぎたい場合。
- コンプライアンス要件: 厳格なデプロイメントプロセスと承認フローが求められる規制業界など。
3. 暗号化 – Google が管理する暗号鍵
Cloud Runサービスによって**保存されるデータ(コンテナイメージのディスクイメージなど)**を、Googleがデフォルトで提供する暗号鍵で暗号化するかどうかを定義します。
設定のポイント
メリット
追加設定不要で、ユーザーが鍵の管理を行う必要がなく、手軽にセキュリティを確保できます。
4. 暗号化 – Cloud KMS 鍵
Cloud Runサービスによって保存されるデータを、ユーザー自身が管理するCloud Key Management Service (KMS) の鍵で暗号化するかどうかを定義します。これを「顧客管理の暗号鍵(CMEK: Customer-Managed Encryption Key)」と呼びます。
設定のポイント
ユースケース
- 厳格なコンプライアンス要件: 特定のセキュリティ規制や内部ポリシーにより、データの暗号化に使用する鍵の管理をGoogleではなく自社で行う必要がある場合。
- 鍵の無効化によるデータアクセス制御: 万が一データへのアクセスを即座に停止したい場合に、KMSの鍵を無効化することでその効果を発揮できます。
まとめ
Cloud Runの「セキュリティ」タブにあるこれらの設定は、あなたのCloud Runサービスを多角的に保護するためのツールです。
- サービスアカウント: サービスが他のGCPリソースにアクセスする際の権限を厳密に制御し、最小権限の原則を適用する。
- Binary Authorization: デプロイされるコンテナイメージの信頼性とポリシー準拠を強制し、サプライチェーンセキュリティを強化する。
- Google 管理の暗号鍵: 保存データが自動的に暗号化される、基本的なデータ保護を提供する。
- Cloud KMS 鍵: 暗号鍵の管理をユーザー自身が制御し、特定のコンプライアンス要件を満たす。
これらのセキュリティ設定を適切に理解し、あなたのアプリケーションの要件と組織のセキュリティポリシーに合わせて構成することで、Cloud Runサービスをより堅牢で安全なものにすることができるでしょう。


コメント