google-services.json(Firebaseから)をリポジトリに追加する必要がありますか?


101

Firebaseに登録して、新しいプロジェクトを作成しました。Firebaseから、アプリドメインとSHA1デバッグキーの入力を求められました。これらの詳細を入力すると、アプリモジュールのルートに追加するためのgoogle-services.jsonファイルが生成されました。

私の質問は、この.jsonファイルをパブリック(オープンソース)リポジトリに追加する必要があるかどうかです。APIキーのように、秘密にする必要があるものですか?

回答:


94

google-services.jsonファイルは、Firebaseドキュメントからのものです:

Firebaseは、単一の設定ファイルを介してすべてのAPI設定と認証情報を管理します。
このファイルはgoogle-services.json、AndroidとGoogleService-Info.plistiOSで名前が付けられています。

それをに追加.gitignoreし、公開リポジトリに含めないのは理にかなっているようです。
これについては、第26号で説明されており、内容の詳細が記載されていgoogle-services.jsonます。

のようなプロジェクトにgooglesamples/google-servicesは、たとえばそれ.gitignoreがあります。
コメントstepheaw、このスレッドには言及しません

ライブラリまたはオープンソースのサンプルの場合、JSONファイルは含まれていません。これは、ユーザーが独自のコードを挿入して独自のバックエンドを指すようにするためです。
そのため、GitHubのほとんどのFirebaseリポジトリにJSONファイルが表示されません。

「データベースURL、Android APIキー、ストレージバケット」が秘密でない場合は、ファイルをリポジトリに追加することを検討できます。
google-services.jsonはハッカーから安全ですか?」で述べたように、これはそれほど単純ではありません。

bauericコメントで尋ねます

その投稿で彼は言います:

JSONファイルには、非常に機密性の高い情報(サーバーAPIキーなど)は含まれていません。

しかし、にgoogle-services.jsonはと呼ばれるエントリがありapi_keyます。
それは " server api key"とは異なるAPIキーですか?

Willie Chalmers III、「google-services.jsonはハッカーから安全ですか?」と指摘し、次のように付け加えています。

はい、そのAPIキーは公開してはならないサーバーAPIキーではないためgoogle-services.json、他のユーザーに表示されていれば問題ありません。

いずれの場合も、GoogleCloudコンソールでのクライアントAPIキーの使用方法を制限する必要があります。


11
これは実際には正しくありません。Firebaseのエンジニアは、ソース管理にチェックインしても問題ないと述べました。@ヤロンの答えは立っています。
ウィリーチャルマースIII

2
@WillieChalmersIIIOK。それに応じて回答を修正しました。
vonC 2017

@WillieChalmersIIIその投稿で、彼は「JSONファイルには(サーバーAPIキーなどの)超機密情報は含まれていません」と述べていますが、にgoogle-services.jsonapi_key。というエントリがあります。それは「サーバーAPIキー」とは異なるAPIキーですか?
baueric

1
@baueric詳細については、この回答を参照してください。はい、そのAPIキーは公開してはならないサーバーAPIキーではないためgoogle-services.json、他のユーザーに表示されていれば問題ありません。いずれの場合も、GoogleCloudコンソールでのクライアントAPIキーの使用方法を制限する必要があります。
ウィリーチャルマースIII

36

この議論、あなたが公共のレポに追加することができそうです。そのコンテンツはとにかくAPKになり、おそらく簡単に抽出できます。


1
私は同意し、現在この問題に取り組んでいます。APKを逆コンパイルしている誰かからそのファイルのキーを暗号化する方法はありますか?
stepheaw 2017

13
APIキーがapkから簡単に抽出できることは間違いありgoogle-services.jsonませんが、問題は、パブリックオープンソースリポジトリのソース管理にコミットする必要があるかどうかについてでした。そして、ほとんどの場合、答えは間違いなくノーです-リポジトリの所有者が全世界にデフォルトでGoogleアカウントAPIクォータを使用することを望まない限り。@VonCの答えは立っています。
friederbluemle 2017年

2
hitraj47はそれを公開リポジトリに追加することについて尋ねました。その議論は公開リポジトリについては言及しておらず、彼らは私的リポジトリについて議論しているようです。
ユージーン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.