Google I/O 2022 で発表された Firebase の最新情報をご覧ください。詳細

さまざまな開発ワークフロー環境の一般的なセキュリティ ガイドライン

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このページでは、環境全体のセキュリティに関する最も重要なベストプラクティスについて説明しますが、セキュリティとFirebaseに関するより詳細で徹底的なガイダンスについては、セキュリティチェックリストを確認してください。

実稼働前環境のセキュリティ

異なるFirebaseプロジェクトで環境を分離することの利点の1つは、本番前の環境にアクセスできる悪意のある攻撃者が実際のユーザーデータにアクセスできないことです。実稼働前の環境で取るべき最も重要なセキュリティ上の注意事項は次のとおりです。

  • 生産前の環境へのアクセスを制限します。モバイルアプリの場合は、 App Distribution (または同様のもの)を使用して、特定のユーザーにアプリを配布します。 Webアプリケーションは制限が困難です。ドメインに固有の電子メールアドレスを持つユーザーへのアクセスを制限する、製品前環境のブロック機能を設定することを検討してください。または、Firebase Hostingを使用している場合は、一時的なプレビューURLを使用するように製品前のワークフローを設定します。

  • 環境を永続化する必要がなく、1人のユーザー(またはテストの場合は1台のマシン)のみが使用している場合は、 Firebase LocalEmulatorSuiteを使用します。これらのエミュレーターは、クラウドリソースを使用する代わりに、ローカルホスト上で完全に動作できるため、より安全で高速です。

  • 本番環境で行うのと同じように、本番環境前の環境でFirebaseセキュリティルールが設定されていることを確認してください。一般に、ルールは環境間で同じである必要がありますが、ルールはコードによって変更されるため、パイプラインの早い段階でまだ本番環境に存在しないルールが存在する可能性があることに注意してください。

実稼働環境のセキュリティ

アプリがあいまいな場合でも、本番データは常にターゲットです。これらのガイドラインに従うことで、悪意のある攻撃者がデータを取得することを不可能にすることはありませんが、それはより困難になります。

  • App Checkを有効にして、それをサポートする使用しているすべての製品に対して適用します。 App Checkは、バックエンドサービスへのリクエストが本物のアプリからのものであることを確認します。これを使用するには、アプリの各バージョンをAppCheckに登録する必要があります。ユーザーがいる前に設定する方が簡単なので、できるだけ早く設定してください。

  • 堅牢なFirebaseセキュリティルールを作成します。 Realtime Database、Cloud Firestore、およびCloud Storageはすべて、開発者が構成したルールに依存して、データにアクセスできるユーザーとアクセスできないユーザーを強制します。優れたルールを作成することは、セキュリティにとって不可欠です。方法がわからない場合は、このコードラボから始めてください。

  • 実稼働環境のセキュリティに関するその他の推奨事項については、セキュリティチェックリストを確認してください。

次のステップ