Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2023 年の BigQuery 権限管理
Search
na0
February 16, 2023
Programming
3.4k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2023 年の BigQuery 権限管理
酒とゲームとインフラとGCP 第18回 発表資料
na0
February 16, 2023
More Decks by na0
See All by na0
データエージェントのためのナレッジカタログ
na0
4
3.4k
データ活用 3.0 with Socrates
na0
2
2.1k
AI 時代のデータ戦略
na0
8
6.2k
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
3
1.8k
BigQuery でできること、人間がやるべきこと
na0
0
1.3k
データ分析エージェント Socrates の育て方
na0
10
6.8k
AI エージェントと考え直すデータ基盤
na0
26
13k
メルカリにおけるデータアナリティクス AI エージェント「Socrates」と ADK 活用事例
na0
29
36k
BigQuery リリースノート - 2023年上半期 #bq_sushi
na0
3
520
Other Decks in Programming
See All in Programming
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
740
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
260
RTSPクライアントを自作してみた話
simotin13
0
600
The NotImplementedError Problem in Ruby
koic
1
740
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
230
さぁV100、メモリをお食べ・・・
nilpe
0
140
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
120
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
190
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
780
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
410
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
160
JavaDoc 再入門
nagise
0
330
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
330
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
940
YesSQL, Process and Tooling at Scale
rocio
174
15k
Leo the Paperboy
mayatellez
7
1.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Transcript
2023 年の BigQuery 権限管理 na0 酒とゲームとインフラとGCP 第18回
はじめのはじめに BigQuery はとても楽しい • 今日の話を知らなくても BigQuery を触り始めるのに差し支えなし! 気楽に聞いてね • 49
ページ / 20 分 • 資料公開済み Twitter @ na0fu3y • この資料よりも公式ドキュメントが詳しく正しい 想定読者 • BigQuery でデータを組織活用したい人 • セキュリティ ポリシーを BigQuery に適用したい人
ID • na0 • Naofumi Yamada • na0fu3y (Twitter /
GitHub) Google Cloud との関わり • Google Cloud Champion Innovator - Data Analytics • BigQuery ユーザコミュニティ BQ FUN 主催者 趣味 • BigQuery • ボードゲーム • マリオカート8 デラックス 自己紹介
背景 • データ活用とセキュリティのバランスが求められている • BigQuery はデータ活用とセキュリティに注力できるサービス メッセージ • BigQuery はアクセス制御・監査の多様なサービスと連携する
• 最初から完璧を目指さず、情報を集め、改善しよう 今日のゴール • あの業務で使えるかも?を 1 つでも持ち帰ってもらう 今日伝えること
目次 1. はじめに 2. BigQuery のアクセス制御 3. BigQuery の監査 4.
BigQuery のデータ検出 5. 権限設計案 6. おわりに 前半 5 分 後半 15 分
暗黙知 • 経験 • 勘 形式×暗黙知 • AI • RPA
• 委託 形式知 • 計測 • 集計 • 可視化 データ活用の要請 はじめに • 統計分析 • 自動化 • 品質管理 業務効率化のために形式知化が進められている 結果として、データ基盤を作る組織が増えている
セキュリティの要請 はじめに セキュリティ・コンプライアンスも重要 誰が、いつ、どこから、どのデータに したい データ活用とのバランス アクセス可能かを設計 アクセスしたかを記録 機密性 可用性 誰もアクセスできないなら安全
誰でもアクセスできるなら活用しやすい より良いバランスを目指して解像度を高めるのが大事
BigQuery の概要 はじめに Google Cloud のサーバーレス データウェアハウス 強み • 「利用者の管理が必須なもの」が少ない(データとアクセス制御)
• 大規模データの保存・分析 • 各種 Google プロダクトと連携 この資料で取り上げること • Google Cloud のサービス群を組み合わせて、BigQuery の攻めと守りのバラ ンスを柔軟に設計する • 今日は概要のみ、個別の詳細設計は専門家にお問合せ
BigQuery の権限管理 はじめに BigQuery の権限管理は、以下の要素の集合 アクセス管理 誰がアクセスするか アクセス監査 誰がアクセスしたか データ検出
管理対象を網羅しているか
概要 BigQuery のアクセス制御 アクセス管理 誰がアクセスするか アクセス監査 誰がアクセスしたか データ検出 管理対象を網羅しているか BigQuery
は様々なサービスを用いてアクセス制御できる • Cloud IAM • Cloud IAM 拒否ポリシー 2022 GA • BigQuery • Cloud KMS • VPC Service Controls • BigLake 2022 GA • Dataplex 2022 GA • Analytics Hub 2023 GA • Resource Manager 2023 GA
概要 BigQuery のアクセス制御 アクセス管理 誰がアクセスするか アクセス監査 誰がアクセスしたか データ検出 管理対象を網羅しているか 規模別のおすすめサービス
1. データ基盤利用者~30人 ◦ Cloud IAM ◦ BigQuery INFORMATION_SCHEMA 2. データ基盤利用者~99人 ◦ + BigQuery IAM ◦ + Cloud Logging ◦ (任意)+ BigQuery 承認済みデータセット or + BigQuery 列レベル セキュリティ 3. データ基盤利用者100~人 ◦ + VPC Service Controls ◦ + BigLake ◦ (任意)+ Dataplex ◦ (任意)+ Analytics Hub ◦ (任意)+ BigQuery 行レベル セキュリティ
Google Cloud の権限 BigQuery のアクセス制御 • 許可ポリシーに該当すれば許可 • 禁止ポリシーに該当すれば 許可ポリシーによらず禁止
• ポリシーは子リソースに継承 https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy より図を引用
Organization Cloud IAM 「誰のどのサービスへの、読み書きを許可するか」を設定する。 組織、フォルダ、プロジェクトレベルで設定できる。 用途 • 組織やプロジェクトレベルで変動する大まかな権限設定 BigQuery のアクセス制御
Project - data source Project - free to use BigQuery BigQuery 読み +書き
Cloud IAM 拒否ポリシー 2022 GA 「誰のどのサービスへの、読み書きを禁止するか」を設定する。 組織、フォルダ、プロジェクトレベルで設定できる。 許可ポリシーより優先される。 用途 •
親リソースで許可された ポリシーからの防御 BigQuery のアクセス制御 Organization Project - data source Project - data clean room BigQuery BigQuery 読み -読み
BigQuery 「誰のどの BigQuery オブジェクトへの、読み書きを許可するか」を BigQuery データセット、オブジェクト、列、行レベルで設定する。 用途 • BigQuery オブジェクトレベルで管理すべき細部の権限設定
BigQuery のアクセス制御 レベル アクセス制御 データセット • BigQuery IAM • 承認済みデータセット オブジェクト • BigQuery IAM • 承認済み関数 / ビュー 行 • 行レベルのアクセス ポリシー 列 • ポリシータグ • Cloud KMS
BigQuery BigQuery IAM 「誰のどの BigQuery オブジェクトへの、読み書きを許可するか」を BigQuery データセット、オブジェクトレベルで設定する。 用途 •
データセット単位やテーブル単位で 権限を変えたい場合 BigQuery のアクセス制御 所属事業データはアクセス可 別事業データはアクセス権なし
BigQuery 承認済みデータセット、ビュー、関数 ソースデータへのアクセス許可なく、ビューや関数の結果を共有する。 用途 • 一部の列や行を隠したり、加工して見せたい BigQuery のアクセス制御 アクセス権限なし 加工ビュー
未加工データ アクセス可
BigQuery 行レベルのアクセス ポリシー 「誰のどのテーブル行への、読みを許可するか」を設定する。 用途 • メンバーとマネージャーで 閲覧できる行を増減する BigQuery のアクセス制御
https://cloud.google.com/bigquery/docs/row-level-security-intro より図を引用
BigQuery ポリシータグ 「誰のどのテーブル列への、読みを許可するか」を設定する。 用途 • 一部の列の閲覧者を 制限したい BigQuery のアクセス制御 https://cloud.google.com/bigquery/docs/column-data-masking-intro
より図を加工
Cloud KMS 「テーブル列を暗号化し、鍵のアクセス権による復号権限」を追加管理す る。 用途 • BigQuery 外で暗号化した データを読む BigQuery
のアクセス制御 https://cloud.google.com/bigquery/docs/column-key-encrypt より図を引用
VPC Service Controls 「ネットワークやサービスをどう横断する、読み書きを許可・禁止するか」を プロジェクト、 VPC ネットワークレベルで設定する。 用途 • 信頼できる経路のみ、リソースの移動を許可する
BigQuery のアクセス制御 機密情報 BigQuery オフィス 承認済みソースIP 自宅や外出先 未承認ソースIP BigQuery Cloud Storage Cloud Storage
BigLake 2022 GA BigQuery の外のリソースへのアクセス許可を、 BigQuery に委任する。 用途 • 権限管理をサービスアカウントレベルから
BigQuery オブジェクトレベルに 寄せる BigQuery のアクセス制御 https://cloud.google.com/bigquery/docs/biglake-intro より図を引用
Dataplex 2022 GA 「誰の、どのサービスへの、読み書きを許可するか」を Dataplex リソースレベルで設定する。 用途 • プロジェクト横断のビジネスドメインやデータ信頼度レベルでの整理 BigQuery
のアクセス制御 https://cloud.google.com/dataplex/docs/introduction より図を引用
Analytics Hub 2023 GA 「誰の、BigQuery のデータセットへの、読みを許可するか」を BigQueryデータセットに対応するListingレベルで設定する 用途 • 組織間のデータ交換
BigQuery のアクセス制御 https://cloud.google.com/analytics-hub より図を引用
Resource Manager 2023 GA 「誰の、どのサービスへの、読み書きを許可するか」を設定する。 組織、フォルダ、プロジェクト、BigQuery データセットレベルで設定でき る。 用途 •
BigQuery 以外のリソースも 含めた一貫管理 BigQuery のアクセス制御 https://cloud.google.com/resource-manager/docs/tags/tags-overview より画像を引用
注意 BigQuery のアクセス制御 BigQuery の機能を活用しすぎず、 組み合わせ爆発しない権限設計を心がける 例 • 全社の大まかな権限設定は、大きめに行う ◦
プロジェクト × ユーザー単位 ◦ データセット × Google グループ単位 • 最も厳しいセキュリティ ポリシーにのみ対応する専門チームを作り、VPC Service Controlsを用いたセキュアゾーンを作る
まとめ BigQuery のアクセス制御 BigQuery は様々な方法でアクセス制御できる サービス 概要 Cloud IAM 誰の、どのサービスへの、読み書きを許可するか
Cloud IAM 拒否ポリシー 2022 GA 誰の、どのサービスへの、読み書きを 禁止するか BigQuery 誰の、どの BigQuery オブジェクトへの、読み書きを許可するか Dataplex 2022 GA 誰の、どの BigQuery・Cloud Storage オブジェクトへの、読み書きを許可するか Resource Manager 2023 GA 誰の、どのサービス、 BigQuery データセットへの、読み書きを許可するか Analytics Hub 2023 GA 誰の、BigQuery のデータセットへの、読みを許可するか VPC Service Controls ネットワークやサービスをどう横断する、読み書きを許可するか BigLake 2022 GA BigQuery の外のリソースへの読みの許可を、 BigQuery に委任する
BigQuery の監査 アクセス管理 誰がアクセスするか アクセス監査 誰がアクセスしたか データ検出 管理対象を網羅しているか 概要 BigQuery
のアクセス監査に使えるサービス • BigQuery • Cloud Logging
BigQuery INFORMATION_SCHEMA ビューを用いて SQL で監査できる BigQuery の監査 JOBS_BY_* BigQuery ジョブの現在の状態
を確認できる 誰が使っているか確認 OBJECT_PRIVILEGES BigQuery オブジェクトに 設定されているアクセス制御 を確認できる 正しく設定されているか確認 用途 • オーナー権限が過剰について いないか確認する – 例)オーナー権限がついている数を確認 SELECT COUNTIF(privilege_type = "roles/bigquery.dataOwner") FROM myproject.`region-us`.INFORMATION_SCHEMA.OBJECT_PRIVILEGES WHERE object_name = "mydataset"
Cloud Logging 監査ログ 管理アクティビティやデータアクセスのログが書き込まれる (データアクセス監査ログは有効化が必要)。 「誰が、いつ、どこで、何をしたか」が確認できる。 用途 • どのテーブルやクエリが最も主流か確認する •
データコネクタを用いて参照しているスプレッドシートを特定する BigQuery の監査
BigQuery のデータ検出 アクセス管理 誰がアクセスするか アクセス監査 誰がアクセスしたか データ検出 管理対象を網羅しているか 概要 BigQuery
のデータ検出に使えるサービス • Dataplex • Cloud DLP 用途 • 届きにくいデータへの ショートカットとしてカタログ • 個人情報の含まれるデータを 自動で特定する https://cloud.google.com/bigquery/docs/data-governance より図を引用
BigQuery のデータ検出 Dataplex 2022 GA https://cloud.google.com/data-catalog/docs/concepts/overview, https://cloud.google.com/dataplex/docs/data-profiling-overview より図を引用 メタデータの管理、検索、データプロファイリングを行う。 (Data
Catalog は Dataplex に統合)
BigQuery のデータ検出 Cloud DLP https://cloud.google.com/dlp より図を引用 データの検出、分類、機密の秘匿化を行う。
前半のまとめ BigQuery の権限管理は、以下の要素の集合 バランスよく取り入れよう アクセス管理 アクセス監査 データの検出 × × 誰がアクセスするか
Cloud IAM など 誰がアクセスしたか Cloud Logging など 管理対象を網羅しているか Cloud DLP など
概要 BigQuery の権限設計のアイデア 複数企業事例を踏まえたダミー情報です。 na0 チャート 1. データ基盤利用者~30人 ◦ Cloud
IAM ◦ BigQuery INFORMATION_SCHEMA 2. データ基盤利用者~99人 ◦ + BigQuery IAM ◦ + Cloud Logging ◦ (任意)+ BigQuery 承認済みデータセット or + BigQuery 列レベル セキュリティ 3. データ基盤利用者100~人 ◦ + VPC Service Controls ◦ + BigLake ◦ (任意)+ Dataplex ◦ (任意)+ Analytics Hub ◦ (任意)+ BigQuery 行レベル セキュリティ 権限設計案
データ基盤の素 各自が手元でデータを読み書きする。 権限設計案 Google Workspace Local Local 売上_最終版_v3.xlsx 売上_最終版_v2_のコピー(経理確認済み .xlsm
社内閲覧者 うまいことデータ提供 社員名簿_2023_Q2.docx 稟議書テンプレート (2).xls
個人データ基盤 権限設計案 管理者 自由なプロジェクト BigQuery Google Cloud プロジェクトを作成して、1人でデータを読み書きする。 管理者 1
人 主なサービス Cloud IAM Google Workspace
小さなデータ基盤 データ利用の布教活動。 管理者 2~9 人 主なサービス Cloud IAM 権限設計案 管理者
自由なプロジェクト BigQuery 書込みを制限されたプロジェクト BigQuery Google Workspace
権限管理の幕開け 権限の分離。 管理者 1~3 人 データ編集者 0~4 人 データ閲覧者 0~9
人 主なサービス • Cloud IAM 権限設計案 管理者 編集者 自由なプロジェクト BigQuery 書込みを制限されたプロジェクト BigQuery 社内閲覧者
自由なデータ作成環境 綺麗なデータを置くプロジェクト・データセットを分離。 管理者 2~5 人 データ編集者 3~9 人 データ閲覧者 1~29
人 主なサービス • Cloud IAM 権限設計案 社内閲覧者 編集者 自由なプロジェクト BigQuery 書込みを制限されたプロジェクト BigQuery
閲覧権限の細分化 個人情報を排したデータを承認済みビューで提供 管理者 3~9 人 データ編集者 5~29 人 データ閲覧者 20~99
人 主なサービス • 承認済みデータセット • BigQuery IAM 権限設計案 社内閲覧者 編集者 自由なプロジェクト BigQuery 承認済みビュー BigQuery 書込みを制限されたプロジェクト BigQuery
権限の重複を避けてリソース階層で共通化 管理者 4~19 人 データ編集者 5~29 人 データ閲覧者 20~99 人
主なサービス • Cloud IAM リソース階層の導入 権限設計案 組織 社内閲覧者 編集者 自由なプロジェクト BigQuery 承認済みビュー BigQuery 新プロダクト BigQuery 書込みを制限されたプロジェクト BigQuery いつのまにか登場したプロジェクト
監査 監査やデータガバナンスのためのアセスメント 管理者 4~19 人 データ編集者 1~49 人 データ閲覧者 1~99
人 主なサービス • Cloud Logging 権限設計案 組織 社内閲覧者 編集者 自由なプロジェクト BigQuery 承認済みビュー BigQuery 新プロダクト BigQuery 監査用プロジェクト BigQuery log sink 書込みを制限されたプロジェクト BigQuery
他クラウド環境からの結合 AWSのデータをクエリする 管理者 5~19 人 データ編集者 1~49 人 データ閲覧者 1~299
人 主なサービス • BigLake 権限設計案 組織 社内閲覧者 編集者 自由なプロジェクト BigQuery 承認済みビュー BigQuery 新プロダクト BigQuery 監査用プロジェクト BigQuery log sink 書込みを制限されたプロジェクト BigQuery 新プロダクト Amazon S3 BigLake
組織横断権限の削減 データの認知負荷を下げる、組織横断を避けるための権限絞り込み 管理者 5~19 人 データ編集者 1~49 人 データ閲覧者 1~299
人 主なサービス • BigQuery IAM 権限設計案 組織 社内閲覧者 編集者 自由なプロジェクト BigQuery 承認済みビュー BigQuery 新プロダクト BigQuery 監査用プロジェクト BigQuery log sink 書込みを制限されたプロジェクト BigQuery 新プロダクト Amazon S3 BigLake
セキュアゾーン 個人情報等へアクセス可能な、堅牢な環境を用意する 管理者 5~49 人 データ編集者 1~299 人 データ閲覧者 1~999
人 主なサービス • VPC Service Controls 権限設計案 組織 社内閲覧者 編集者 自由なプロジェクト BigQuery 承認済みビュー BigQuery 新プロダクト BigQuery 監査用プロジェクト BigQuery log sink データ クリーンルーム 書込みを制限されたプロジェクト BigQuery オフィス 新プロダクト Amazon S3 BigLake
データ配布 社外のBigQuery利用者にデータを配布する 管理者 5~49 人 データ編集者 1~299 人 データ閲覧者 1~999
人 主なサービス • Analytics Hub 権限設計案 組織 社内閲覧者 編集者 自由なプロジェクト BigQuery 承認済みビュー BigQuery 新プロダクト BigQuery 監査用プロジェクト BigQuery log sink データ クリーンルーム 書込みを制限されたプロジェクト BigQuery オフィス 社外閲覧者 新プロダクト Amazon S3 BigLake
BigQuery オブジェクトの廃止 退職等により、保守できない BigQuery オブジェクトの新規閲覧を縮小 管理者 5~49 人 データ編集者 1~299
人 データ閲覧者 1~999 人 主なサービス • Cloud IAM 権限設計案 組織 社内閲覧者 編集者 自由なプロジェクト BigQuery 承認済みビュー BigQuery 新プロダクト BigQuery 監査用プロジェクト BigQuery log sink データ クリーンルーム 書込みを制限されたプロジェクト BigQuery オフィス 社外閲覧者 新プロダクト Amazon S3 BigLake
おわりに 背景 • データ活用とセキュリティのバランスが求められている • BigQuery はデータ活用とセキュリティに注力できるサービス メッセージ • BigQuery
はアクセス制御・監査の多様なサービスと連携する • 最初から完璧を目指さず、情報を集め、改善しよう 今日のゴール • あの業務で使えるかも?を 1 つでも持ち帰ってもらう
Q&A 小規模 データ基盤のニーズ、シーズどちらが先? ニーズが先。ただし顧客の声を聞きすぎない。 データ基盤から生えた BI やスプレッドシートに基づく、オペレー ションとどう戦うか? (暗黙的であっても)サービスレベルに適合するなら推進してよい。適合しな いなら、サービスレベルをあげた基盤を作るか、オペレーション側の要件を下
げるように調整する。 データ基盤の作ったけど利用者増えない ニーズがないか、利用コストが見合ってないか、認知されていないか。 おまけ
Q&A 中規模 データ基盤の権限頑張っても BI ツールでアクセスされる? 抜け穴にならないように、OAuth 認証を基本としたり、レポート作成者のリテ ラシー勉強会をする。 SQL 書けないと使えない?
スプレッドシートや Looker Studio の BigQuery / Looker 接続なら、利用者 側は使い慣れたピボットテーブルでデータを扱える。 おまけ
Q&A 大規模 アクセス整理中も参照され続けるんだけど? • 拒否ポリシーを使う • 監査ログを使って、利用者を特定して、丁寧にサポートする • 元テーブルをコピーして、元テーブル +
ERROR() を返すビューに置き換え る • 急にアクセス権限を止めると、業務上の事故に繋がるので留意する 単一のテーブルをBIで複数社に提供したい • シャーディングでテーブルを分離する • 行レベルセキュリティで分離する • SESSION_USER() = x な viewを作る Dataplexの事例は? 大規模な組織で適用した事例は見つけられず。 おまけ