QueryPieとBigQueryをつないでSQLで動かしてみた

2024.03.01

巷で噂のSaaS型のデータ保護プラットフォームQueryPieと皆大好きBigQueryをつなげていじってみました。
QueryPieがなんかわからん!という人は以下記事をご覧ください。

前提条件

今回の作業にあたっての前提条件になります。

  • GCPのプロジェクトは作成済
  • GCPのサービスアカウントも作成済
  • BigQueryにデータ入れてる状態

補足ですがGCPのサービスアカウントはオーナー権限のもので「Compute Engine API」を有効化してます。
qp-bq0

QueryPieにBigQueryのデータベースを登録

まずQueryPieにBigQueryのデータベースを登録するところからやります。
上部メニューのSettings > Database Settingsに遷移して、左メニューのDB Connectionsを選択し右上のCreate Connectionをクリックします。
qp-bq1

接続するデータベースを選択する画面が出てくるのでBigQueryを選択します。
qp-bq2

次の画面でつなぐ諸々入力します。
以下は今回入力した内容です。

  • Allowed Zone…Default
  • Connection Name…kunisaki-bigquery
  • Project ID…今回のBigQueryで使うGCPプロジェクトID
  • GCP Region…GCPのリージョン
  • Service Account…GCPのサービスアカウントのJSON

右下のTest Connectionで問題なければ次の画面へ。
qp-bq3

Go to Access Controlをクリック。
qp-bq4

これでQueryPieにBigQueryのデータベースが登録されました。

アクセスコントロールでユーザーに書込権限を付与

Database Settings内の左メニューAccess Controlをクリックし、データベースに読み書きできる権限を付与するユーザーを選択します。
qp-bq5

ユーザーを選択したら登録したBigQueryのデータベース権限をRead/Writeに変更します。
qp-bq6

これでQueryPieからBigQueryのデータベースをいじる権限が付与できました。

QueryPieからBigQueryをSQLでいじる

QueryPieからBigQueryのデータベースをいじってみます。
上部メニューのDatabases > Connectionsから登録したBigQueryに接続します。
qp-bq7

接続後SQL画面が立ち上がります。
qp-bq8

SQLを書けばBigQueryに接続してるデータベースを読むことができます。
qp-bq9

Export

上部メニューのExportを押すとBigQuery内のテーブルを指定してCSV/JSON/EXCELで書き出すことができます。
qp-bq10

SQL Request

上部メニューのSQL Requestを押すとワークフローが立ち上がり、承認プロセスなどを設定することができます。
qp-bq11

データを上書きしてみる

QueryPieでSQLを書いてBigQueryのテーブルにレコードを追加してみます。
qp-bq12

左上の「Run SQL」で実行するとBigQuery内のデータにもレコードが追加されました。
qp-bq13

以上がQueryPieでBigQueryのデータベースを登録し、SQLで動かしてみた!の検証になります。

まとめ

今回つないだデータベースがBigQueryだけだったので何ちゃない検証作業でしたが、こういったアクセス制御をしたいデータベースやサーバーが複数あり、かつ複数人に権限を付与したい場合はQueryPieのようなデータガバナンス製品が役立つと思います。