Firebase IAM の権限

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

このページでは、Firebase でサポートされているロールにリストされている権限によって有効になっている操作について説明します。この権限は、次の 2 つのカテゴリに分類されます。

必要な権限

Firebase IAM には以下の権限が含まれています。

Firebase プロダクトまたはサービスに固有の権限の一般的なリストと説明については、Firebase プロダクト固有の IAM 権限の該当するセクションをご覧ください。

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

次の表に示す権限は、あらゆる Firebase プロダクトまたはサービスを使用するために必要です。

これらの権限は、Firebase の事前定義ロールのそれぞれに自動的に含められます。

権限 説明
Firebase プロジェクトの情報を取得する権限を付与します
Firebase プロジェクトの情報を取得する権限を付与します
Google API の状態をチェックし、Firebase CLI コマンドを実行する権限を付与します

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

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

必要に応じて、これらの権限は Firebase の事前定義ロールのそれぞれに自動的に含められます。

操作 必要な権限
Firebase プロジェクトとコラボレーション ツール(Slack、Jira、PagerDuty など)の統合にアクセスする firebaseextensions.configs.*
StackDriver の使用状況や分析情報を表示する monitoring.timeSeries.list
Firebase CLI コマンドを実行する
詳細については、Runtime Configurator へのアクセスに関する 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 アナリティクスの権限

次の権限により、Firebase プロジェクトにリンクされているアナリティクス プロパティへのアクセス権が付与されます。Firebase プロジェクト メンバーは、対象デバイス、ユーザー プロパティ、ファネル、レポート、コンバージョンなどのアナリティクス データにアクセスできます。

権限名 説明
firebaseanalytics.resources.googleAnalyticsEdit デフォルトでは、リンクされたアナリティクス プロパティにアナリティクス編集者のロールを付与します。
firebaseanalytics.resources.googleAnalyticsAdditionalAccess デフォルトでは、リンクされたアナリティクス プロパティにアナリティクス マーケターのロールを付与します。
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze デフォルトでは、リンクされたアナリティクス プロパティにアナリティクス閲覧者のロールを付与します。
firebaseanalytics.resources.googleAnalyticsRestrictedAccess デフォルトでは、リンクされたアナリティクス プロパティに、収益データや費用データにはアクセスできないアナリティクス閲覧者のロールを付与します。

Firebase App Check の権限

権限名 説明
firebaseappcheck.appAttestConfig.get アプリの App Attest 構成を取得する
firebaseappcheck.appAttestConfig.update アプリの App Attest 構成を更新する
firebaseappcheck.appCheckTokens.verify Firebase プロジェクト用に発行された App Check トークンを確認する
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 Authentication の構成を作成する
firebaseauth.configs.get Authentication の構成を取得する
firebaseauth.configs.getHashConfig ユーザー アカウントのパスワード ハッシュの構成とパスワード ハッシュを取得する
firebaseauth.configs.getSecret Authentication の構成でクライアント シークレットを取得する
firebaseauth.configs.update 既存の Authentication の構成を更新する
firebaseauth.users.create Authentication の新しいユーザーを作成する
firebaseauth.users.createSession ログインしているユーザーのセッション Cookie を作成する
firebaseauth.users.delete 既存の Authentication のユーザーを削除する
firebaseauth.users.get 既存の Authentication のユーザーのリストを取得する
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 の権限

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 の事前定義ロールには含まれていない、特定の権限の構成が必要になります。関数をデプロイするには、次のいずれかのオプションを使用します。

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

    非 HTTP 関数のみをデプロイする場合は、プロジェクトの Editor が関数をデプロイできます。

  • 次の 2 つのロールを持つプロジェクト メンバーに関数のデプロイを委任します。

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

Firebase メッセージング キャンペーンの権限

これらの権限は、Firebase Cloud Messaging と Firebase In-App Messaging のキャンペーンに適用されます。

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

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 クラッシュ セッションの詳細を取得する
権限名 説明
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 新しい Dynamic Links を作成する
firebasedynamiclinks.links.get 既存の Dynamic Links の詳細を取得する
firebasedynamiclinks.links.list 既存の Dynamic Links のリストを取得する
firebasedynamiclinks.links.update 既存の Dynamic Links を更新する
firebasedynamiclinks.stats.get Dynamic Links の統計情報を取得する
firebasedynamiclinks.destinations.list 既存の Dynamic Links のリンク先を取得する
firebasedynamiclinks.destinations.update 既存の Dynamic Links のリンク先を更新する

Firebase Extensions の公開権限

権限名 説明
firebaseextensionspublisher.extensions.create 新しいバージョンの拡張機能をアップロードする
firebaseextensionspublisher.extensions.delete 拡張機能のバージョンを削除または非推奨にする
firebaseextensionspublisher.extensions.get 拡張機能のバージョンの詳細を取得する
firebaseextensionspublisher.extensions.list このパブリッシャー プロジェクトによってアップロードされたすべての拡張機能のバージョンの一覧表示

Firebase Hosting の権限

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

Firebase In-App Messaging の権限(ベータ版)

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

Firebase ML の権限(ベータ版)

権限名 説明
firebaseml.models.create 新しい ML モデルを作成する
firebaseml.models.update 既存の 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 新しいデータベース インスタンスを作成する
firebasedatabase.instances.get 既存のデータベース インスタンスのメタデータを取得する
既存のデータベース インスタンスのデータに対する読み取り専用アクセス権
firebasedatabase.instances.list 既存のデータベース インスタンスのリストを取得する
firebasedatabase.instances.update 既存のデータベース インスタンスのデータに対する完全な読み取りおよび書き込みアクセス権
データベース インスタンスの有効化と無効化
既存のデータベース インスタンスのセキュリティ ルールの取得と変更
firebasedatabase.instances.disable 有効なデータベース インスタンスを無効にする

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

既存のデータの読み取り / 書き込みアクセスが再度可能になります。
firebasedatabase.instances.delete 無効化されたデータベース インスタンスを削除する

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

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

Firebase Remote Config の権限

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

Firebase Test Lab の権限

Test Lab では Cloud Storage バケットにアクセスする必要があるため、特有の権限の構成が必要となります。それが標準の Firebase の事前定義ロールにすべて含まれているわけではありません。Test Lab へのアクセス権を付与するには、以下のいずれかの方法を使用します。

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

    • 専用の Firebase プロジェクトを別途作成し、そこでアプリをテストする。

    • Test Lab にアクセスするメンバーを追加してから、Firebase コンソールを使用してそれらのメンバーに以前のプロジェクトのロールを割り当てる。

      • メンバーが Test Lab でテストを行えるようにするには、編集者以上の権限を割り当てる。
      • メンバーが Test Lab でテスト結果を表示できるようにするには、閲覧者以上の権限を割り当てる。
  • 独自の Cloud Storage バケットを使用し、gcloud CLITesting APIGradle で管理されているデバイスのいずれかから開始したテストの場合

    • Google Cloud Console を使用して、(必要な権限セットをまとめて付与する)事前定義ロールのペアを割り当てる。

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

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

        • Firebase Test Lab 閲覧者(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.histories.list 履歴のリストを取得する
cloudtoolresults.histories.get 既存の履歴を取得する
cloudtoolresults.histories.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 コンソール > [プロジェクトの設定] > [統合])