Upgrade to Pro — share decks privately, control downloads, hide ads and more …

セキュアなBigQueryの運用方法

 セキュアなBigQueryの運用方法

JulyTechFesta2021 登壇資料
https://techfesta.connpass.com/event/213069/

IAM,VPC Service Controls, Logging, 承認済みviewなどBigQuery周りのセキュリティサービスはいくつもあります。セキュリティを担保するためのサービスとしてどのようなものがあるのか、またそれを使った運用方法はどのようなやり方があるのかを実例を交えて紹介します。

#JTF2021 #JTF2020_C

yu-yamada

July 18, 2021
Tweet

More Decks by yu-yamada

Other Decks in Technology

Transcript

  1. 2021/4にingress/egressそれぞれ別にruleを設定出来る機能が GAとなった ingress/egress rules ProjectA vpc-sc ProjectB vpc Compute Engine

    Cloud Storage 特定のプロジェクトから、 特定のAPIのみ叩くことを許可す るといった設定が可能に
  2. ingress/egress BigQueryの場合 BigQueryを使用した通信許可の場合、一方向の通信であっても、 双方向のAPI許可設定が必要となる ProjectA vpc-sc ProjectB vpc BigQuery Cloud

    Storage BigQueryからGCSへの 書き込み設定をする場合は ingress/egress双方で 下記の許可が必要(一部抜粋) - method: google.storage.buckets.testIamPermissions - method: google.storage.objects.delete - method: google.storage.buckets.get - method: google.storage.objects.create serviceName: storage.googleapis.com
  3. VpcServiceControlsの注意点 • 境界内で使えるサービスは限られる ◦ 新しいサービスは基本使えない ◦ 制限を把握した上での設計が必要 ≠ 一般的なクラウド設計 •

    境界内で使えるサービスにおいても制限事項あり →利便性とのトレードオフが多く、    vpc-scを使うと一般的なGCPとは別物になると考えたほうが良い 金融など絶対にデータを守りたい場合にはあっているが、 まずはvpc-sc以外での防御方法がないか吟味を行い どうしても使わないといけない場合のみvpc-scの選択を行う
  4. gcloud asset search-all-iam-policies \ --scope='projects/PROJECT_NAME' \ --query='policy : "USER_ACCOUNT" '

    呼び出しにはcloudasset.assets.searchAllIamPolicies 権限が必要 自分の権限の確認方法 CloudAssetInventoryのIAMポリシーの検索を使用することで、 一括で取得可能
  5. gcloud asset analyze-iam-policy \ --project=PROJECT_NAME \ --full-resource-name='//bigquery.googleapis.com/projects/PROJECT_NAME/datasets/ DATASET_NAME/tables/TABLE_NAME' \ --permissions='bigquery.tables.get'

    \ --expand-groups テーブルにアクセス出来る人の確認方法 CloudAssetInventoryのPolicyAnalyzerを使用することで、 一括で取得可能