PrismaCode

Notes on programming.

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

13 January, 2020

作成日:2020/01/13

状況

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

フォルダごと指定したい場合は上の1行目を下記に変更.

$ 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

#firebase#git