GCP

Google Cloud データガバナンスと BigQuery の完全ガイド

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
1ヶ月で資格+現場入り

インフラエンジニアへの最短ルート

未経験でもAWS・Linux・ネットワーク資格を最短で取り、現場入りまでサポート。SREやクラウドエンジニアの入口。

CODE×CODEスピード転職|無料面談▶ SRE/クラウドのフリーランス案件▶

▶ AWS/GCP/Kubernetesの独学には Kindle Unlimited の技術書読み放題がコスパ最強。


スポンサードリンク

1. データガバナンスの構成要素(4 層モデル)

階層 主なサービス 目的
メタデータ基盤 Data Catalog / Dataplex Universal Catalog 資産の一意 ID と検索インデックスを提供し、ビジネス・技術・運用メタデータを統合管理
アクセス制御 IAM(プロジェクト/データセット/テーブル単位) 最小権限の原則に基づく認可
機密情報保護 Cloud DLP + Policy Tag(Data Catalog のタグ) 検出・マスキングと列レベルセキュリティ
監査・モニタリング Cloud Audit Logs / Access Transparency すべての操作を証跡として残し、リアルタイムで可視化

ポイント
BigQuery は「分析層」の中心に位置し、上記 4 層すべてとシームレスに連携します。

参考文献

  1. Data Catalog – メタデータ管理: https://cloud.google.com/data-catalog/docs
  2. Dataplex Universal Catalog の概要: https://cloud.google.com/dataplex/docs/universal-catalog
  3. IAM の権限設計ベストプラクティス: https://cloud.google.com/iam/docs/best-practices
  4. Cloud DLP と Policy Tag の連携方法(カスタム実装例): https://cloud.google.com/dlp/docs/concepts-policy-tag-integration

2. Dataplex Universal Catalog による資産一元管理

2‑1. 主な機能

  • 自動クローリング:BigQuery の新規テーブルが作成されるたびにメタデータを取得し、Data Catalog に登録。
  • カスタム属性(Enum 推奨):data_owner, sensitivity_level など組織独自の分類情報を付与でき、ポリシーエンジンと連携しやすくなる。

2‑2. 設定手順(概要)

  1. Lake の作成
    bash
    gcloud dataplex lakes create enterprise-lake \
    --region=asia-northeast1 \
    --project=$PROJECT_ID \
    --description="Enterprise data lake with Universal Catalog"
  2. Universal Catalog 有効化(Lake 作成時に --enable-universal-catalog オプションを付与)
  3. Asset の登録(対象プロジェクト・データセットを指定)

ベストプラクティス
- カタログ更新は 24 時間以内に完了させ、ポリシー適用遅延を防止。
- カスタム属性は Enum 型 に統一し、タグ付与時の入力ミスを最小化。


3. IAM と Policy Tag による階層的アクセス制御

3‑1. ロール設計の基本方針

階層 推奨ロール例 主な権限
プロジェクト roles/bigquery.admin(管理者) 全リソースの作成・削除
データセット roles/bigquery.dataViewerroles/bigquery.dataEditor SELECT / INSERT‑UPDATE‑DELETE
テーブル/列 カスタムロール bigquery.columnReaderbigquery.tables.getData) + Policy Tag で列レベル制御 列単位の読み取り可否

IAM の階層は 上位が下位を包括 するため、最小権限を実現しやすい。公式ガイドでも「プロジェクト・データセット・テーブルレベルでロールを組み合わせる」ことが推奨されている【3】。

3‑2. Policy Tag の作成と列への適用(簡易サンプル)

注意点
Policy Tag と DLP の自動連携は GCP の標準機能ではありません。タグ付与は Cloud Functions などで検出結果を受け取って実装する必要があります(下章参照)。


4. Cloud DLP と Policy Tag を組み合わせた機密情報保護フロー

4‑1. 標準的な構成要素

コンポーネント 役割
DLP 検査テンプレート 正規表現・辞書ベースで SSN やクレジットカード番号を検出
DLP ジョブ(スケジュール) 指定テーブルを定期的にスキャンし、結果を Pub/Sub に送信
Cloud Functions (Python) Pub/Sub メッセージをトリガーに対象列へ Policy Tag を付与
Data Catalog の Policy Tag 列レベルアクセス制御とマスク処理の基盤

4‑2. 実装フロー(概要)

  1. 検査テンプレート作成
    bash
    gcloud dlp inspect-templates create ssn-template \
    --info-types=US_SSN \
    --min-likelihood=POSSIBLE \
    --project=$PROJECT_ID
  2. ジョブトリガー設定(Terraform で管理)

  1. Cloud Function がタグ付与(最小限のコード例)

重要:このように Pub/Sub → Cloud Functions → Policy Tag の流れを構築しなければ、DLP が自動でタグ付与することはできません(標準機能では未対応)。


5. IaC(Terraform)でガバナンス全体をコード化

以下は 主要リソースだけ を抽出した最小構成です。詳細なパラメータはプロジェクト要件に合わせて調整してください。

ポイント
- backend.tf に GCS リモートステートを設定し、環境差分(dev / prod)をコードで明示。
- CI/CD(GitHub Actions, Cloud Build 等)に組み込むことで、変更のレビューと自動適用が保証される。


6. 継続的コンプライアンス監視と落とし穴回避

6‑1. 監査ログ・Access Transparency の活用

項目 設定手順
Audit Log エクスポート Logging Sink → BigQuery データセット audit_logs にストリーム
Access Transparency 組織レベルで有効化(デフォルトは無効)
可視化ダッシュボード Cloud Monitoring のカスタムウィジェットに以下クエリを貼り付け

6‑2. よくある失敗と対策

誤りケース 影響 回避策
ロールの過剰付与(例:全員に bigquery.admin データ漏洩リスク・監査指摘 IAM テンプレート化+Terraform の plan 時に差分レビューを必須化
Policy Tag 未適用の機密列 DLP スキャンはできてもマスクが効かない Cloud Function で未タグ列を検知するバッチクエリ(WHERE policy_tags IS NULL)を定期実行し、アラートを送信
Audit Log のエクスポート忘れ インシデント時の証跡が残らない google_logging_project_sink を必須リソースとして IaC に組み込み
Dataplex カタログ更新遅延 ポリシー適用タイミングがずれる 重要テーブルは手動で gcloud dataplex assets update を実行し、スケジュールを「6 時間ごと」に変更

7. まとめ

  • Google Cloud のデータガバナンスData Catalog → Dataplex Universal Catalog → IAM → Cloud DLP + Policy Tag の4層で構成され、BigQuery が分析層の中心としてすべてと連携します。
  • Dataplex により資産が自動でカタログ化され、IAM と Policy Tag で最小権限かつ列レベルの機密保護が実現できます。
  • Cloud DLP と Policy Tag の統合は標準機能ではなく、Pub/Sub → Cloud Functions のパイプラインを自前で構築する必要があります(公式ドキュメント[4]参照)。
  • IaC(Terraform)と CI/CD を活用すれば、ガバナンス設定の再現性・変更管理が保証され、運用上のヒューマンエラーを大幅に削減できます。
  • 監査ログと Access Transparency を BigQuery に集約し、ダッシュボードでリアルタイム可視化することで、継続的なコンプライアンスチェックが可能です。

次のステップ:本記事をベースに自組織のポリシーを「テンプレート化」し、Terraform リポジトリへインポート。CI パイプラインで planapply のフローを確立すれば、データガバナンスがコードとして永続的に管理できるようになります。

スポンサードリンク

お得なお知らせ

スポンサードリンク
1ヶ月で資格+現場入り

インフラエンジニアへの最短ルート

未経験でもAWS・Linux・ネットワーク資格を最短で取り、現場入りまでサポート。SREやクラウドエンジニアの入口。

CODE×CODEスピード転職|無料面談▶ SRE/クラウドのフリーランス案件▶

▶ AWS/GCP/Kubernetesの独学には Kindle Unlimited の技術書読み放題がコスパ最強。


-GCP