前提条件
- CloudThinkerで検査したいFirebaseプロジェクト。
- そのプロジェクトのサービスアカウントキー(JSON)。
- プロジェクトのGoogle CloudでサービスアカウントキーとIAMロールを作成・割り当てる権限。
サービスアカウントJSONは完全な認証情報です。IAMロールを最小権限にスコープしてください。読み取り専用のFirebaseロールで一覧表示とルール監査が可能です。
セットアップ
サービスアカウントキーを生成
Firebase Consoleでプロジェクトを選択し、サイドバーの設定(歯車)アイコンをクリックしてプロジェクトの設定を開きます。上部バーのサービス アカウントタブを開き、新しい秘密鍵の生成をクリックし、キーを生成で確認してJSONキーファイルをダウンロードします。
IAMロールを付与(オプション、最小権限用)
Google Cloud Console → IAM で、サービスアカウントにCloudThinkerが必要とするロールのみを付与します。読み取り専用監査にはViewer / Firebase Viewerロール、承認ゲートの書き込みやデプロイが必要な場合はFirebase管理者ロールを使用します。
接続詳細
| フィールド | 説明 | 例 |
|---|---|---|
| GOOGLE_SERVICE_ACCOUNT_KEY | Google Cloudサービスアカウントキー全体のJSON。CloudThinkerはその project_id からアクティブなFirebaseプロジェクトを自動的に設定します。 | { "type": "service_account", "project_id": "my-app", ... } |
CloudThinkerはキーの
project_id からアクティブプロジェクトを解決するため、プロジェクトIDや設定ファイルを別途指定する必要はありません。必要な権限
読み取り操作(プロジェクト、アプリ、SDK設定、セキュリティルールの検査)はビューアーレベルのFirebase/GCPロールで機能します。制御操作(プロジェクトやアプリの作成、機能の初期化、アクティブプロジェクトの切り替え、デプロイ)には、それを許可するロールと、CloudThinkerでの明示的な承認の両方が必要です。エージェントの機能
接続後、エージェントはFirebaseプロジェクト、アプリ、ルールへの読み取りアクセスを持ちます。| 機能 | 説明 |
|---|---|
| プロジェクトとアプリ | アクセス可能なプロジェクトの一覧、アクティブプロジェクトの検査、iOS・Android・Webアプリの一覧表示 |
| SDK設定 | プラットフォームまたはアプリのFirebase SDK設定を読み取り |
| セキュリティルール | アクセス監査のためFirestore・Storage・Realtime Databaseのルールを読み取り |
| デプロイ状態 | デプロイ状態の確認 |
| Firebaseドキュメント | 公式FirebaseおよびGoogle開発者ドキュメントを検索 |
| プロジェクトとアプリの制御 | プロジェクト・アプリ・Android SHA鍵の作成、機能の初期化、アクティブプロジェクトの切り替え、デプロイ — 承認が必要 |
作成・初期化・デプロイ・プロジェクト切り替えのアクションは承認ゲートされています。CloudThinkerは実行前に確認を求めます。読み取り専用操作は承認なしで実行されます。
接続を確認する
プロンプト例
複数のプロジェクトにアクセス可能でアクティブなものがない場合は、エージェントが適切なプロジェクトにスコープできるよう、プロンプトにプロジェクト名を指定してください。
トラブルシューティング
認証失敗 / 認証情報が利用できない
認証失敗 / 認証情報が利用できない
サービスアカウントJSONが無効、不完全、または文字が欠けた状態で貼り付けられています。Firebase Consoleで新しい秘密鍵を生成して再接続してください。
エージェントがアクティブプロジェクトが選択されていないと言う
エージェントがアクティブプロジェクトが選択されていないと言う
CloudThinkerはキーの
project_id からアクティブプロジェクトを設定します。キーに project_id がない場合や複数のプロジェクトにアクセス可能な場合、エージェントはそれらを一覧表示してどれを使用するか尋ねます。続行するにはプロジェクトを指定してください。プロジェクト、ルール、またはデプロイで権限が拒否された
プロジェクト、ルール、またはデプロイで権限が拒否された
サービスアカウントに該当製品のFirebase/GCP IAMロールがありません。Google Cloud IAMで適切なロールを付与して再接続してください。
制御アクションが実行されなかった
制御アクションが実行されなかった
作成・初期化・デプロイには、そのアクションを許可するIAMロールとCloudThinkerでの明示的な承認の両方が必要です。プロンプトが表示されたらアクションを承認し、サービスアカウントのロールがそれを許可していることを確認してください。
セキュリティ
- 最小権限 — エージェントがユースケースに必要な権限のみを付与します。まず読み取り専用から始め、後から拡張してください。
- デフォルトで読み取り専用 — エージェントにこの接続で変更を行わせる場合を除き、読み取り専用の認証情報を使用してください。
- 認証情報のローテーション — 通常のスケジュールに従ってキーとトークンをローテーションしてください。接続を更新すると、CloudThinker が新しい値を自動的に取得します。
- オフボーディング時に失効 — 接続を削除するか、チームメンバーが退職する際には、プロバイダー側で認証情報を無効化してください。
- 制御操作の承認 — 作成・初期化・デプロイのアクションは、ガードレールを外すのではなく承認ゲートのままにしておいてください。
- キーを保護 — サービスアカウントJSONは完全な認証情報です。ソースコントロールにコミットしたり、平文で共有したりしないでください。
関連
Google Cloud接続
Google Cloud Platformを接続
承認
承認ゲートアクションの仕組み