AI
2025/11/14
森野 喬

DataikuとBigQueryの接続方法を解説

Dataiku (Dataiku DSS) を使ったデータ分析プロジェクトで、データウェアハウスとして Google BigQuery (BQ) を利用しているケースは非常に多いと思います。
DataikuからBigQueryのテーブルを直接読み書きできると、データ活用の幅が格段に広がります。
この記事では、DataikuとBigQueryを接続するための、最も安全で一般的な方法である「サービスアカウント」を利用した接続手順と、その仕組みについて分かりやすく解説していきます。

1 「サービスアカウント」とは?

BigQueryに接続しようとして、最初に出てくるのが「サービスアカウント」という言葉です。


これは一言でいうと、「対人間ではなく、プログラム(アプリケーション)専用のアカウント」です。


私たちがGCP(Google Cloud)にログインするときは、メールアドレスとパスワードを使います。しかし、Dataikuのようなサーバー上で動くプログラムに、人間のパスワードを直接設定するのはセキュリティ上非常に危険です。


そこでGCPは、プログラム専用のアカウント(サービスアカウント)を発行します。


ID(誰か?): ...@....iam.gserviceaccount.com という形式の専用メールアドレスが発行されます。


認証(本人確認は?): パスワードの代わりに、「鍵(キー)」と呼ばれる特別なファイル(JSON形式)を使います。


Dataikuにこの「JSONキー」を登録することで、Dataikuは「私は許可されたプログラムです」とGCPに証明でき、BigQueryにアクセスできるようになります。


2 ステップ1: GCP側での準備 - サービスアカウントと鍵の作成 -

まずはGCPコンソール側で、Dataikuが使うための「アカウント」と「鍵」を準備します。



1. BigQuery APIの有効化:


接続したいGCPプロジェクトで、「BigQuery API」が有効になっていることを確認します。



2. サービスアカウントの作成:


GCPコンソールの [IAMと管理] > [サービスアカウント] で、Dataiku接続用の新しいサービスアカウントを作成します。(例: dataiku-connector)




  3. JSONキーのダウンロード


:


   作成したサービスアカウントの管理画面で [キー] タブを選択します。


   [鍵を追加] > [新しい鍵を作成] を選び、キーのタイプとして [JSON] を選択してダウンロードします。



 


 


[重要]


このJSONファイルが、Dataikuが認証に使う「鍵」そのものです。パスワードと同様に、厳重に管理してください。



 





3 ステップ2: 権限の設定 - 最小権限の原則 -

サービスアカウントは、作成しただけでは「ID」があるだけで、「何をして良いか」という権限(IAMロール)をまだ持っていません。


ここで重要なのが、「どのデータセットにアクセス可能か」を適切に設定することです。


セキュリティのベストプラクティスは「最小権限の原則」です。プロジェクト全体の全データにアクセスできる強力な権限を与えるのではなく、Dataikuが必要とするデータセットだけにアクセスを許可しましょう。


これは、BigQueryのデータセットレベルで設定可能です。


推奨される権限設定:


 1. プロジェクトレベルで付与する権限:



・サービスアカウントに対し、プロジェクトレベルのIAM設定で以下のロールを付与します。


・BigQueryユーザー(roles/bigquery.user)



 これは、クエリ(SQLジョブ)を実行するために必要な基本的なロールです。


 2. データセットレベルで付与する権限:



次に、GCPのBigQueryの画面に移動します。


Dataikuにアクセスさせたいデータセットの横にあるメニュー(︙)から [共有] > [権限] を選択します。


[プリンシパルを追加] で、作成したサービスアカウントのメールアドレスを追加します。


ロールとして以下を選択します。


・読み取りのみ許可する場合: BigQuery  データ閲覧者 


・書き込みも許可する場合: BigQuery  データ編集者



 



この設定により、サービスアカウントは「クエリを実行する権限」は持ちますが、「データを読み書きできる対象」は許可された特定のデータセットに限定されます。


4 ステップ3: Dataiku側での接続設定

GCP側で「鍵」と「権限」の準備ができたら、いよいよDataikuの画面で接続を設定します。


 1. Dataikuの画面右上にある [管理 (Administration)] (歯車アイコン) をクリックします。


 2. [接続 (Connections)] タブを選択します。


 3. [+ 新しい接続 (+ NEW CONNECTION)] をクリックし、一覧から [Google BigQuery] を選択します。


 4. [認証 (Authentication)] セクションで以下のように設定します。



・Type: Service Account を選択します。


・Service Account credentials (JSON): ステップ1でダウンロードしたJSONキーファイルの内容をすべてコピーし、このテキストボックスに貼り付けます。



5. [プロジェクトID (Default Project ID)] を入力します。



GCPコンソール (https://console.cloud.google.com/) にログインしたときのプロジェクト IDを正確に入力



 6. [作成 (Create)] をクリックして接続を保存します。



・Dataikuで接続を確認



5 まとめ

これでDataikuとBigQueryの接続は完了です。


DataikuのFlowからBigQueryのテーブルをデータセットとして直接読み込んだり、Dataikuで加工したデータをBigQueryに書き出したりできるようになりました。


最初の認証設定は少し難しく感じるかもしれませんが、サービスアカウントとIAMロールの仕組みを理解することで、セキュリティを担保しながら安全にデータ連携を行うことができます。

ぜひ挑戦してみてください。

New call-to-action