Izin IAM Firebase

Izin diberikan kepada anggota project Anda melalui peran. Peran adalah kumpulan izin. Saat menetapkan peran kepada anggota project, Anda memberikan anggota project tersebut semua izin yang dimiliki oleh peran tersebut.

Halaman ini menjelaskan tindakan yang diaktifkan oleh izin yang dapat Anda lihat pada peran yang didukung oleh Firebase. Izin-izin tersebut dapat dikelompokkan ke dalam dua kategori:

Izin yang diperlukan

IAM Firebase mencakup izin yang:

Untuk mengetahui daftar umum dan deskripsi izin khusus untuk produk atau layanan Firebase, lihat bagian yang terkait dalam izin IAM khusus produk Firebase.

Izin yang diperlukan yang sudah tercakup dalam semua peran

Izin yang tercantum dalam tabel berikut diperlukan untuk menggunakan produk atau layanan Firebase apa pun.

Izin ini secara otomatis disertakan di setiap peran Firebase yang telah ditetapkan.

Izin Deskripsi
Memberikan izin untuk mengambil informasi project Firebase
Memberikan izin untuk mengambil informasi project Firebase
Memberikan izin untuk memeriksa status Google API dan menjalankan perintah CLI Firebase

Izin yang diperlukan untuk tindakan khusus layanan Firebase

Izin yang tercantum dalam tabel berikut diperlukan untuk melakukan beberapa tindakan khusus layanan Firebase.

Saat diperlukan, izin ini secara otomatis disertakan di setiap peran Firebase yang telah ditetapkan.

Tindakan Izin yang diperlukan
Mengakses integrasi project Firebase dengan alat kolaborasi (termasuk Slack, Jira, dan PagerDuty) firebaseextensions.configs.*
Melihat penggunaan dan analisis dari StackDriver monitoring.timeSeries.list
Menjalankan perintah Firebase CLI
Untuk mengetahui informasi selengkapnya, lihat dokumentasi Google Cloud tentang Runtime Configurator Access.
runtimeconfig.*

Izin yang diperlukan untuk tindakan khusus manajemen Firebase

Izin yang tercantum dalam tabel berikut adalah izin tambahan yang diperlukan untuk melakukan beberapa tindakan khusus pengelolaan Firebase.

Izin manajemen dan tindakan terkait Izin tambahan yang diperlukan
firebase.billingPlans.update
Mengubah paket penagihan untuk project Firebase resourcemanager.projects.createBillingAssignment
resourcemanager.projects.deleteBillingAssignment
firebase.projects.delete
Menghapus project Firebase resourcemanager.projects.delete
firebase.projects.update
Menambahkan resource Firebase ke project Google Cloud yang ada resourcemanager.projects.get
serviceusage.services.enable
serviceusage.services.get
Mengubah nama project Firebase resourcemanager.projects.update
Menambahkan sidik jari sertifikat SHA untuk aplikasi Android clientauthconfig.clients.create
Menghapus sidik jari sertifikat SHA untuk aplikasi Android clientauthconfig.clients.delete
Memperbarui ID App Store atau ID Tim untuk aplikasi Apple clientauthconfig.clients.get
clientauthconfig.clients.update

Izin IAM khusus produk Firebase

Tabel berikut mencantumkan daftar izin yang khusus untuk produk atau layanan Firebase. Anda dapat menggunakan izin ini untuk membuat peran khusus.

Izin Firebase Management

Perhatikan bahwa beberapa izin pengelolaan berikut memerlukan izin tambahan untuk tindakan tertentu.

Nama izin Deskripsi
firebase.billingPlans.get Mengambil paket penagihan Firebase saat ini untuk sebuah project
firebase.billingPlans.update Mengubah Paket penagihan firebase saat ini untuk sebuah project
firebase.clients.create Menambahkan aplikasi baru ke project
firebase.clients.delete Menghapus aplikasi yang ada dari sebuah project
firebase.clients.get Mengambil detail dan konfigurasi untuk aplikasi pada sebuah project
firebase.clients.list Mengambil daftar aplikasi dalam sebuah project
firebase.clients.undelete Membatalkan aplikasi yang dihapus sebelum datanya dihapus secara permanen
firebase.clients.update Memperbarui detail dan konfigurasi untuk aplikasi pada sebuah project
firebase.links.create Membuat link baru ke sistem Google
(Firebase console > Project Settings > Integrations)
firebase.links.delete Menghapus link ke sistem Google
(Firebase console > Project Settings > Integrations)
firebase.links.list Mengambil daftar link ke sistem Google
(Firebase console > Project Settings > Integrations)
firebase.links.update Memperbarui link yang ada ke sistem Google
(Firebase console > Project Settings > Integrations)
firebase.playLinks.get Mengambil detail tentang link ke Google Play
(Firebase console > Project Settings > Integrations > Google Play)
firebase.playLinks.list Mengambil daftar link ke Google Play
(Firebase console > Project Settings > Integrations > Google Play)
firebase.playLinks.update Membuat link baru dan memperbarui link yang ada ke Google Play
(Firebase console > Project Settings > Integrations > Google Play)
firebase.projects.delete Menghapus project yang ada
firebase.projects.get Mengambil detail dan resource Firebase untuk sebuah project
firebase.projects.update Mengubah atribut suatu project yang sudah ada
Menerima pemberitahuan untuk produk dan fitur Firebase yang terkait (pelajari lebih lanjut)
firebaseinstallations.instances.delete Hapus ID penginstalan Firebase dan data yang terkait dengan penginstalan tersebut (pelajari lebih lanjut)

Izin Google Analytics

Izin berikut memberikan akses ke properti Analytics yang ditautkan ke project Firebase. Izin tersebut memungkinkan anggota project Firebase mengakses data Analytics, termasuk audiens, properti pengguna, funnel, laporan, konversi, dsb.

Nama izin Deskripsi
firebaseanalytics.resources.googleAnalyticsEdit Secara default, memberikan peran Analytics Editor ke properti Analytics tertaut
firebaseanalytics.resources.googleAnalyticsAdditionalAccess Secara default, memberikan peran Analytics Marketer ke properti Analytics tertaut
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze Secara default, memberikan peran Analytics Viewer ke properti Analytics tertaut
firebaseanalytics.resources.googleAnalyticsRestrictedAccess Secara default, memberikan peran Analytics Viewer ke properti Analytics tertaut tanpa akses ke data pendapatan dan data biaya

Izin Firebase App Check

Nama izin Deskripsi
firebaseappcheck.appAttestConfig.get Mengambil konfigurasi App Attest aplikasi
firebaseappcheck.appAttestConfig.update Mengupdate konfigurasi App Attest aplikasi
firebaseappcheck.appCheckTokens.verify Memverifikasi token App Check yang dikeluarkan untuk project Firebase
firebaseappcheck.debugTokens.get Mengambil token debug aplikasi
firebaseappcheck.debugTokens.update Membuat, mengupdate, atau menghapus token debug aplikasi
firebaseappcheck.deviceCheckConfig.get Mengambil konfigurasi DeviceCheck aplikasi
firebaseappcheck.deviceCheckConfig.update Mengupdate konfigurasi DeviceCheck aplikasi
firebaseappcheck.playIntegrityConfig.get Mengambil konfigurasi Play Integrity aplikasi
firebaseappcheck.playIntegrityConfig.update Memperbarui konfigurasi Play Integrity aplikasi
firebaseappcheck.recaptchaEnterpriseConfig.get Mengambil konfigurasi reCAPTCHA Enterprise untuk aplikasi
firebaseappcheck.recaptchaEnterpriseConfig.update Memperbarui konfigurasi reCAPTCHA Enterprise aplikasi
firebaseappcheck.recaptchaV3Config.get Mengambil konfigurasi reCAPTCHA v3 aplikasi
firebaseappcheck.recaptchaV3Config.update Mengupdate konfigurasi reCAPTCHA v3 aplikasi
firebaseappcheck.safetyNetConfig.get Mengambil konfigurasi SafetyNet aplikasi
firebaseappcheck.safetyNetConfig.update Mengupdate konfigurasi SafetyNet aplikasi
firebaseappcheck.services.get Mengambil konfigurasi penerapan layanan project
firebaseappcheck.services.update Mengupdate konfigurasi penerapan layanan project

Izin Firebase App Distribution

Nama izin Deskripsi
firebaseappdistro.releases.list Mengambil daftar distribusi dan Link Undangan yang ada
firebaseappdistro.releases.update Membuat, menghapus, dan memodifikasi distribusi
Membuat dan menghapus Link Undangan
firebaseappdistro.testers.list Mengambil daftar penguji yang ada dalam sebuah project
firebaseappdistro.testers.update Membuat dan menghapus penguji dalam sebuah project
firebaseappdistro.groups.list Mengambil daftar grup penguji yang ada dalam sebuah project
firebaseappdistro.groups.update Membuat dan menghapus grup penguji dalam sebuah project

Izin Firebase Authentication

Nama izin Deskripsi
firebaseauth.configs.create Membuat konfigurasi Authentication
firebaseauth.configs.get Mengambil konfigurasi Authentication
firebaseauth.configs.getHashConfig Mendapatkan konfigurasi hash sandi dan hash sandi akun pengguna
firebaseauth.configs.getSecret Mendapatkan rahasia klien dalam konfigurasi Authentication
firebaseauth.configs.update Memperbarui konfigurasi Authentication yang ada
firebaseauth.users.create Membuat pengguna baru di Authentication
firebaseauth.users.createSession Membuat cookie sesi untuk pengguna yang login
firebaseauth.users.delete Menghapus pengguna yang ada di Authentication
firebaseauth.users.get Mengambil daftar pengguna Authentication yang ada
firebaseauth.users.sendEmail Mengirim email ke pengguna
firebaseauth.users.update Memperbarui pengguna yang ada di Authentication

Izin Firebase A/B Testing (beta)

Nama izin Deskripsi
firebaseabt.experimentresults.get Mengambil hasil eksperimen
firebaseabt.experiments.create Membuat eksperimen baru
firebaseabt.experiments.delete Menghapus eksperimen yang ada
firebaseabt.experiments.get Mengambil detail eksperimen yang ada
firebaseabt.experiments.list Mengambil daftar eksperimen yang ada
firebaseabt.experiments.update Memperbarui eksperimen yang ada
firebaseabt.projectmetadata.get Mengambil metadata analisis untuk menyiapkan eksperimen

Izin Cloud Firestore

Untuk mengetahui daftar dan deskripsi izin Cloud Firestore, lihat dokumentasi Google Cloud.

Izin Cloud Storage

Untuk mengetahui daftar dan deskripsi izin Cloud Storage, lihat dokumentasi Google Cloud.

Izin Aturan Keamanan Firebase (Cloud Firestore dan Cloud Storage)

Nama izin Deskripsi
firebaserules.releases.create Membuat rilis
firebaserules.releases.delete Menghapus rilis
firebaserules.releases.get Mengambil rilis
firebaserules.releases.getExecutable Mengambil payload yang dapat dieksekusi biner untuk rilis
firebaserules.releases.list Mengambil daftar rilis
firebaserules.releases.update Memperbarui referensi aturan untuk rilis
firebaserules.rulesets.create Membuat kumpulan aturan baru
firebaserules.rulesets.delete Menghapus kumpulan aturan yang ada
firebaserules.rulesets.get Mengambil kumpulan aturan dengan source
firebaserules.rulesets.list Menemukan metadata kumpulan aturan (tidak ada sumber)
firebaserules.rulesets.test Menguji kebenaran pada sumber

Izin Cloud Functions for Firebase

Untuk mengetahui daftar dan deskripsi izin Cloud Functions, lihat dokumentasi IAM.

Perhatikan bahwa deployment fungsi memerlukan konfigurasi khusus untuk izin yang tidak termasuk dalam peran Firebase standar yang telah ditetapkan. Untuk men-deploy fungsi, gunakan salah satu opsi berikut:

Izin kampanye pesan Firebase

Izin ini berlaku untuk kampanye untuk Firebase Cloud Messaging dan Firebase In-App Messaging.

Nama izin Deskripsi
firebasemessagingcampaigns.campaigns.create Membuat kampanye baru
firebasemessagingcampaigns.campaigns.delete Menghapus kampanye yang ada
firebasemessagingcampaigns.campaigns.get Mengambil detail kampanye yang ada
firebasemessagingcampaigns.campaigns.list Mengambil daftar kampanye yang ada
firebasemessagingcampaigns.campaigns.update Memperbarui kampanye yang ada
firebasemessagingcampaigns.campaigns.start Memulai kampanye yang sudah ada
firebasemessagingcampaigns.campaigns.stop Memperbarui kampanye yang ada

Izin Firebase Cloud Messaging

Nama izin Deskripsi
cloudmessaging.messages.create Mengirim notifikasi dan pesan data melalui API HTTP FCM dan Admin SDK
Nama izin Deskripsi
firebasenotifications.messages.create Membuat pesan baru di Notifications composer
firebasenotifications.messages.delete Menghapus pesan yang ada di Notifications composer
firebasenotifications.messages.get Mengambil detail pesan yang ada di Notifications composer
firebasenotifications.messages.list Mengambil daftar pesan yang ada di Notifications composer
firebasenotifications.messages.update Memperbarui pesan yang ada di Notifications composer

Izin Firebase Crashlytics

Nama izin Deskripsi
firebasecrashlytics.config.get Mengambil setelan konfigurasi Crashlytics
firebasecrashlytics.config.update Memperbarui setelan konfigurasi Crashlytics
firebasecrashlytics.data.get Mengambil metrik yang terkait dengan masalah dan sesi Crashlytics
firebasecrashlytics.issues.get Mengambil detail tentang masalah Crashlytics, termasuk catatan yang dilampirkan pada masalah
firebasecrashlytics.issues.list Mengambil daftar masalah Crashlytics
firebasecrashlytics.issues.update Membuka, menutup, dan menonaktifkan masalah Crashlytics yang ada
Memperbarui catatan yang dilampirkan pada masalah
firebasecrashlytics.sessions.get Mengambil detail tentang sesi error Crashlytics
Nama izin Deskripsi
firebasecrash.issues.update Mengupdate masalah Crashlytics yang ada, membuat catatan tentang masalah, dan menetapkan pemberitahuan tentang kecepatan
firebasecrash.reports.get Mengambil laporan Crashlytics yang ada
Nama izin Deskripsi
firebasedynamiclinks.domains.create Membuat domain Dynamic Links
firebasedynamiclinks.domains.delete Menghapus domain Dynamic Links yang ada
firebasedynamiclinks.domains.get Mengambil detail domain Dynamic Links yang ada
firebasedynamiclinks.domains.list Mengambil daftar domain Dynamic Links yang ada
firebasedynamiclinks.domains.update Memperbarui domain Dynamic Links yang ada
firebasedynamiclinks.links.create Membuat Dynamic Links baru
firebasedynamiclinks.links.get Mengambil detail Dynamic Links yang ada
firebasedynamiclinks.links.list Mengambil daftar Dynamic Links yang ada
firebasedynamiclinks.links.update Memperbarui Dynamic Links yang ada
firebasedynamiclinks.stats.get Mengambil statistik Dynamic Links
firebasedynamiclinks.destinations.list Mengambil tujuan Dynamic Links yang ada
firebasedynamiclinks.destinations.update Mengupdate tujuan Dynamic Links yang ada

Izin publikasi Firebase Extensions

Nama izin Deskripsi
firebaseextensionspublisher.extensions.create Mengupload versi ekstensi baru
firebaseextensionspublisher.extensions.delete Menghapus atau menghentikan penggunaan versi ekstensi
firebaseextensionspublisher.extensions.get Mengambil detail tentang versi ekstensi
firebaseextensionspublisher.extensions.list Mencantumkan semua versi ekstensi yang diupload oleh project penayang ini

Izin Firebase Hosting

Nama izin Deskripsi
firebasehosting.sites.create Membuat resource Hosting baru untuk project Firebase
firebasehosting.sites.delete Menghapus resource Hosting yang ada untuk project Firebase
firebasehosting.sites.get Mengambil detail resource Hosting yang ada untuk project Firebase
firebasehosting.sites.list Mengambil daftar resource Hosting untuk project Firebase
firebasehosting.sites.update Memperbarui resource Hosting yang ada untuk project Firebase

Izin Firebase In-App Messaging (beta)

Nama izin Deskripsi
firebaseinappmessaging.campaigns.create Membuat kampanye baru
firebaseinappmessaging.campaigns.delete Menghapus kampanye yang ada
firebaseinappmessaging.campaigns.get Mengambil detail kampanye yang ada
firebaseinappmessaging.campaigns.list Mengambil daftar kampanye yang ada
firebaseinappmessaging.campaigns.update Memperbarui kampanye yang ada

Izin Firebase ML (beta)

Nama izin Deskripsi
firebaseml.models.create Membuat model ML baru
firebaseml.models.update Memperbarui model ML yang ada
firebaseml.models.delete Menghapus model ML yang ada
firebaseml.models.get Mengambil detail model ML yang ada
firebaseml.models.list Mengambil daftar model ML yang ada
firebaseml.modelversions.create Membuat versi model baru
firebaseml.modelversions.get Mengambil detail versi model yang ada
firebaseml.modelversions.list Mengambil daftar versi model yang ada
firebaseml.modelversions.update Memperbarui versi model yang ada

Izin Firebase Performance Monitoring

Nama izin Deskripsi
firebaseperformance.config.create Membuat konfigurasi ambang batas masalah baru
firebaseperformance.config.delete Menghapus konfigurasi ambang batas masalah yang ada
firebaseperformance.config.update Mengubah konfigurasi ambang batas masalah yang ada dan pemberitahuan
firebaseperformance.data.get Melihat semua data kinerja dan nilai ambang batas masalah

Izin Firebase Realtime Database

Nama izin Deskripsi
firebasedatabase.instances.create Membuat instance database baru
firebasedatabase.instances.get Mengambil metadata dari instance database yang ada
Akses hanya baca ke data di instance database yang ada
firebasedatabase.instances.list Mengambil daftar instance database yang ada
firebasedatabase.instances.update Akses baca dan tulis penuh ke data dalam instance database yang ada
Aktifkan dan nonaktifkan instance database
Ambil dan ubah aturan keamanan untuk instance database yang ada
firebasedatabase.instances.disable Menonaktifkan instance database yang aktif

Data yang sudah ada akan disimpan, tetapi tidak dapat diakses untuk pembacaan/penulisan.
firebasedatabase.instances.reenable Mengaktifkan ulang instance database yang dinonaktifkan

Data yang ada dapat diakses kembali untuk dibaca/ditulis.
firebasedatabase.instances.delete Menghapus instance database yang dinonaktifkan

Nama database yang telah dihapus tidak dapat digunakan kembali.
Data pada instance database yang telah dihapus akan dihapus secara permanen setelah 20 hari.
firebasedatabase.instances.undelete Membatalkan penghapusan instance database yang telah dihapus sebelum datanya dihapus secara permanen

Data pada instance database yang telah dihapus akan dihapus secara permanen 20 hari setelah instance dihapus.

Izin Firebase Remote Config

Nama izin Deskripsi
cloudconfig.configs.get Mengambil data Remote Config
cloudconfig.configs.update Memperbarui data Remote Config

Izin Firebase Test Lab

Test Lab memerlukan akses ke bucket Cloud Storage, sehingga memerlukan konfigurasi izin spesifik yang tidak semuanya disertakan dalam peran Firebase standar yang telah ditetapkan. Untuk memberikan akses ke Test Lab, gunakan salah satu opsi berikut:

  • Untuk pengujian yang dimulai dari Firebase console

    • Uji aplikasi Anda dalam project Firebase khusus yang terpisah.

    • Tambahkan anggota yang memerlukan akses Test Lab, lalu tetapkan peran project lama kepada mereka menggunakan Firebase console.

      • Untuk memungkinkan anggota menjalankan pengujian dengan Test Lab, tetapkan peran Editor project atau yang lebih tinggi.
      • Untuk mengizinkan anggota melihat hasil pengujian di Test Lab, tetapkan peran Viewer project atau yang lebih tinggi.
  • Untuk pengujian yang dimulai dari gcloud CLI,Testing API, atau Perangkat yang Dikelola Gradle saat menggunakan bucket Cloud Storage Anda sendiri

    • Tetapkan sepasang peran yang telah ditetapkan (yang bersama-sama memberikan serangkaian izin yang diperlukan) menggunakan Konsol Google Cloud.

      • Agar anggota dapat menjalankan pengujian dengan Test Lab, tetapkan kedua peran ini:

        • Firebase Test Lab Admin (roles/cloudtestservice.testAdmin)
        • Firebase Analytics Viewer (roles/firebase.analyticsViewer)
      • Agar anggota dapat melihat hasil pengujian di Test Lab, tetapkan kedua peran ini:

        • Firebase Test Lab Viewer (roles/cloudtestservice.testViewer)
        • Firebase Analytics Viewer (roles/firebase.analyticsViewer)
Nama izin Deskripsi
cloudtestservice.environmentcatalog.get Mengambil katalog lingkungan pengujian yang didukung untuk sebuah project
cloudtestservice.matrices.create Meminta untuk menjalankan matriks pengujian sesuai spesifikasi yang diberikan
cloudtestservice.matrices.get Mengambil status matriks tes
cloudtestservice.matrices.update Memperbarui matriks tes yang belum selesai
cloudtoolresults.executions.list Mengambil daftar Eksekusi untuk Histori
cloudtoolresults.executions.get Mengambil Eksekusi yang ada
cloudtoolresults.executions.create Membuat Eksekusi baru
cloudtoolresults.executions.update Memperbarui Eksekusi yang ada
cloudtoolresults.histories.list Mengambil daftar Histori
cloudtoolresults.histories.get Mengambil Histori yang ada
cloudtoolresults.histories.create Membuat Histori baru
cloudtoolresults.settings.create Membuat setelan hasil alat baru
cloudtoolresults.settings.get Mengambil setelan hasil alat yang ada
cloudtoolresults.settings.update Memperbarui setelan hasil alat
cloudtoolresults.steps.list Mengambil daftar Langkah untuk Eksekusi
cloudtoolresults.steps.get Mengambil Langkah yang ada
cloudtoolresults.steps.create Membuat Langkah baru
cloudtoolresults.steps.update Memperbarui Langkah yang ada

Integrasi dengan izin layanan eksternal

Nama izin Deskripsi
firebaseextensions.configs.create Membuat konfigurasi ekstensi baru untuk layanan eksternal
(Firebase console > Project Settings > Integrations)
firebaseextensions.configs.delete Menghapus konfigurasi ekstensi yang ada untuk layanan eksternal
(Firebase console > Project Settings > Integrations)
firebaseextensions.configs.list Mengambil konfigurasi ekstensi yang ada untuk layanan eksternal
(Firebase console > Project Settings > Integrations)
firebaseextensions.configs.update Mengupdate konfigurasi ekstensi yang ada untuk layanan eksternal
(Firebase console > Project Settings > Integrations)