1

これまでのところ、FirebaseのSecurity Rulesは、使用しているプラ​​ットフォームに関係なく、データの安全性を維持する上で重要な役割を果たしていることが分かりました。しかし、Web + JavaScriptのコンボやその他の実装は、開発者がファイアベースの資格情報を簡単にクライアントのスクリプトで見ることができるような方法でそれらを構築すれば、リスクにさらされる可能性があることが分かりました。Firebase Admin SDK for PHPはFirebase認証情報を非表示にする効果的な方法ですか?

ありがたいことに、Firebaseは何とか、リスクを軽減することができ、さまざまな言語でREST API'sをサポートしています。この目的のために、私が作成しているWebデータ管理ポータルについて、Kreait's Firebase Admin SDK for PHPを見ました。ここで

は、PHPのためのFirebase管理SDKのためのシンプルなdemoです。

私はこのライブラリが見つかり、次の良い点は次のとおりです。

  1. Firebase資格情報は、バックエンドのスクリプトに記述されている、彼らは前向きクライアント
  2. クエリおよびデータベース操作に隠されていると実装はクライアントから隠されています
  3. Firebaseリアルタイムデータベース、認証、ユーザ管理のバックエンドサポート

私の質問は以下のとおりです。

  1. は本当に安全な私のfirebase資格情報です対照的なだけのjavascriptファイル平野にそれを置くためにこのアプローチを使用している場合、それは世界に放送されないのだろうか?
  2. (REST実装し、適切に構造化セキュリティルールを通してバックエンドのスクリプトでそれらを隠して、脇にデータを暗号化するから)firebase資格情報とデータをより安全にするが、他の方法はありますか?

は、ご意見やご提案のために事前にありがとうございます。

答えて

1

APIキーやプロジェクトIDなどの情報をフロントアプリケーションのアプリケーションに公開する際にセキュリティ上のリスクはありません(https://firebase.google.com/docs/web/setupを参照してください)。ウェブアプリケーションでは、現在認証されているユーザーだけが行うことができます。

もちろん、セキュリティルールが明確に定義されていないリスクもありますが、バックエンドアプリケーションの場合も同様です。つまり、サーバー上にパスワードなしアカウントを作成すると誰でもそのアカウントでログインできます^^。

管理のSDKに関して:その主な目的は、管理および/またはバックエンドタスクを実行することです。ビジネスロジックをクライアント(=ブラウザ)からバックエンドに移すと、Webライブラリが提供する多くの機能が失われます。機能を再実装し、フロントエンドからバックエンドにデータを渡して戻す必要があります...これは面倒な価値があるとは思いません。

ブラウザのJSコードを見るときに表示されているスニップされた設定について心配する必要はなく、自動化されたテストスイートを使用してセキュリティルールを広範囲にテストしてください。良い。

+0

観客にブラウザのJSコードから設定の詳細を暴露する危険性を排除してくれてありがとう。 Firebase Rulesが堅実である限り、データは保護されていることに同意します。 – raiser00

関連する問題