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

FirebaseIAMの権限

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

プロジェクト メンバーには、役割を通じて権限が付与されます。ロールは権限の集合です。プロジェクト メンバーにロールを割り当てると、そのプロジェクト メンバーにロールに含まれるすべての権限が付与されます。

このページでは、Firebase でサポートされている役割にリストされているアクセス許可によって有効になるアクションについて説明します。これらのアクセス許可は、次の 2 つのカテゴリに分類されます。

必要な権限

Firebase IAM には次の権限が含まれます。

Firebase 製品またはサービスに固有のアクセス許可の一般的なリストと説明については、Firebase 製品固有の IAM アクセス許可内の該当するセクションを参照してください。

すべてのロールに含まれる必要な権限

Firebase の製品またはサービスを使用するには、次の表に示す権限が必要です。

これらの権限は、 Firebase の事前定義された役割のそれぞれに自動的に含まれます。

許可説明
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze Google アナリティクスのセグメントとデータを表示する権限を付与します
Firebase プロジェクト情報を取得する権限を付与します
Google API の状態を確認し、Firebase CLI コマンドを実行する権限を付与します

Firebase サービス固有のアクションに必要な権限

Firebase サービス固有のアクションを実行するには、次の表に示す権限が必要です。

必要に応じて、これらの権限は、 Firebase の事前定義された役割のそれぞれに自動的に含まれます。

アクション必要な許可
コラボレーション ツール (Slack、Jira、PagerDuty など) を使用して Firebase プロジェクトの統合にアクセスするfirebaseextensions.configs.*
StackDriver から使用状況と分析を表示するmonitoring.timeSeries.list
Firebase CLIコマンドを実行する
詳細については、 Runtime Configurator Accessに関する Google Cloud ドキュメントを参照してください。
runtimeconfig.*

Firebase 管理固有のアクションに必要な権限

次の表にリストされている権限は、いくつかの Firebase 管理固有のアクションを実行するために必要な追加の権限です。

管理権限と関連アクション必要な追加の許可
firebase.billingPlans.update
Firebase プロジェクトの料金プランを変更するresourcemanager.projects.createBillingAssignment
resourcemanager.projects.deleteBillingAssignment
firebase.projects.delete
Firebase プロジェクトを削除するresourcemanager.projects.delete
firebase.projects.update
Firebase リソースを既存の Google Cloud プロジェクトに追加するresourcemanager.projects.get
serviceusage.services.enable
serviceusage.services.get
Firebase プロジェクトの名前を変更するresourcemanager.projects.update
Android アプリの SHA 証明書フィンガープリントを追加するclientauthconfig.clients.create
Android アプリの SHA 証明書フィンガープリントを削除するclientauthconfig.clients.delete
Apple アプリの App Store ID またはチーム ID を更新するclientauthconfig.clients.get
clientauthconfig.clients.update

Firebase プロダクト固有の IAM 権限

次の表に、Firebase 製品またはサービスに固有の権限を示します。これらの権限を使用して、カスタム ロールを作成できます

Firebase 管理権限

次の管理権限の一部では、特定のアクションに対して追加の権限が必要になることに注意してください。

権限名説明
firebase.billingPlans.getプロジェクトの現在のFirebase 料金プランを取得する
firebase.billingPlans.updateプロジェクトの現在のFirebase 料金プランを変更する
firebase.clients.createプロジェクトに新しいアプリを追加する
firebase.clients.deleteプロジェクトから既存のアプリを削除する
firebase.clients.getプロジェクト内のアプリの詳細と構成を取得する
firebase.clients.listプロジェクト内のアプリのリストを取得する
firebase.clients.undeleteデータが完全に削除される前に、削除されたアプリの削除を取り消す
firebase.clients.updateプロジェクト内のアプリの詳細と構成を更新する
firebase.links.create Google システムへの新しいリンクを作成する
(Firebase コンソール > プロジェクト設定 > 統合)
firebase.links.delete Google システムへのリンクを削除する
(Firebase コンソール > プロジェクト設定 > 統合)
firebase.links.list Google システムへのリンクのリストを取得する
(Firebase コンソール > プロジェクト設定 > 統合)
firebase.links.update Google システムへの既存のリンクを更新する
(Firebase コンソール > プロジェクト設定 > 統合)
firebase.playLinks.get Google Play へのリンクに関する詳細を取得する
(Firebase コンソール > プロジェクト設定 > 統合 > Google Play)
firebase.playLinks.list Google Play へのリンクのリストを取得する
(Firebase コンソール > プロジェクト設定 > 統合 > Google Play)
firebase.playLinks.update Google Play への新しいリンクを作成し、既存のリンクを更新する
(Firebase コンソール > プロジェクト設定 > 統合 > Google Play)
firebase.projects.delete既存のプロジェクトを削除する
firebase.projects.getプロジェクトの詳細と Firebase リソースを取得する
firebase.projects.update既存のプロジェクトの属性を変更する
該当する Firebase プロダクトと機能に関するアラートを受け取る (詳細)
firebaseinstallations.instances.delete Firebase インストール ID とそのインストールに関連付けられているデータを削除します (詳細)

Google アナリティクスの権限

権限名説明
firebaseanalytics.resources.googleAnalyticsEditオーディエンス、ユーザー プロパティ、目標到達プロセス、レポート パラメータ、コンバージョン、ポストバックなど、既存のアナリティクス データを変更する
詳細については、 Analytics ヘルプを参照してください。
firebaseanalytics.resources.googleAnalyticsReadAndAnalyzeレポートや構成データなど、既存の Analytics データを表示する
レポート内のデータを操作する (フィルターなど)
詳細については、 Analytics ヘルプを参照してください。

Firebase App Check の権限

権限名説明
firebaseappcheck.appAttestConfig.getアプリの App Attest 構成を取得する
firebaseappcheck.appAttestConfig.updateアプリの App Attest 構成を更新する
firebaseappcheck.debugTokens.getアプリのデバッグ トークンを取得する
firebaseappcheck.debugTokens.updateアプリのデバッグ トークンを作成、更新、または削除する
firebaseappcheck.deviceCheckConfig.getアプリの DeviceCheck 構成を取得する
firebaseappcheck.deviceCheckConfig.updateアプリの DeviceCheck 構成を更新する
firebaseappcheck.playIntegrityConfig.getアプリの Play Integrity 構成を取得する
firebaseappcheck.playIntegrityConfig.updateアプリの Play Integrity 構成を更新する
firebaseappcheck.recaptchaEnterpriseConfig.getアプリの reCAPTCHA Enterprise 構成を取得する
firebaseappcheck.recaptchaEnterpriseConfig.updateアプリの reCAPTCHA Enterprise 構成を更新する
firebaseappcheck.recaptchaV3Config.getアプリの reCAPTCHA v3 構成を取得する
firebaseappcheck.recaptchaV3Config.updateアプリの reCAPTCHA v3 構成を更新する
firebaseappcheck.safetyNetConfig.getアプリの SafetyNet 構成を取得する
firebaseappcheck.safetyNetConfig.updateアプリの SafetyNet 構成を更新する
firebaseappcheck.services.getプロジェクトのサービス適用構成を取得する
firebaseappcheck.services.updateプロジェクトのサービス適用構成を更新する

Firebase App Distribution の権限

権限名説明
firebaseappdistro.releases.list既存のディストリビューションと招待リンクのリストを取得する
firebaseappdistro.releases.updateディストリビューションの作成、削除、および変更
招待リンクの作成と削除
firebaseappdistro.testers.listプロジェクト内の既存のテスターのリストを取得する
firebaseappdistro.testers.updateプロジェクトでのテスターの作成と削除
firebaseappdistro.groups.listプロジェクト内の既存のテスター グループのリストを取得する
firebaseappdistro.groups.updateプロジェクトでのテスター グループの作成と削除

Firebase Authentication の権限

権限名説明
firebaseauth.configs.create認証構成を作成する
firebaseauth.configs.get認証構成を取得する
firebaseauth.configs.getHashConfigユーザー アカウントのパスワード ハッシュ構成とパスワード ハッシュを取得する
firebaseauth.configs.update既存の認証構成を更新する
firebaseauth.users.create Authentication で新しいユーザーを作成する
firebaseauth.users.createSessionログインしたユーザーのセッション Cookie を作成する
firebaseauth.users.delete Authentication で既存のユーザーを削除する
firebaseauth.users.get既存の認証ユーザーのリストを取得する
firebaseauth.users.sendEmailユーザーにメールを送信する
firebaseauth.users.update Authentication で既存のユーザーを更新する

Firebase A/B Testing の権限(ベータ版)

権限名説明
firebaseabt.experimentresults.get実験の結果を取得する
firebaseabt.experiments.create新しい実験を作成する
firebaseabt.experiments.delete既存の実験を削除する
firebaseabt.experiments.get既存の実験の詳細を取得する
firebaseabt.experiments.list既存の実験のリストを取得する
firebaseabt.experiments.update既存の実験を更新する
firebaseabt.projectmetadata.get実験を設定するための分析メタデータを取得する

Cloud Firestore の権限

Cloud Firestore の権限のリストと説明については、 Google Cloud のドキュメントを参照してください。

クラウド ストレージの権限

Cloud Storage の権限のリストと説明については、 Google Cloud のドキュメントを参照してください。

Firebase セキュリティ ルール(Cloud Firestore と Cloud Storage)の権限

権限名説明
firebaserules.releases.createリリースを作成する
firebaserules.releases.deleteリリースを削除
firebaserules.releases.getリリースを取得する
firebaserules.releases.getExecutableリリースのバイナリ実行可能ペイロードを取得する
firebaserules.releases.listリリースのリストを取得する
firebaserules.releases.updateリリースのルールセット リファレンスを更新する
firebaserules.rulesets.create新しいルールセットを作成する
firebaserules.rulesets.delete既存のルールセットを削除
firebaserules.rulesets.getソースでルールセットを取得する
firebaserules.rulesets.listルールセット メタデータの検索 (ソースなし)
firebaserules.rulesets.testソースの正確性をテストする

Cloud Functions for Firebase の権限

Cloud Functions のアクセス許可のリストと説明については、 IAM のドキュメントを参照してください。

関数のデプロイには、標準のFirebase の事前定義された役割に含まれていない特定の権限構成が必要であることに注意してください。関数をデプロイするには、次のいずれかのオプションを使用します。

  • 関数のデプロイをプロジェクトオーナーに委任します。

    HTTP 以外の関数のみをデプロイする場合は、プロジェクトの編集者が関数をデプロイできます。

  • 次の 2 つの役割を持つプロジェクト メンバーに機能の展開を委任します。

    プロジェクト オーナーは、Google Cloud Console または gcloud CLI を使用して、これらのロールをプロジェクト メンバーに割り当てることができます。このロール構成の詳細な手順とセキュリティへの影響については、 IAM ドキュメントを参照してください。

Firebase Cloud Messaging のアクセス許可

権限名説明
cloudmessaging.messages.create FCM HTTP API と Admin SDK を介して通知とデータ メッセージを送信する
firebasenotifications.messages.create Notifications Composer で新しいメッセージを作成する
firebasenotifications.messages.delete Notifications Composer で既存のメッセージを削除する
firebasenotifications.messages.get Notifications Composer で既存のメッセージの詳細を取得する
firebasenotifications.messages.list Notifications Composer で既存のメッセージのリストを取得する
firebasenotifications.messages.update Notifications Composer で既存のメッセージを更新する

Firebase Crashlytics の権限

権限名説明
firebasecrashlytics.config.get Crashlytics 構成設定を取得する
firebasecrashlytics.config.update Crashlytics 構成設定の更新
firebasecrashlytics.data.get Crashlytics の問題とセッションに関連する指標を取得する
firebasecrashlytics.issues.get問題に添付されたメモなど、Crashlytics の問題に関する詳細を取得する
firebasecrashlytics.issues.list Crashlytics の問題のリストを取得する
firebasecrashlytics.issues.update既存の Crashlytics の問題を開く、閉じる、ミュートする
問題に添付された更新メモ
firebasecrashlytics.sessions.get Crashlytics のクラッシュ セッションに関する詳細を取得する
firebasecrashlytics.sessions.list Crashlytics クラッシュ セッションのリストを取得する
権限名説明
firebasecrash.issues.update既存の Crashlytics の問題を更新し、問題に関するメモを作成し、ベロシティ アラートを設定します
firebasecrash.reports.get既存の Crashlytics レポートを取得する
権限名説明
firebasedynamiclinks.domains.create新しい Dynamic Links ドメインを作成する
firebasedynamiclinks.domains.delete既存の Dynamic Links ドメインを削除する
firebasedynamiclinks.domains.get既存の Dynamic Links ドメインの詳細を取得する
firebasedynamiclinks.domains.list既存の Dynamic Links ドメインのリストを取得する
firebasedynamiclinks.domains.update既存の Dynamic Links ドメインを更新する
firebasedynamiclinks.links.create新しいダイナミック リンクを作成する
firebasedynamiclinks.links.get既存のダイナミック リンクの詳細を取得する
firebasedynamiclinks.links.list既存のダイナミック リンクのリストを取得する
firebasedynamiclinks.links.update既存のダイナミック リンクを更新する
firebasedynamiclinks.stats.get Dynamic Links の統計を取得する
firebasedynamiclinks.destinations.list既存の Dynamic Links のリンク先を取得する
firebasedynamiclinks.destinations.update既存の Dynamic Links のリンク先を更新する

Firebase Hosting の権限

権限名説明
firebasehosting.sites.create Firebase プロジェクトの新しいHosting リソースを作成する
firebasehosting.sites.delete Firebase プロジェクトの既存のHosting リソースを削除する
firebasehosting.sites.get Firebase プロジェクトの既存のHosting リソースの詳細を取得する
firebasehosting.sites.list Firebase プロジェクトのホスティング リソースのリストを取得する
firebasehosting.sites.update Firebase プロジェクトの既存のHosting リソースを更新する

Firebase アプリ内メッセージングの権限(ベータ版)

権限名説明
firebaseinappmessaging.campaigns.create新しいキャンペーンを作成する
firebaseinappmessaging.campaigns.delete既存のキャンペーンを削除する
firebaseinappmessaging.campaigns.get既存のキャンペーンの詳細を取得する
firebaseinappmessaging.campaigns.list既存のキャンペーンのリストを取得する
firebaseinappmessaging.campaigns.update既存のキャンペーンを更新する

Firebase ML の権限(ベータ版)

権限名説明
firebaseml.compressionjobs.create新しい圧縮ジョブを作成する
firebaseml.compressionjobs.delete既存の圧縮ジョブを削除する
firebaseml.compressionjobs.get既存の圧縮ジョブの詳細を取得する
firebaseml.compressionjobs.list既存の圧縮ジョブのリストを取得する
firebaseml.compressionjobs.start圧縮ジョブの開始
firebaseml.compressionjobs.update既存の圧縮ジョブを更新する
firebaseml.models.create新しい ML モデルを作成する
firebaseml.models.delete既存の ML モデルを削除する
firebaseml.models.get既存の ML モデルの詳細を取得する
firebaseml.models.list既存の ML モデルのリストを取得する
firebaseml.modelversions.create新しいモデル バージョンを作成する
firebaseml.modelversions.get既存のモデル バージョンの詳細を取得する
firebaseml.modelversions.list既存のモデル バージョンのリストを取得する
firebaseml.modelversions.update既存のモデル バージョンを更新する

Firebase Performance Monitoring の権限

権限名説明
firebaseperformance.config.create新しい問題のしきい値構成を作成する
firebaseperformance.config.delete既存の問題のしきい値構成を削除する
firebaseperformance.config.updateアラートと既存の問題のしきい値構成を変更する
firebaseperformance.data.getすべてのパフォーマンス データと問題のしきい値を表示する

Firebase Realtime Database の権限

権限名説明
firebasedatabase.instances.create新しいデータベース インスタンスを作成する
firebaseddatabase.instances.get既存のデータベース インスタンスのメタデータを取得する
既存のデータベース インスタンス内のデータへの読み取り専用アクセス
firebasedatabase.instances.list既存のデータベース インスタンスのリストを取得する
firebasedatabase.instances.update既存のデータベース インスタンス内のデータへの完全な読み取りおよび書き込みアクセス
データベース インスタンスの有効化と無効化
既存のデータベース インスタンスのセキュリティ ルールを取得して変更する
firebaseddatabase.instances.disableアクティブなデータベース インスタンスを無効にする

既存のデータは保持されますが、読み取り/書き込みにはアクセスできません。
firebasedatabase.instances.reenable無効化されたデータベース インスタンスを再度有効化する

既存のデータは、読み取り/書き込みのために再びアクセスできます。
firebasedatabase.instances.delete無効なデータベース インスタンスの削除

削除されたデータベース名は再利用できません。
削除されたデータベース インスタンスのデータは、20 日後に完全に削除されます。
firebaseddatabase.instances.undeleteデータが完全に削除される前に、削除されたデータベース インスタンスの削除を取り消す

削除されたデータベース インスタンスのデータは、インスタンスが削除されてから 20 日後に完全に削除されます。

Firebase Remote Config の権限

権限名説明
cloudconfig.configs.get Remote Config データを取得する
cloudconfig.configs.update Remote Config データの更新

Firebase テスト ラボの権限

Test Lab は Cloud Storage バケットへのアクセスを必要とするため、標準のFirebase の事前定義された役割に含まれていない特定の権限構成が必要です。 Test Lab へのアクセスを許可するには、次のいずれかのオプションを使用します。

  • Firebase コンソールから開始したテストの場合

    • 専用の別の Firebase プロジェクトでアプリをテストします。

    • Test Lab へのアクセスが必要なメンバーを追加し、 Firebase コンソールを使用して以前のプロジェクトの役割を割り当てます。

      • メンバーが Test Lab でテストを実行できるようにするには、プロジェクトの編集者以上を割り当てます。
      • メンバーがテスト ラボでテスト結果を表示できるようにするには、プロジェクトビューアー以上を割り当てます。
  • 独自の Cloud Storage バケットを使用してgcloud CLIまたはTesting APIから開始されたテストの場合

    • Google Cloud Consoleを使用して、事前定義された役割のペアを割り当てます (必要な権限セットを一緒に付与します)。

      • メンバーが Test Lab でテストを実行できるようにするには、次の両方を割り当てます。

        • Firebase テスト ラボ管理者 ( roles/cloudtestservice.testAdmin )
        • Firebase Analytics 閲覧者 ( roles/firebase.analyticsViewer )
      • メンバーが Test Lab でテスト結果を表示できるようにするには、次の両方を割り当てます。

        • Firebase テスト ラボ閲覧者 ( roles/cloudtestservice.testViewer )
        • Firebase Analytics 閲覧者 ( roles/firebase.analyticsViewer )
権限名説明
cloudtestservice.environmentcatalog.getプロジェクトでサポートされているテスト環境のカタログを取得する
cloudtestservice.matrices.create指定された仕様に従ってテストのマトリックスを実行するように要求します
cloudtestservice.matrices.getテスト マトリックスのステータスを取得する
cloudtestservice.matrices.update未完成のテスト マトリックスを更新する
cloudtoolresults.executions.list履歴の実行リストを取得する
cloudtoolresults.executions.get既存の実行を取得する
cloudtoolresults.executions.create新しい実行を作成する
cloudtoolresults.executions.update既存の実行を更新する
cloudtoolresults.history.list履歴のリストを取得する
cloudtoolresults.history.get既存の履歴を取得する
cloudtoolresults.history.create新しい履歴を作成する
cloudtoolresults.settings.create新しいツール結果設定を作成する
cloudtoolresults.settings.get既存のツール結果設定を取得する
cloudtoolresults.settings.updateツール結果設定の更新
cloudtoolresults.steps.list実行のステップのリストを取得する
cloudtoolresults.steps.get既存のステップを取得する
cloudtoolresults.steps.create新しいステップを作成する
cloudtoolresults.steps.update既存のステップを更新する

外部サービス権限との統合

権限名説明
firebaseextensions.configs.create外部サービスの新しい拡張構成を作成する
(Firebase コンソール > プロジェクト設定 > 統合)
firebaseextensions.configs.delete外部サービスの既存の拡張構成を削除する
(Firebase コンソール > プロジェクト設定 > 統合)
firebaseextensions.configs.list外部サービスの拡張構成のリストを取得する
(Firebase コンソール > プロジェクト設定 > 統合)
firebaseextensions.configs.update外部サービスの既存の拡張構成を更新する
(Firebase コンソール > プロジェクト設定 > 統合)