SlideShare a Scribd company logo
BigQueryにおけるポリシータグ
を用いた秘密情報管理とデータ連携
株式会社ZOZO
技術本部 MA部 MA開発2ブロック 谷口恵輔(@csk_pos)
Copyright © ZOZO, Inc.
1
© ZOZO, Inc. 2
株式会社ZOZO
技術本部 MA部 MA開発2ブロック
谷口 恵輔
● データ基盤や配信基盤の開発と運用をしています
● 以前は位置情報の分析をしていました
● 沖縄に住んでいます
2
© ZOZO, Inc.
https://zozo.jp/
● ファッションEC
● 1,500以上のショップ、8,400以上のブランドの取り扱い
● 常時90万点以上の商品アイテム数と毎日平均2,600点以上の新着 商品
を掲載(2022年9月末時点)
● ブランド古着のファッションゾーン「ZOZOUSED」や
コスメ専門モール「ZOZOCOSME」、靴の専門モール
「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン
「ZOZOVILLA」を展開
● 即日配送サービス
● ギフトラッピングサービス
● ツケ払い など
3
© ZOZO, Inc.
https://wear.jp/
4
● ファッションコーディネートアプリ
● 1,600万ダウンロード突破、コーディネート投稿総数は1,300万件以上
(2022年9月末時点)
● ピックアップタグから最新のトレンドをチェック
● コーディネート着用アイテムを公式サイトで購入可能
● WEAR公認の人気ユーザーをWEARISTAと認定。モデル・タレント・デザ
イナー・インフルエンサーといった各界著名人も参加
© ZOZO, Inc. 5
https://zozo.jp/zozomat/
● 自宅にいながら簡単に高精度な足の3D計測ができる計測マット
● 計測したデータをもとに、自分の足型と靴の“相性度” を表示
● NIKEやCONVERSEなど4,976型以上のアイテムに対応
(2022年9月末時点)
© ZOZO, Inc. 6
https://zozo.jp/zozoglass/
● 自宅で簡単・高精度にご自身の顔の肌の色を計測できる
フェイスカラー計測ツール
● ECにおけるコスメ購入時の課題であった「色選び」に関する
不安や悩みを解消
● 肌の色を構成する成分、ヘモグロビン量とメラニン量を画像
から推定
● コスメ専門モール「ZOZOCOSME」で取り扱うベースメイクの
一部に対応
● 計測者数125万人を突破(2022年9月末時点)
© ZOZO, Inc.
目次
1. データ基盤の紹介
2. ポリシータグの選定理由
3. ポリシータグを活用したデータ連携
4. ポリシータグ運用時に考慮すること
5. まとめ
7
© ZOZO, Inc.
目次
1. データ基盤の紹介
2. ポリシータグの選定理由
3. ポリシータグを活用したデータ連携
4. ポリシータグ運用時に考慮すること
5. まとめ
8
© ZOZO, Inc.
データ基盤の紹介
9
● オンプレのSQL ServerからBigQueryへデータを連携
Dataflow
Pub/Sub BigQuery
リアルタイム差分
SQL Server Fluentd on GKE
(Change Tracking)
BigQuery
日次全量
Dataflow
BigQuery
リアルタイム全量
© ZOZO, Inc.
秘密情報管理で抱えていた課題
10
● 秘密情報はマスクしてBigQueryへ連携
○ マスク処理を変更した場合は過去データを捨てるしかなかった
○ 秘密情報の元データがないため、分析者がマスク処理を作りにくい
○ メルマガ配信など秘密情報が必要なシステムで利用できない
● セキュリティ面での課題
○ BigQueryへ連携する際に秘密情報の有無を利用者が申請する運用をとっていた
○ 秘密情報ではないのにマスク化されて使えないデータがあった
© ZOZO, Inc.
目次
1. データ基盤の紹介
2. ポリシータグの選定理由
3. ポリシータグを活用したデータ連携
4. ポリシータグ運用時に考慮すること
5. まとめ
11
© ZOZO, Inc.
ポリシータグとは
● ポリシータグとは
○ BigQueryでカラム単位のアクセス制御が可能なリソース
○ 性別や年齢など秘密情報を掛け合わせると個人の特定に繋がる
○ テーブル全体ではなくカラム単位でアクセス制御することで、個人の特定を防ぐ
12
引用:https://cloud.google.com/bigquery/docs/best-practices-policy-tags
© ZOZO, Inc.
ポリシータグを採用した理由①
● 匿名化による機密性の高さ
○ ポリシータグはカラム単位で参照権限を付与できる
■ 承認済みビューでは秘密情報が複数ある場合、必要以上の権限を与えてしまう
■ カラム単位でのアクセス制御では個人の特定はできない
■ プロジェクトのオーナーでも権限がなければ見られないため、
誤って参照することを防止できる
13
Authorized views
https://cloud.google.com/bigquery/docs/authorized-views
© ZOZO, Inc.
ポリシータグを採用した理由②
● 機密性と利便性の両立
○ 承認済みビューは利用者が使いにくい
■ プレビューでデータを確認できない
■ 秘密情報が含まれていないカラムも、データを確認するには全てのカラムをSELECTする必要がある
○ ポリシータグは利用者が使いやすい
■ スキーマからどのカラムが秘密情報か確認できる
■ プレビューでデータの中身を確認できる
14
© ZOZO, Inc.
ポリシータグを採用した理由③
● データ基盤の保守運用
○ 既存のテーブルに秘密情報を追加しやすい
■ 秘密情報のなかったテーブルを承認済みビューにするのは大変
■ 利用状況を調べ利用者にクエリを書き換えてもらう必要がある
○ 秘密情報の権限管理がしやすい
■ GCPプロジェクトを横断して共通のポリシータグを付与できる
■ どのアカウントに権限を付与しているかTerraformで管理できる
15
© ZOZO, Inc.
目次
1. データ基盤の紹介
2. ポリシータグの選定理由
3. ポリシータグを活用したデータ連携
4. ポリシータグ運用時に考慮すること
5. まとめ
16
© ZOZO, Inc.
データ連携後に利用者が参照するテーブル
17
分類に基づいてマスクされたカラム
(例) メールアドレスの@以降を抽出
命名規則:カラム名_マスキングアルゴリズム_masked
どの分類のポリシータグが付与されているか
何件のカラムがアクセス制御されているか
© ZOZO, Inc.
ポリシータグを活用したデータ連携
18
Dataflow
Pub/Sub BigQuery
リアルタイム差分
SQL Server Fluentd on GKE
(Change Tracking)
BigQuery
日次全量
Dataflow
BigQuery
リアルタイム全量
© ZOZO, Inc.
秘密情報の分類マスタの作成と運用整備
19
● 秘密情報の分類マスタを作成
○ 秘密情報管理シートで分類を管理
○ 分類に応じてポリシータグやマスクカラムを追加
■ (例) 分類がメールなら@以降のドメイン抽出、誕生日なら誕生月で丸めたマスクカラムを追加する
© ZOZO, Inc.
分類マスタに対応したポリシータグ
20
● 分類マスタに対応したポリシータグを準備
○ 秘密情報の分類マスタに対応するようポリシータグを作成
○ ポリシータグはTerraformで管理
© ZOZO, Inc.
ポリシータグを用いた日次バッチ連携
21
Dataflow
Pub/Sub BigQuery
リアルタイム差分
SQL Server Fluentd on GKE
(Change Tracking)
BigQuery
日次全量
Dataflow
BigQuery
リアルタイム全量
© ZOZO, Inc.
ポリシータグを用いた日次バッチ連携
22
BigQuery / 公開
SQL Server Dataflow BigQuery / 非公開
bq query
© ZOZO, Inc.
ポリシータグを用いた日次バッチ連携
23
BigQuery / 公開
SQL Server Dataflow BigQuery / 非公開
bq query
● SQL Serverから非公開環境
○ Dataflowを用いてSQL Serverから非公
開環境へロード
○ ポリシータグは付与されていないため
非公開にしている
© ZOZO, Inc.
ポリシータグを用いた日次バッチ連携
24
BigQuery / 公開
SQL Server Dataflow BigQuery / 非公開
bq query
● 非公開環境から公開環境
○ 公開環境へ連携する際に、秘密情報の分
類に基づき、マスクカラムとポリシータグを
追加
○ ポリシータグの付与にはポリシータグのリ
ソースIDを含むスキーマが必要
© ZOZO, Inc.
ポリシータグを用いたリアルタイムデータ連携
25
Dataflow
Pub/Sub BigQuery
リアルタイム差分
SQL Server Fluentd on GKE
(Change Tracking)
BigQuery
日次全量
Dataflow
BigQuery
リアルタイム全量
© ZOZO, Inc.
ポリシータグを用いたリアルタイムデータ連携
26
Dataflow
Pub/Sub BigQuery
リアルタイム差分
SQL Server Fluentd on GKE
(Change Tracking)
Dataflow Pub/Sub Kinesis
© ZOZO, Inc.
ポリシータグを用いたリアルタイムデータ連携
27
Dataflow
Pub/Sub BigQuery
リアルタイム差分
SQL Server Fluentd on GKE
(Change Tracking)
Dataflow Pub/Sub Kinesis
● Fluentdでマスクカラムを追加
○ 秘密情報の分類マスタに基づいてFluentd
でマスクカラムを追加
○ Cloud Pub/SubへPublishする際にattribute
属性に秘密情報カラムを追加
マスクカラム追加
© ZOZO, Inc.
ポリシータグを用いたリアルタイムデータ連携
28
Dataflow
Pub/Sub BigQuery
リアルタイム差分
SQL Server Fluentd on GKE
(Change Tracking)
Dataflow Pub/Sub Kinesis
● 秘密情報をDROPしたCloud Pub/Sub
○ Dataflowを用いてattribute属性に含まれる秘
密情報をDROPする
○ 秘密情報を必要としない場合は秘密情報が含
まれていないTopicを参照してもらう
© ZOZO, Inc.
ポリシータグを用いたリアルタイムデータ連携
29
Dataflow
Pub/Sub BigQuery
リアルタイム差分
SQL Server Fluentd on GKE
(Change Tracking)
Dataflow Pub/Sub Kinesis
● BigQueryにストリーミングインサート
○ Terraformで事前にポリシータグを付与した
テーブルを作成
○ BigQueryからはマスクカラムと秘密情報を
参照できる
© ZOZO, Inc.
ポリシータグを用いたリアルタイムデータ連携
30
BigQuery
リアルタイム差分
BigQuery
日次全量
BigQuery
リアルタイム全量
● 共通のポリシータグを利用
○ リアルタイム全量 = リアルタイム差分 + 日次全量
○ 異なるGCPプロジェクトで共通のポリシータグを利用
Project A Project A
Project B
© ZOZO, Inc.
目次
1. データ基盤の紹介
2. ポリシータグの選定理由
3. ポリシータグを活用したデータ連携
4. ポリシータグ運用時に考慮すること
5. まとめ
31
© ZOZO, Inc.
ポリシータグ運用注意①
32
● スキーマの変更や削除が大変
○ 日次バッチで連携する場合は全量上書くため簡単
○ リアルタイム連携はスキーマの変更、削除が大変です
■ ポリシータグを付与したテーブルは
カラムの削除に「ALTER TABLE」が使えない
テーブル連携を止め、クエリを用いた上書きが必要
■ デプロイ時の運用負荷が高い
Alpha category references are no longer a supported type, please use
policy tags instead: ''
BigQuery(Table)
リアルタイム差分
BigQuery(table)
日次全量
BigQuery(view)
リアルタイム全量
© ZOZO, Inc.
ポリシータグ運用注意②
33
引用:https://cloud.google.com/bigquery/docs/column-level-security-intro#views
● テーブルにマスクカラムが必要
○ 承認済みビューとポリシータグを組み合わせたマスクカラムの生成はできない
○ ポリシータグを使う場合はマスクしたカラムも必要
○ 今だと動的マスキングを使う方法もある
■ ただし、利用者が秘密情報だと思い意図せず利用する場合もあるのでトレードオフ
dynamic data masking
https://cloud.google.com/bigquery/docs/column-data-ma
sking-intro
© ZOZO, Inc.
ポリシータグ運用注意③
34
● ジョブに失敗した際ポリシータグが外れないよう注意
○ bq query実行時にスキーマが壊れていた
○ ワークフロージョブの失敗は検知できるが、BigQueryのクエリジョブは実行され
ポリシータグが付与されていないテーブルが作られてしまった
bqコマンドに渡しているスキーマのJSONが間違っていても
クエリが実行されてしまう問題
https://qiita.com/shiozaki/items/689610ca4cdf7954b3ea
© ZOZO, Inc.
ポリシータグ運用注意④
35
● 秘密情報分類マスタ整備
○ 過去に分類マスタのカラムとSQL Serverのカラムで表記ズレがあり、秘密情報なのにポリシー
タグが付与されなかった
○ バリデーションを導入し、秘密情報分類マスタの品質を担保する必要がある
© ZOZO, Inc.
目次
1. データ基盤の紹介
2. ポリシータグの選定理由
3. ポリシータグを活用したデータ連携
4. ポリシータグ運用時に考慮すること
5. まとめ
36
© ZOZO, Inc.
まとめ
37
● オンプレのSQL ServerからBigQueryへデータを連携している
● ポリシータグを選定したのはセキュリティ、利用者の利便性、データ基盤の保守運
用の点で優れていたから
● 日次とリアルタイムデータ連携でポリシータグを用いた連携方法が異なる
● ポリシータグ導入の際は運用の注意点を考慮する必要がある
● 導入するには秘密情報の分類マスタや運用整備も必要
© ZOZO, Inc.
テックブログ の紹介①
38
BigQueryにおけるポリシータグを 用 いた 秘 密 情 報 管 理 とデータ 連 携 の 仕 組 み
https://techblog.zozo.com/entry/policy-tag-usage-to-protect-bigquery-sensitive-data
本日話したことの詳細について記事を書い
ています。執筆時とインフラ構成多少変わっ
ています
© ZOZO, Inc.
テックブログ の紹介②
39
全 社 共 通 データ 基 盤 を 廃 止 して 新 しいデータ 基 盤 に 引 越 した 話
https://techblog.zozo.com/entry/data-infrastructure-replacement
現在のデータ基盤のインフラ構成を書いてい
ます。リプレイスの経緯やデータ
基盤構築の際は参考にしてみてください
© ZOZO, Inc.
テックブログ の紹介③
40
ZOZOTOWNを 支 えるリアルタイムデータ 連 携 基 盤
https://techblog.zozo.com/entry/real-time-data-linkage-infrastructure
本日話したリアルタイムデータ基盤の詳細
を書いています。現在はGKEで運用してい
ますが、基本構成は同じです
zozo bigquery policy tag usage

More Related Content

What's hot

PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
 
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
Tokoroten Nakayama
 
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみたSQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
Kumano Ryo
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
 
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
Google Cloud Platform - Japan
 
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
NTT DATA Technology & Innovation
 
UnityとROSの連携について
UnityとROSの連携についてUnityとROSの連携について
UnityとROSの連携について
UnityTechnologiesJapan002
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
 
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
株式会社MonotaRO Tech Team
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
Masahito Zembutsu
 
データ基盤に関わる問い合わせ対応を仕組みで解決する
データ基盤に関わる問い合わせ対応を仕組みで解決するデータ基盤に関わる問い合わせ対応を仕組みで解決する
データ基盤に関わる問い合わせ対応を仕組みで解決する
株式会社MonotaRO Tech Team
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
 
Marp Tutorial
Marp TutorialMarp Tutorial
Marp Tutorial
Rui Watanabe
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
 
【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay
Takayuki Shimizukawa
 
データ利活用を促進するメタデータ
データ利活用を促進するメタデータデータ利活用を促進するメタデータ
データ利活用を促進するメタデータ
Yahoo!デベロッパーネットワーク
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud Platform - Japan
 
「指標」を支えるエンジニアリング: DataOpsNight #1
「指標」を支えるエンジニアリング: DataOpsNight #1「指標」を支えるエンジニアリング: DataOpsNight #1
「指標」を支えるエンジニアリング: DataOpsNight #1
株式会社MonotaRO Tech Team
 

What's hot (20)

PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
 
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
 
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみたSQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
[Cloud OnAir] GCP 上でストリーミングデータ処理基盤を構築してみよう! 2018年9月13日 放送
 
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
 
UnityとROSの連携について
UnityとROSの連携についてUnityとROSの連携について
UnityとROSの連携について
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
 
データ基盤に関わる問い合わせ対応を仕組みで解決する
データ基盤に関わる問い合わせ対応を仕組みで解決するデータ基盤に関わる問い合わせ対応を仕組みで解決する
データ基盤に関わる問い合わせ対応を仕組みで解決する
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
Marp Tutorial
Marp TutorialMarp Tutorial
Marp Tutorial
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
 
【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay
 
データ利活用を促進するメタデータ
データ利活用を促進するメタデータデータ利活用を促進するメタデータ
データ利活用を促進するメタデータ
 
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
Google Cloud ベストプラクティス:Google BigQuery 編 - 03 : パフォーマンスとコストの最適化
 
「指標」を支えるエンジニアリング: DataOpsNight #1
「指標」を支えるエンジニアリング: DataOpsNight #1「指標」を支えるエンジニアリング: DataOpsNight #1
「指標」を支えるエンジニアリング: DataOpsNight #1
 

Similar to zozo bigquery policy tag usage

HTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろうHTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろう
Takao Sumitomo
 
Treasure data demo.0517
Treasure data demo.0517Treasure data demo.0517
Treasure data demo.0517
BigData Sios
 
プライバシーを置き去りにしない!自動マスキングで開発をスムーズに DevOpsの高速化ツール『Accelario』
プライバシーを置き去りにしない!自動マスキングで開発をスムーズに DevOpsの高速化ツール『Accelario』プライバシーを置き去りにしない!自動マスキングで開発をスムーズに DevOpsの高速化ツール『Accelario』
プライバシーを置き去りにしない!自動マスキングで開発をスムーズに DevOpsの高速化ツール『Accelario』
株式会社クライム
 
クラウド鎖国からクラウド維新へ
クラウド鎖国からクラウド維新へクラウド鎖国からクラウド維新へ
クラウド鎖国からクラウド維新へCybozucommunity
 
A21 列指向DB HP Vertica ~その圧倒的な高速検索の謎を解き明かす~ byKeizo Aizawa
A21 列指向DB HP Vertica ~その圧倒的な高速検索の謎を解き明かす~ byKeizo AizawaA21 列指向DB HP Vertica ~その圧倒的な高速検索の謎を解き明かす~ byKeizo Aizawa
A21 列指向DB HP Vertica ~その圧倒的な高速検索の謎を解き明かす~ byKeizo AizawaInsight Technology, Inc.
 
Qiita Night 足場固めからやるマイクロサービス
Qiita Night 足場固めからやるマイクロサービスQiita Night 足場固めからやるマイクロサービス
Qiita Night 足場固めからやるマイクロサービス
Tomoki Kuriyama
 
【SSS】提案書サンプル
【SSS】提案書サンプル【SSS】提案書サンプル
【SSS】提案書サンプル
sss-share
 
IoT業界で必須サービスになってきたAzure Web PubSubとAzure IoT EdgeのEFLOWについてご紹介
IoT業界で必須サービスになってきたAzure Web PubSubとAzure IoT EdgeのEFLOWについてご紹介IoT業界で必須サービスになってきたAzure Web PubSubとAzure IoT EdgeのEFLOWについてご紹介
IoT業界で必須サービスになってきたAzure Web PubSubとAzure IoT EdgeのEFLOWについてご紹介
Jingun Jung
 
MySQL製品概要
MySQL製品概要MySQL製品概要
MySQL製品概要
yoyamasaki
 
概説 Data API v3
概説 Data API v3概説 Data API v3
概説 Data API v3
Yuji Takayama
 
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recap
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recapマイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recap
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recap
Ayako Omori
 
Cloud Camp Azure概要
Cloud Camp Azure概要Cloud Camp Azure概要
Cloud Camp Azure概要
Daiyu Hatakeyama
 
【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5
幸夫 茅根
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
CData Software Japan
 
Sit tokyo2022 sac/dwc Big data real-time cooperation
Sit tokyo2022 sac/dwc Big data real-time cooperation Sit tokyo2022 sac/dwc Big data real-time cooperation
Sit tokyo2022 sac/dwc Big data real-time cooperation
ssuser0cf3dd
 
【KSKアナリティクス】Pentaho紹介
【KSKアナリティクス】Pentaho紹介【KSKアナリティクス】Pentaho紹介
【KSKアナリティクス】Pentaho紹介
KSK Analytics Inc.
 
第26回八子クラウド座談会当日メモ付き_20180407
第26回八子クラウド座談会当日メモ付き_20180407第26回八子クラウド座談会当日メモ付き_20180407
第26回八子クラウド座談会当日メモ付き_20180407
知礼 八子
 
SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!
SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!
SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!
Ryusaburo Tanaka
 
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナーサーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
SPIRAL Inc.
 
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
日本マイクロソフト株式会社
 

Similar to zozo bigquery policy tag usage (20)

HTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろうHTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろう
 
Treasure data demo.0517
Treasure data demo.0517Treasure data demo.0517
Treasure data demo.0517
 
プライバシーを置き去りにしない!自動マスキングで開発をスムーズに DevOpsの高速化ツール『Accelario』
プライバシーを置き去りにしない!自動マスキングで開発をスムーズに DevOpsの高速化ツール『Accelario』プライバシーを置き去りにしない!自動マスキングで開発をスムーズに DevOpsの高速化ツール『Accelario』
プライバシーを置き去りにしない!自動マスキングで開発をスムーズに DevOpsの高速化ツール『Accelario』
 
クラウド鎖国からクラウド維新へ
クラウド鎖国からクラウド維新へクラウド鎖国からクラウド維新へ
クラウド鎖国からクラウド維新へ
 
A21 列指向DB HP Vertica ~その圧倒的な高速検索の謎を解き明かす~ byKeizo Aizawa
A21 列指向DB HP Vertica ~その圧倒的な高速検索の謎を解き明かす~ byKeizo AizawaA21 列指向DB HP Vertica ~その圧倒的な高速検索の謎を解き明かす~ byKeizo Aizawa
A21 列指向DB HP Vertica ~その圧倒的な高速検索の謎を解き明かす~ byKeizo Aizawa
 
Qiita Night 足場固めからやるマイクロサービス
Qiita Night 足場固めからやるマイクロサービスQiita Night 足場固めからやるマイクロサービス
Qiita Night 足場固めからやるマイクロサービス
 
【SSS】提案書サンプル
【SSS】提案書サンプル【SSS】提案書サンプル
【SSS】提案書サンプル
 
IoT業界で必須サービスになってきたAzure Web PubSubとAzure IoT EdgeのEFLOWについてご紹介
IoT業界で必須サービスになってきたAzure Web PubSubとAzure IoT EdgeのEFLOWについてご紹介IoT業界で必須サービスになってきたAzure Web PubSubとAzure IoT EdgeのEFLOWについてご紹介
IoT業界で必須サービスになってきたAzure Web PubSubとAzure IoT EdgeのEFLOWについてご紹介
 
MySQL製品概要
MySQL製品概要MySQL製品概要
MySQL製品概要
 
概説 Data API v3
概説 Data API v3概説 Data API v3
概説 Data API v3
 
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recap
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recapマイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recap
マイクロソフトの AI プラットフォーム & Cognitive Services 概要 ~ Ignite 2020 Recap
 
Cloud Camp Azure概要
Cloud Camp Azure概要Cloud Camp Azure概要
Cloud Camp Azure概要
 
【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
 
Sit tokyo2022 sac/dwc Big data real-time cooperation
Sit tokyo2022 sac/dwc Big data real-time cooperation Sit tokyo2022 sac/dwc Big data real-time cooperation
Sit tokyo2022 sac/dwc Big data real-time cooperation
 
【KSKアナリティクス】Pentaho紹介
【KSKアナリティクス】Pentaho紹介【KSKアナリティクス】Pentaho紹介
【KSKアナリティクス】Pentaho紹介
 
第26回八子クラウド座談会当日メモ付き_20180407
第26回八子クラウド座談会当日メモ付き_20180407第26回八子クラウド座談会当日メモ付き_20180407
第26回八子クラウド座談会当日メモ付き_20180407
 
SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!
SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!
SAPテクノロジーのプラットフォームはMicrosoft Azureで決まり!
 
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナーサーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
 
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
 

zozo bigquery policy tag usage

  • 2. © ZOZO, Inc. 2 株式会社ZOZO 技術本部 MA部 MA開発2ブロック 谷口 恵輔 ● データ基盤や配信基盤の開発と運用をしています ● 以前は位置情報の分析をしていました ● 沖縄に住んでいます 2
  • 3. © ZOZO, Inc. https://zozo.jp/ ● ファッションEC ● 1,500以上のショップ、8,400以上のブランドの取り扱い ● 常時90万点以上の商品アイテム数と毎日平均2,600点以上の新着 商品 を掲載(2022年9月末時点) ● ブランド古着のファッションゾーン「ZOZOUSED」や コスメ専門モール「ZOZOCOSME」、靴の専門モール 「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン 「ZOZOVILLA」を展開 ● 即日配送サービス ● ギフトラッピングサービス ● ツケ払い など 3
  • 4. © ZOZO, Inc. https://wear.jp/ 4 ● ファッションコーディネートアプリ ● 1,600万ダウンロード突破、コーディネート投稿総数は1,300万件以上 (2022年9月末時点) ● ピックアップタグから最新のトレンドをチェック ● コーディネート着用アイテムを公式サイトで購入可能 ● WEAR公認の人気ユーザーをWEARISTAと認定。モデル・タレント・デザ イナー・インフルエンサーといった各界著名人も参加
  • 5. © ZOZO, Inc. 5 https://zozo.jp/zozomat/ ● 自宅にいながら簡単に高精度な足の3D計測ができる計測マット ● 計測したデータをもとに、自分の足型と靴の“相性度” を表示 ● NIKEやCONVERSEなど4,976型以上のアイテムに対応 (2022年9月末時点)
  • 6. © ZOZO, Inc. 6 https://zozo.jp/zozoglass/ ● 自宅で簡単・高精度にご自身の顔の肌の色を計測できる フェイスカラー計測ツール ● ECにおけるコスメ購入時の課題であった「色選び」に関する 不安や悩みを解消 ● 肌の色を構成する成分、ヘモグロビン量とメラニン量を画像 から推定 ● コスメ専門モール「ZOZOCOSME」で取り扱うベースメイクの 一部に対応 ● 計測者数125万人を突破(2022年9月末時点)
  • 7. © ZOZO, Inc. 目次 1. データ基盤の紹介 2. ポリシータグの選定理由 3. ポリシータグを活用したデータ連携 4. ポリシータグ運用時に考慮すること 5. まとめ 7
  • 8. © ZOZO, Inc. 目次 1. データ基盤の紹介 2. ポリシータグの選定理由 3. ポリシータグを活用したデータ連携 4. ポリシータグ運用時に考慮すること 5. まとめ 8
  • 9. © ZOZO, Inc. データ基盤の紹介 9 ● オンプレのSQL ServerからBigQueryへデータを連携 Dataflow Pub/Sub BigQuery リアルタイム差分 SQL Server Fluentd on GKE (Change Tracking) BigQuery 日次全量 Dataflow BigQuery リアルタイム全量
  • 10. © ZOZO, Inc. 秘密情報管理で抱えていた課題 10 ● 秘密情報はマスクしてBigQueryへ連携 ○ マスク処理を変更した場合は過去データを捨てるしかなかった ○ 秘密情報の元データがないため、分析者がマスク処理を作りにくい ○ メルマガ配信など秘密情報が必要なシステムで利用できない ● セキュリティ面での課題 ○ BigQueryへ連携する際に秘密情報の有無を利用者が申請する運用をとっていた ○ 秘密情報ではないのにマスク化されて使えないデータがあった
  • 11. © ZOZO, Inc. 目次 1. データ基盤の紹介 2. ポリシータグの選定理由 3. ポリシータグを活用したデータ連携 4. ポリシータグ運用時に考慮すること 5. まとめ 11
  • 12. © ZOZO, Inc. ポリシータグとは ● ポリシータグとは ○ BigQueryでカラム単位のアクセス制御が可能なリソース ○ 性別や年齢など秘密情報を掛け合わせると個人の特定に繋がる ○ テーブル全体ではなくカラム単位でアクセス制御することで、個人の特定を防ぐ 12 引用:https://cloud.google.com/bigquery/docs/best-practices-policy-tags
  • 13. © ZOZO, Inc. ポリシータグを採用した理由① ● 匿名化による機密性の高さ ○ ポリシータグはカラム単位で参照権限を付与できる ■ 承認済みビューでは秘密情報が複数ある場合、必要以上の権限を与えてしまう ■ カラム単位でのアクセス制御では個人の特定はできない ■ プロジェクトのオーナーでも権限がなければ見られないため、 誤って参照することを防止できる 13 Authorized views https://cloud.google.com/bigquery/docs/authorized-views
  • 14. © ZOZO, Inc. ポリシータグを採用した理由② ● 機密性と利便性の両立 ○ 承認済みビューは利用者が使いにくい ■ プレビューでデータを確認できない ■ 秘密情報が含まれていないカラムも、データを確認するには全てのカラムをSELECTする必要がある ○ ポリシータグは利用者が使いやすい ■ スキーマからどのカラムが秘密情報か確認できる ■ プレビューでデータの中身を確認できる 14
  • 15. © ZOZO, Inc. ポリシータグを採用した理由③ ● データ基盤の保守運用 ○ 既存のテーブルに秘密情報を追加しやすい ■ 秘密情報のなかったテーブルを承認済みビューにするのは大変 ■ 利用状況を調べ利用者にクエリを書き換えてもらう必要がある ○ 秘密情報の権限管理がしやすい ■ GCPプロジェクトを横断して共通のポリシータグを付与できる ■ どのアカウントに権限を付与しているかTerraformで管理できる 15
  • 16. © ZOZO, Inc. 目次 1. データ基盤の紹介 2. ポリシータグの選定理由 3. ポリシータグを活用したデータ連携 4. ポリシータグ運用時に考慮すること 5. まとめ 16
  • 17. © ZOZO, Inc. データ連携後に利用者が参照するテーブル 17 分類に基づいてマスクされたカラム (例) メールアドレスの@以降を抽出 命名規則:カラム名_マスキングアルゴリズム_masked どの分類のポリシータグが付与されているか 何件のカラムがアクセス制御されているか
  • 18. © ZOZO, Inc. ポリシータグを活用したデータ連携 18 Dataflow Pub/Sub BigQuery リアルタイム差分 SQL Server Fluentd on GKE (Change Tracking) BigQuery 日次全量 Dataflow BigQuery リアルタイム全量
  • 19. © ZOZO, Inc. 秘密情報の分類マスタの作成と運用整備 19 ● 秘密情報の分類マスタを作成 ○ 秘密情報管理シートで分類を管理 ○ 分類に応じてポリシータグやマスクカラムを追加 ■ (例) 分類がメールなら@以降のドメイン抽出、誕生日なら誕生月で丸めたマスクカラムを追加する
  • 20. © ZOZO, Inc. 分類マスタに対応したポリシータグ 20 ● 分類マスタに対応したポリシータグを準備 ○ 秘密情報の分類マスタに対応するようポリシータグを作成 ○ ポリシータグはTerraformで管理
  • 21. © ZOZO, Inc. ポリシータグを用いた日次バッチ連携 21 Dataflow Pub/Sub BigQuery リアルタイム差分 SQL Server Fluentd on GKE (Change Tracking) BigQuery 日次全量 Dataflow BigQuery リアルタイム全量
  • 22. © ZOZO, Inc. ポリシータグを用いた日次バッチ連携 22 BigQuery / 公開 SQL Server Dataflow BigQuery / 非公開 bq query
  • 23. © ZOZO, Inc. ポリシータグを用いた日次バッチ連携 23 BigQuery / 公開 SQL Server Dataflow BigQuery / 非公開 bq query ● SQL Serverから非公開環境 ○ Dataflowを用いてSQL Serverから非公 開環境へロード ○ ポリシータグは付与されていないため 非公開にしている
  • 24. © ZOZO, Inc. ポリシータグを用いた日次バッチ連携 24 BigQuery / 公開 SQL Server Dataflow BigQuery / 非公開 bq query ● 非公開環境から公開環境 ○ 公開環境へ連携する際に、秘密情報の分 類に基づき、マスクカラムとポリシータグを 追加 ○ ポリシータグの付与にはポリシータグのリ ソースIDを含むスキーマが必要
  • 25. © ZOZO, Inc. ポリシータグを用いたリアルタイムデータ連携 25 Dataflow Pub/Sub BigQuery リアルタイム差分 SQL Server Fluentd on GKE (Change Tracking) BigQuery 日次全量 Dataflow BigQuery リアルタイム全量
  • 26. © ZOZO, Inc. ポリシータグを用いたリアルタイムデータ連携 26 Dataflow Pub/Sub BigQuery リアルタイム差分 SQL Server Fluentd on GKE (Change Tracking) Dataflow Pub/Sub Kinesis
  • 27. © ZOZO, Inc. ポリシータグを用いたリアルタイムデータ連携 27 Dataflow Pub/Sub BigQuery リアルタイム差分 SQL Server Fluentd on GKE (Change Tracking) Dataflow Pub/Sub Kinesis ● Fluentdでマスクカラムを追加 ○ 秘密情報の分類マスタに基づいてFluentd でマスクカラムを追加 ○ Cloud Pub/SubへPublishする際にattribute 属性に秘密情報カラムを追加 マスクカラム追加
  • 28. © ZOZO, Inc. ポリシータグを用いたリアルタイムデータ連携 28 Dataflow Pub/Sub BigQuery リアルタイム差分 SQL Server Fluentd on GKE (Change Tracking) Dataflow Pub/Sub Kinesis ● 秘密情報をDROPしたCloud Pub/Sub ○ Dataflowを用いてattribute属性に含まれる秘 密情報をDROPする ○ 秘密情報を必要としない場合は秘密情報が含 まれていないTopicを参照してもらう
  • 29. © ZOZO, Inc. ポリシータグを用いたリアルタイムデータ連携 29 Dataflow Pub/Sub BigQuery リアルタイム差分 SQL Server Fluentd on GKE (Change Tracking) Dataflow Pub/Sub Kinesis ● BigQueryにストリーミングインサート ○ Terraformで事前にポリシータグを付与した テーブルを作成 ○ BigQueryからはマスクカラムと秘密情報を 参照できる
  • 30. © ZOZO, Inc. ポリシータグを用いたリアルタイムデータ連携 30 BigQuery リアルタイム差分 BigQuery 日次全量 BigQuery リアルタイム全量 ● 共通のポリシータグを利用 ○ リアルタイム全量 = リアルタイム差分 + 日次全量 ○ 異なるGCPプロジェクトで共通のポリシータグを利用 Project A Project A Project B
  • 31. © ZOZO, Inc. 目次 1. データ基盤の紹介 2. ポリシータグの選定理由 3. ポリシータグを活用したデータ連携 4. ポリシータグ運用時に考慮すること 5. まとめ 31
  • 32. © ZOZO, Inc. ポリシータグ運用注意① 32 ● スキーマの変更や削除が大変 ○ 日次バッチで連携する場合は全量上書くため簡単 ○ リアルタイム連携はスキーマの変更、削除が大変です ■ ポリシータグを付与したテーブルは カラムの削除に「ALTER TABLE」が使えない テーブル連携を止め、クエリを用いた上書きが必要 ■ デプロイ時の運用負荷が高い Alpha category references are no longer a supported type, please use policy tags instead: '' BigQuery(Table) リアルタイム差分 BigQuery(table) 日次全量 BigQuery(view) リアルタイム全量
  • 33. © ZOZO, Inc. ポリシータグ運用注意② 33 引用:https://cloud.google.com/bigquery/docs/column-level-security-intro#views ● テーブルにマスクカラムが必要 ○ 承認済みビューとポリシータグを組み合わせたマスクカラムの生成はできない ○ ポリシータグを使う場合はマスクしたカラムも必要 ○ 今だと動的マスキングを使う方法もある ■ ただし、利用者が秘密情報だと思い意図せず利用する場合もあるのでトレードオフ dynamic data masking https://cloud.google.com/bigquery/docs/column-data-ma sking-intro
  • 34. © ZOZO, Inc. ポリシータグ運用注意③ 34 ● ジョブに失敗した際ポリシータグが外れないよう注意 ○ bq query実行時にスキーマが壊れていた ○ ワークフロージョブの失敗は検知できるが、BigQueryのクエリジョブは実行され ポリシータグが付与されていないテーブルが作られてしまった bqコマンドに渡しているスキーマのJSONが間違っていても クエリが実行されてしまう問題 https://qiita.com/shiozaki/items/689610ca4cdf7954b3ea
  • 35. © ZOZO, Inc. ポリシータグ運用注意④ 35 ● 秘密情報分類マスタ整備 ○ 過去に分類マスタのカラムとSQL Serverのカラムで表記ズレがあり、秘密情報なのにポリシー タグが付与されなかった ○ バリデーションを導入し、秘密情報分類マスタの品質を担保する必要がある
  • 36. © ZOZO, Inc. 目次 1. データ基盤の紹介 2. ポリシータグの選定理由 3. ポリシータグを活用したデータ連携 4. ポリシータグ運用時に考慮すること 5. まとめ 36
  • 37. © ZOZO, Inc. まとめ 37 ● オンプレのSQL ServerからBigQueryへデータを連携している ● ポリシータグを選定したのはセキュリティ、利用者の利便性、データ基盤の保守運 用の点で優れていたから ● 日次とリアルタイムデータ連携でポリシータグを用いた連携方法が異なる ● ポリシータグ導入の際は運用の注意点を考慮する必要がある ● 導入するには秘密情報の分類マスタや運用整備も必要
  • 38. © ZOZO, Inc. テックブログ の紹介① 38 BigQueryにおけるポリシータグを 用 いた 秘 密 情 報 管 理 とデータ 連 携 の 仕 組 み https://techblog.zozo.com/entry/policy-tag-usage-to-protect-bigquery-sensitive-data 本日話したことの詳細について記事を書い ています。執筆時とインフラ構成多少変わっ ています
  • 39. © ZOZO, Inc. テックブログ の紹介② 39 全 社 共 通 データ 基 盤 を 廃 止 して 新 しいデータ 基 盤 に 引 越 した 話 https://techblog.zozo.com/entry/data-infrastructure-replacement 現在のデータ基盤のインフラ構成を書いてい ます。リプレイスの経緯やデータ 基盤構築の際は参考にしてみてください
  • 40. © ZOZO, Inc. テックブログ の紹介③ 40 ZOZOTOWNを 支 えるリアルタイムデータ 連 携 基 盤 https://techblog.zozo.com/entry/real-time-data-linkage-infrastructure 本日話したリアルタイムデータ基盤の詳細 を書いています。現在はGKEで運用してい ますが、基本構成は同じです