🔥

バレたらまずそうな Firebase の API キーをどう扱うか

2024/07/03に公開

状況

API キーがバレると勝手に使われて破産するのでなんとかする必要がある.

Git の扱い

GitHub でキーを記述したファイルを見られないように設定する.間違って API キーを GitHub にあげてしまった場合の対応を記載する.

.gitignore」ファイルを使用することで指定したファイル or フォルダを git の管理外にすることができる.

  • ルートディレクトリに「.gitignore」ファイルを作成して git 管理したくないファイル名(or フォルダ名)を追加.

  • 【例】firebase/index.js.gitignore に記述.

    // .gitignore に以下を追記
    firebase/index.js
    // firebase フォルダの中全てを指定したい場合は以下
    firebase/
    
  • その後,下記コマンドを順番に実行

    # git add したことなければやらなくて OK(追跡対象リストから削除するコマンド)
    git rm --cached ファイル名
    
    # あとはいつもどおり coommit して push すれば OK
    git add .
    git commit -m "hogehoge"
    git push origin master
    
  • 【例】firebase/index.js を git 管理から外したい

    git rm --cached firebase/index.js
    

    フォルダごと指定したい場合は下記に変更.

    git rm -r --cached ディレクトリ名
    # 以降のコマンドは同様
    
  • 【例】firebase ディレクトリの中身全部を git 管理から外したい

    git rm -r --cached firebase
    

【注意】

  • --cached をつけないとファイル自体も削除される.

  • 一度コミットしたものは過去のコミットには残るので注意.

デプロイ時の扱い

検証ツールでキーを抜かれても,他のアプリケーションで使用できないように設定する.API キーは対策してもいずれバレるので,バレても自分のアプリケーション以外で使用できない状態にしておけば OK.

  • https://console.cloud.google.com/にアクセス

  • プロジェクトを選択

  • API とサービス -> 認証情報

  • API キーの編集ボタン

  • アプリケーションの制限 -> HTTP リファラー

  • ウェブサイトの制限 -> デプロイ先の URL を追加(記載した URL でしか API キーが動作しないようにする)

  • 「保存」クリック

まとめ

バレるのは以下 2 つの条件なので対策すれば OK!

  • GitHub に API キーを載せない.

  • バレても他の条件は無効な状態にしておく.

good luck ( `・ω・)b

GitHubで編集を提案

Discussion