C++ アプリで App Check を使ってみる

このページでは、デフォルトのプロバイダ(Android では Play Integrity、Apple プラットフォームでは Device Check または App Attest)を使用して C++ アプリで App Check を有効にする方法について説明します。App Check を有効にすると、自分のアプリだけがプロジェクトの Firebase リソースにアクセスできるようになります。この機能の概要をご覧ください。

1. Firebase プロジェクトを設定する

  1. Firebase を C++ プロジェクトに追加します(まだ行っていない場合)。

  2. Firebase コンソールの [プロジェクトの設定] > [App Check] セクションで、Play Integrity、Device Check、または App Attest プロバイダで App Check を使用するようにアプリを登録します。

    通常、プロジェクトのすべてのアプリを登録する必要があります。Firebase プロダクトで適用を有効にすると、登録されているアプリのみがプロダクトのバックエンド リソースにアクセスできるようになるためです。

    各プロバイダに登録する詳しい手順については、Android と iOS 固有のドキュメントをご覧ください。

  3. 省略可: アプリの登録設定で、プロバイダが発行する App Check トークンにカスタム有効期間(TTL)を設定します。TTL は 30 分から 7 日までの任意の値に設定できます。この値を変更する場合は、次のトレードオフに注意してください。

    • セキュリティ: TTL が短いほど、漏えいしたトークンや傍受されたトークンが攻撃者によって悪用される可能性が低減するため、セキュリティが向上します。
    • パフォーマンス: TTL が短いほど、アプリで証明書の取得が頻繁に行われます。アプリで証明書が取得されるたびにネットワーク リクエストのレイテンシが増加するため、TTL が短いと、アプリのパフォーマンスに影響する可能性があります。
    • 割り当てとコスト: TTL を短くすると、証明書の取得が頻繁に発生し、割り当てが早く消費されます。有料サービスの場合は、費用が増加する可能性があります。割り当てと上限をご覧ください。

    通常は、デフォルトの TTL で十分です。App Check ライブラリは TTL の約半分でトークンを更新します。

2. アプリに App Check ライブラリを追加する

App Check の設定手順に沿って、App Check ライブラリを依存関係のセットに含めます。

3. App Check を初期化する

Firebase アプリの作成などで Firebase サービスを使用する前に、次の初期化コードをアプリに追加します。

Android

  1. firebase::app_check のヘッダー ファイルを追加します。

    #include "firebase/app_check.h"
  2. Play Integrity プロバイダを使用して、App Check ライブラリを初期化します。

    firebase::app_check::AppCheck::SetAppCheckProviderFactory(
      firebase::app_check::PlayIntegrityProviderFactory::GetInstance());
    

iOS+

  1. firebase::app_check のヘッダー ファイルを追加します。

    #include "firebase/app_check.h"
  2. Device Check プロバイダまたは App Attest プロバイダを指定して、App Check ライブラリを初期化します。

    firebase::app_check::AppCheck::SetAppCheckProviderFactory(
      firebase::app_check::DeviceCheckProviderFactory::GetInstance());
    

次のステップ

アプリに App Check ライブラリがインストールされたら、更新されたアプリのユーザーへの配布を開始します。

更新されたクライアント アプリは、Firebase にリクエストを送信するたびに App Check トークンを送信しますが、Firebase コンソールの [App Check] セクションで適用を有効にするまで、Firebase プロダクトは有効なトークンを必要としません。

指標をモニタリングして適用を有効にする

ただし、適用を有効にする前に、既存の正規ユーザーを中断しないように対策を行う必要があります。一方、アプリリソースの不審な使用に気づいた場合は、すぐに適用を有効にすることもできます。

使用するサービスの App Check 指標を確認すると、この決定を行ううえで役立ちます。

App Check の適用を有効にする

App Check がユーザーに与える影響を理解し、続行する準備ができたら、App Check の適用を有効にできます。

デバッグ環境で App Check を使用する

アプリを App Check に登録した後に、デスクトップ、開発中のエミュレータ、継続的インテグレーション(CI)など、通常は App Check が有効と分類しない環境でアプリを実行する場合は、実際の証明書プロバイダの代わりに App Check デバッグ プロバイダを使用するデバッグビルドのアプリを作成できます。

C++ アプリのデバッグ プロバイダで App Check を使用するをご覧ください。