プロジェクト メンバーには、役割を通じて権限が付与されます。ロールは権限の集合です。プロジェクト メンバーにロールを割り当てると、そのプロジェクト メンバーにロールに含まれるすべての権限が付与されます。
このページでは、Firebase でサポートされている役割にリストされているアクセス許可によって有効になるアクションについて説明します。これらのアクセス許可は、次の 2 つのカテゴリに分類されます。
Firebase 内のすべてのロールまたは特定のアクションに必要な Identity and Access Management (IAM) 権限
必要な権限
Firebase IAM には次の権限が含まれます。
Firebase 製品またはサービスに固有のアクセス許可の一般的なリストと説明については、Firebase 製品固有の IAM アクセス許可内の該当するセクションを参照してください。
すべてのロールに含まれる必要な権限
Firebase の製品またはサービスを使用するには、次の表に示す権限が必要です。
これらの権限は、 Firebase の事前定義された役割のそれぞれに自動的に含まれます。
許可 | 説明 |
---|---|
Firebase プロジェクト情報を取得する権限を付与します | |
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 アナリティクスの権限
次の権限は、Firebase プロジェクトにリンクされた Analytics プロパティへのアクセスを許可します。 Firebase プロジェクトのメンバーは、オーディエンス、ユーザー プロパティ、目標到達プロセス、レポート、コンバージョンなどを含む Analytics データにアクセスできます。
権限名 | 説明 |
---|---|
firebaseanalytics.resources.googleAnalyticsEdit | デフォルトでは、リンクされた Analytics プロパティに Analytics 編集者の役割を付与します |
firebaseanalytics.resources.googleAnalyticsAdditionalAccess | デフォルトでは、リンクされた Analytics プロパティに Analytics マーケティング担当者の役割を付与します |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | デフォルトでは、リンクされた Analytics プロパティに Analytics Viewer ロールを付与します |
firebaseanalytics.resources.googleAnalyticsRestrictedAccess | デフォルトでは、リンクされたアナリティクス プロパティにアナリティクス閲覧者の役割を付与しますが、収益データと費用データにはアクセスできません |
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.getSecret | 認証構成でクライアント シークレットを取得する |
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 つの役割を持つプロジェクト メンバーに機能の展開を委任します。
- Cloud Functions 管理者の役割 (
roles/cloudfunctions.admin
) - サービス アカウント ユーザーの役割 (
roles/iam.serviceAccountUser
)
プロジェクト オーナーは、Google Cloud Console または gcloud CLI を使用して、これらのロールをプロジェクト メンバーに割り当てることができます。このロール構成の詳細な手順とセキュリティへの影響については、 IAM ドキュメントを参照してください。
- Cloud Functions 管理者の役割 (
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 レポートを取得する |
Firebase Dynamic Links の権限
権限名 | 説明 |
---|---|
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.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 | 新しいデータベース インスタンスを作成する |
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
)
- Firebase テスト ラボ管理者 (
メンバーが Test Lab でテスト結果を表示できるようにするには、次の両方を割り当てます。
- Firebase テスト ラボ閲覧者 (
roles/cloudtestservice.testViewer
) - Firebase Analytics 閲覧者 (
roles/firebase.analyticsViewer
)
- Firebase テスト ラボ閲覧者 (
権限名 | 説明 |
---|---|
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 コンソール > プロジェクト設定 > 統合) |