🔒 VPC Service Controls によるアクセス制御設定

データ分析チームと外部コンサルタントチームのアクセス管理
📋 シナリオ要件

共通条件: 両チームは Data-Analytics フォルダ内のプロジェクトの「閲覧者ロール」を保持

👥 データ分析チーム
✅ BigQuery へのアクセス
✅ Cloud Storage へのアクセス
👔 外部コンサルタントチーム
✅ BigQuery へのアクセスのみ
❌ Cloud Storage へのアクセス不可
🛡️ VPC Service Controls 境界
📊
BigQuery
制限付きAPI
🗄️
Cloud Storage
制限付きAPI
👥
データ分析チーム
📁 閲覧者ロール
境界内に配置
アクセス可能:
✅ BigQuery
✅ Cloud Storage
👔
外部コンサルタント
📁 閲覧者ロール
境界外に配置
アクセス可能:
✅ BigQuery のみ
❌ Cloud Storage
許可
許可
許可
拒否
🔑 凡例
🛡️
VPC Service Controls 境界
保護されたリソースの境界線
アクセス許可
リソースへのアクセスが可能
アクセス拒否
リソースへのアクセスがブロック
📊
制限付きAPI
境界による保護対象サービス
⚙️ 設定手順
1
VPC Service Controls 境界を作成
Data-Analytics フォルダ配下のプロジェクトに対して VPC Service Controls の境界(Perimeter)を作成します。この境界が保護の基盤となります。
2
制限付きAPIとしてBigQueryとCloud Storageを設定
境界内で BigQuery と Cloud Storage を「制限付きAPI」として指定します。これにより、これらのサービスへのアクセスが境界のルールに従って制御されます。
3
データ分析チームを境界内に配置
データ分析チームのユーザーまたはサービスアカウントを境界内のメンバーとして追加します。境界内のメンバーは、制限付きAPIとして設定されたすべてのサービス(BigQuery と Cloud Storage)にアクセスできます。
4
外部コンサルタントチームは境界外に配置
外部コンサルタントチームは境界のメンバーに含めません。境界外のユーザーは、デフォルトではCloud Storageにアクセスできなくなります。BigQueryへのアクセスは、IAMロール(閲覧者ロール)で個別に制御します。
5
IAM権限の確認と調整
両チームが「閲覧者ロール」を持っているため、BigQueryに対する基本的な閲覧権限は維持されます。VPC Service Controlsにより、Cloud Storageへのアクセスが境界外のユーザー(外部コンサルタント)に対してのみブロックされます。
✨ この解決策のポイント

境界による階層的な制御: VPC Service Controls は IAM よりも上位のレイヤーで動作し、境界を越えるアクセスを物理的にブロックします。これにより、IAM で権限があっても境界外のユーザーは Cloud Storage にアクセスできません。

きめ細かいアクセス管理: データ分析チームは境界内にいるため両方のサービスにアクセス可能。外部コンサルタントは境界外にいるため、Cloud Storage へのアクセスが自動的にブロックされ、BigQuery へは IAM 権限で個別にアクセス可能という、要件にぴったりの制御が実現できます。

データ漏洩防止: 外部コンサルタントが誤ってまたは意図的に Cloud Storage のデータを持ち出すリスクを、ネットワークレベルで防止できます。

📊 他の選択肢との比較

アプローチ メリット デメリット
✅ VPC Service Controls
(推奨解決策)
• ネットワークレベルでの強力な保護
• きめ細かいアクセス制御
• データ漏洩防止
• 管理が明確
• 初期設定にやや時間がかかる
• VPC Service Controls の理解が必要
IAM 権限の削除のみ • シンプルで理解しやすい
• 設定が簡単
• BigQuery へのアクセスも影響を受ける可能性
• きめ細かい制御が困難
• 権限の誤設定リスク
VPC ファイアウォールルール • ネットワークレベルの制御 • IAM ベースの制御との統合が不明確
• API レベルのアクセス制御には不向き
• 管理が複雑になる
データ分析チームの権限強化のみ • データ分析チームの利便性向上 • 外部コンサルタントの制限を適切に管理できない
• セキュリティ要件を満たさない
• 問題を解決しない
🎯 まとめ

VPC Service Controls を使用することで、以下を実現できます:

この方法は、最小権限の原則に従いながら、各チームの業務要件を満たす最適な解決策です。