Firebase App Check
App Check は、アプリ バックエンドを不正使用から保護するために バックエンド リソースにアクセスできないようにすることができます。Google サービス(Firebase や Google Cloud サービスを含む)と独自のバックエンドの両方と連携して、リソースを安全に保ちます。
App Check を使用すると、アプリを実行しているデバイスでアプリまたはデバイスの証明書プロバイダを使用して、次のいずれか、または両方であることを証明できます。
- 正規のアプリから送信されたリクエストであること
- 正規の未改造のデバイスから送信されたリクエストであること
この証明書は、アプリが指定した API に送信するすべてのリクエストに添付されます。App Check の適用を有効にすると、承認していないアプリまたはプラットフォームからのリクエストと同様に、有効な証明書がないクライアントからのリクエストは拒否されます。
App Check には、次のサービスを使用するサポートが組み込まれています。 証明書プロバイダ:
- DeviceCheck または App Attest(Apple プラットフォーム)
- Play Integrity または SafetyNet(非推奨)(Android)
- ウェブアプリの reCAPTCHA Enterprise
これらのサービスでは要件を満たすことができない場合は、サードパーティの証明書プロバイダを使用できます。また、独自の証明手法を使用する独自のサービスを実装することもできます。
App Check は次の Google サービスに対応しています。
サポートされている Google サービス |
---|
Realtime Database |
Cloud Firestore |
Cloud Storage |
Cloud Functions(呼び出し可能関数) |
Authentication(ベータ版。Firebase Authentication with Identity Platform へのアップグレードが必要) |
Google Identity for iOS(ベータ版) |
Vertex AI in Firebase(プレビュー) |
App Check を使用して Google 以外のバックエンド リソースを保護することもできます。
仕組み
サービスで App Check を有効にして、アプリにクライアント SDK を組み込むと、次の処理が定期的に行われます。
- アプリが、選択したプロバイダとやり取りして、アプリまたはデバイスの真正性の証明書(プロバイダによっては両方の証明書)を取得します。
- 構成証明は App Check サーバーに送られ、このサーバーで アプリに登録されたパラメータを使用した構成証明の有効性 有効期限付きの App Check トークンをアプリに返します。このトークンには、検証された証明書に関する情報が含まれている場合があります。
- App Check クライアント SDK がアプリにトークンをキャッシュに保存し、送信の準備完了。 アプリから保護されたサービスに対するリクエストも確認できます。
App Check で保護されたサービスは、最新の有効な App Check トークンを含むリクエストのみを受け入れます。
App Check が提供するセキュリティはどの程度強力ですか?
App Check では、アプリやデバイスの真正性を判断するために証明書プロバイダを利用します。すべてではないものの、バックエンドに対する不正行為を防止できます。App Check を使用しても、すべての不正行為を排除できるわけではありませんが、App Check を統合することで、バックエンド リソースの不正使用を防ぐという重要なステップを組み込むことができます。
App Check と Firebase Authentication との関係
App Check と Firebase Authentication はアプリのセキュリティを補完する要素 説明します。Firebase Authentication はユーザー認証を提供し、 App Check はアプリやデバイスの真正性の証明を提供しますが、 開発者を保護しますApp Check は、Google バックエンド リソースとカスタム バックエンドを使用して、API 呼び出しに有効な App Check トークン。この 2 つのコンセプトを連携させることで、アプリの保護を強化できます。
割り当てと上限
App Check の使用には、証明書の割り当てと上限が適用されます。 統合できます。
DeviceCheck と App Attest へのアクセスには、Apple によって設定された割り当てまたは制限が適用されます。
Play Integrity には、Standard API の使用枠に対して「1 日あたり 10,000 回の呼び出し」という割り当てがあります。使用枠の引き上げに関して詳しくは、Play Integrity のドキュメントをご覧ください。
SafetyNet には「1 日あたり 10,000 回の呼び出し」という割り当てがあります。割り当ての引き上げをリクエストする方法については、SafetyNet のドキュメントをご覧ください。
reCAPTCHA Enterprise では、1 か月あたり 10,000 件までの評価は無料ですが、それを超えると費用が発生します。詳しくは、reCAPTCHA の料金をご覧ください。
始める
では始めてみましょう。
Apple プラットフォーム
Android
ウェブ
Flutter
C++
Unity
カスタム App Check プロバイダの実装方法の詳細
App Check を使用して Google 以外のバックエンド リソースを保護する方法の詳細
ご利用のプラットフォームを選択してください: