Claude-skill-registry bigquery-auth
GCPプロジェクト単位でBigQuery認証を設定。gcloud設定プロファイルで複数プロジェクトを安全に分離管理。「BigQueryに繋ぎたい」「{プロジェクト名}のデータを見たい」と言うだけで認証をガイド。
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/bigquery-auth" ~/.claude/skills/majiayu000-claude-skill-registry-bigquery-auth && rm -rf "$T"
manifest:
skills/data/bigquery-auth/SKILL.mdsource content
BigQuery Authentication (Project-based)
GCPプロジェクト単位でgcloud設定プロファイルを作成し、BigQuery認証を行うスキルです。
Workflow
- ユーザーが「BigQuery使いたい」「{プロジェクト}のデータを見たい」等と言う
- GCPプロジェクトIDを確認(必須)
- 既存の設定プロファイルを確認
- 必要に応じて新規プロファイルを作成
- ブラウザ認証をガイド
- 接続テストを実行
認証手順
Step 1: 設定プロファイル確認
gcloud config configurations list
既存プロファイルを表示し、目的のプロジェクト用があるか確認。
Step 2: プロファイル作成(新規の場合)
# プロファイル作成 gcloud config configurations create {PROFILE_NAME} # プロジェクト設定 gcloud config set project {PROJECT_ID}
Step 3: gcloud認証
# メイン認証(ブラウザが開く) gcloud auth login # Python SDK用認証(ブラウザが開く) gcloud auth application-default login --quiet
注意: 両方のコマンドでブラウザ認証が必要です。
Step 4: 認証確認
# 現在のプロファイル確認 gcloud config configurations list # プロジェクト確認 gcloud config get-value project # ADCトークン確認 gcloud auth application-default print-access-token
Step 5: BigQuery接続テスト
import os # 環境変数競合を回避 if "GOOGLE_APPLICATION_CREDENTIALS" in os.environ: del os.environ["GOOGLE_APPLICATION_CREDENTIALS"] from google.cloud import bigquery client = bigquery.Client(project="{PROJECT_ID}") datasets = list(client.list_datasets()) print(f"接続成功!{len(datasets)}個のデータセット")
プロファイル切り替え
# プロファイル一覧 gcloud config configurations list # 切り替え gcloud config configurations activate {PROFILE_NAME}
登録済みプロファイル
ADC認証(gcloud login)
| プロファイル | プロジェクトID | アカウント | 用途 |
|---|---|---|---|
| tokenpocket | kouhei_nakamura@tokenpocket.jp | デフォルト |
| infobox-jp-prd | kouhei.nakamura@info-box.jp | InfoBox分析 |
| yoake-dev-analysis | kohei.nakamura@yoake-entertainment.jp | YOAKE分析 |
サービスアカウント認証(外部プロジェクト)
| プロファイル | プロジェクトID | キーファイル | 用途 |
|---|---|---|---|
| gree-dionysus-infobox | | GREE InfoBox分析 |
サービスアカウント認証の使い方
外部プロジェクトにサービスアカウントで接続する場合:
import os from google.cloud import bigquery from google.oauth2 import service_account # サービスアカウントキーで認証 credentials = service_account.Credentials.from_service_account_file( os.path.expanduser("~/.gcp/gree-dionysus-infobox.json") ) # BigQueryクライアント作成 client = bigquery.Client( project="gree-dionysus-infobox", credentials=credentials ) # 接続テスト datasets = list(client.list_datasets()) print(f"接続成功!{len(datasets)}個のデータセット")
主なデータセット(gree-dionysus-infobox):
- 商用データproduction_infobox
- マートproduction_infobox_mart
- ステージングstaging_infobox
トラブルシューティング
| エラー | 原因 | 対処法 |
|---|---|---|
| File xxx was not found | GOOGLE_APPLICATION_CREDENTIALS が無効 | |
| Reauthentication needed | 認証期限切れ | 再度認証実行 |
| Permission denied | BigQuery権限なし | IAM設定を確認 |
重要な注意事項
環境変数の競合
GOOGLE_APPLICATION_CREDENTIALS 環境変数が設定されている場合、ADCより優先されます。
Pythonコードで以下を実行して回避:
import os if "GOOGLE_APPLICATION_CREDENTIALS" in os.environ: del os.environ["GOOGLE_APPLICATION_CREDENTIALS"]
marimo notebook使用時
.cursor/rules/notebook.mdc のルールに従い:
- 作業開始前に「どのGCPプロジェクトで作業しますか?」と確認
でプロファイル一覧を表示gcloud config configurations list- 必要に応じてプロファイルを切り替え
Requirements
- Google Cloud SDK (
) インストール済みgcloud - ブラウザでGoogleアカウントにログイン可能
- 対象プロジェクトへのBigQuery閲覧権限