2025.12.24 XIMIX Katayama
SPSS ModelerなどのツールからBigQueryのテーブルを参照する際、特定のテーブルだけがエラーで読み込めないことがあります。特に、BigQuery側で「外部テーブル(GCS上のCSVやTSVを参照しているテーブル)」として定義されている場合にハマりやすいポイントについて、今回の解決事例を共有します。
SPSSからBigQueryコネクタ経由でデータを取り込もうとした際、通常のテーブルは参照できるのに、一部のマスタテーブル(外部テーブル)において以下の状況が発生しました。
調査の結果、原因は「権限の継承範囲」にありました。
このため、BigQueryまでは辿り着けても、その先のデータ実体(GCS)を読み込む段階で拒否されていたのがエラーの真相でした。
GCSの権限付与 解決策はシンプルです。SPSSが使用しているサービスアカウントに対して、対象のGCSバケット(またはオブジェクト)への参照権限を付与します。
gcloudでの手順(例)
BigQueryの外部テーブルは非常に便利ですが、「BigQueryの権限」と「ソースデータ(GCS)の権限」の二段構えになっている点に注意が必要です。
SPSSなどの外部ツールから接続して「なぜか特定のテーブルだけ読めない」というときは、そのテーブルが外部テーブルかどうか、そしてサービスアカウントにソースへの権限があるかを真っ先に疑ってください。
最小権限で適切にIAMを設計し、運用フローにGCSパスと権限の確認を組み込むことで、同種のトラブルを未然に防止できます。
Google Cloud、Google Workspaceに関する お問い合わせはこちら