Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.
Firebase Security Rules
plat_iosplat_androidplat_webplat_flutterplat_node
Gunakan Aturan Keamanan Firebase kami yang fleksibel dan dapat diperluas untuk mengamankan data Anda di Cloud Firestore, Firebase Realtime Database, dan Cloud Storage.
Firebase Security Rules mengamankan data Anda dari pengguna yang berniat jahat. Anda dapat menulis aturan sederhana atau kompleks yang melindungi data aplikasi hingga ke tingkat perincian yang dibutuhkan aplikasi secara khusus.
Firebase Security Rules memanfaatkan bahasa konfigurasi yang fleksibel dan dapat diperluas untuk menentukan data yang dapat diakses pengguna untuk Realtime Database, Cloud Firestore, dan Cloud Storage. Firebase Realtime Database Security Rules memanfaatkan JSON dalam definisi aturan, sedangkan Cloud Firestore Security Rules dan Firebase Security Rules untuk Cloud Storage memanfaatkan bahasa unik yang dibuat untuk mengakomodasi struktur khusus aturan yang lebih kompleks.
Pelajari lebih lanjut cara menyiapkan Rules untuk produk Firebase tertentu yang Anda gunakan di aplikasi Anda, dan apa saja perbedaan perilaku Rules pada berbagai produk Firebase.
Tulis aturan khusus yang sesuai untuk struktur dan perilaku aplikasi Anda. Rules menggunakan bahasa yang memungkinkan Anda memanfaatkan data Anda sendiri untuk mengizinkan akses.
Perincian
Aturan Anda bisa seluas atau sesempit yang Anda butuhkan.
Keamanan independen
Karena Rules ditentukan di luar aplikasi Anda (di Firebase console atau Firebase CLI), klien tidak bertanggung jawab untuk memastikan keamanan, bug tidak membahayakan data, dan data Anda selalu dilindungi.
Bagaimana cara kerjanya?
Firebase Security Rules bekerja dengan mencocokkan pola dengan jalur database, lalu menerapkan kondisi khusus untuk mengizinkan akses ke data di jalur tersebut. Semua Rules di seluruh produk Firebase memiliki komponen pencocokan jalur dan pernyataan kondisional yang memungkinkan akses baca atau tulis. Anda harus menetapkan Rules untuk setiap produk Firebase yang Anda gunakan pada aplikasi.
Untuk Cloud Firestore dan Cloud Storage, Rules menggunakan sintaksis berikut:
service <<name>> { // Match the resource path. match <<path>> { // Allow the request if the following conditions are true. allow <<methods>> : if <<condition>> } }
Untuk Realtime Database, Rules berbasis JSON menggunakan sintaksis berikut:
{ "rules": { "<<path>>": { // Allow the request if the condition for each method is true. ".read": <<condition>>, ".write": <<condition>> } } }
Rules diterapkan sebagai pernyataan OR, bukan pernyataan AND. Akibatnya, jika beberapa aturan cocok dengan sebuah jalur, dan kondisi apa pun yang cocok memberikan akses, Rules akan memberikan akses ke data di jalur tersebut. Oleh karena itu, jika aturan yang luas memberikan akses ke data, Anda tidak dapat membatasi dengan aturan yang lebih spesifik. Namun, Anda dapat menghindari masalah ini dengan memastikan bahwa Rules Anda tidak terlalu tumpang-tindih. Flag Firebase Security Rules tumpang-tindih di jalur yang cocok sebagai peringatan compiler.
Firebase Security Rules juga dapat memanfaatkan Authentication untuk memberikan izin berbasis pengguna, dan kondisi yang Anda tetapkan bisa sangat mendasar atau sangat kompleks. Pelajari lebih lanjut bahasa dan perilakuRules sebelum Anda mulai menulis Rules.
Gunakan emulator Realtime Database dan Cloud Firestore untuk menguji perilaku aplikasi dan memvalidasi aturan sebelum men-deploy-nya ke tahap produksi.
Deploy Firebase Security Rules Anda
Gunakan Firebase console atau Firebase CLI untuk men-deploy aturan ke tahap produksi.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-24 UTC."],[],[],null,["Firebase Security Rules \nplat_ios plat_android plat_web plat_flutter plat_node \nUse our flexible, extensible Firebase Security Rules to\nsecure your data in Cloud Firestore, Firebase Realtime Database, and\nCloud Storage.\n\nFirebase Security Rules stand between your data and malicious users. You can write simple or\ncomplex rules that protect your app's data to the level of granularity that\nyour specific app requires.\n\nFirebase Security Rules leverage\nextensible, flexible configuration languages to define what data your users\ncan access for Realtime Database, Cloud Firestore, and Cloud Storage.\nFirebase Realtime Database Security Rules leverage JSON in rule definitions, while\nCloud Firestore Security Rules and Firebase Security Rules for Cloud Storage leverage a unique\nlanguage built to accommodate more complex rules-specific structures.\n\nLearn more about how to set up Rules for the specific Firebase products\nyou use in your app, and how Rules behavior differs across Firebase\nproducts.\n\n[Get started](/docs/rules/get-started)\n\nKey capabilities\n\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Flexibility | Write custom rules that make sense for your app's structure and behavior. Rules use languages that allow you to leverage your own data to authorize access. |\n| Granularity | Your rules can be as broad or as narrow as you need. |\n| Independent security | Because Rules are defined outside of your app (in the Firebase console or Firebase CLI), clients aren't responsible for enforcing security, bugs don't compromise data, and your data is always protected. |\n\nHow do they work?\n\nFirebase Security Rules work by matching a pattern against database paths, and then applying\ncustom conditions to allow access to data at those paths. All Rules\nacross Firebase products have a path-matching component and a conditional\nstatement allowing read or write access. You must define Rules for\neach Firebase product you use in your app.\n\nFor Cloud Firestore and Cloud Storage, Rules use the following\nsyntax: \n\n service \u003c\u003cname\u003e\u003e {\n // Match the resource path.\n match \u003c\u003cpath\u003e\u003e {\n // Allow the request if the following conditions are true.\n allow \u003c\u003cmethods\u003e\u003e : if \u003c\u003ccondition\u003e\u003e\n }\n }\n\nFor Realtime Database, JSON-based Rules use the following syntax: \n\n {\n \"rules\": {\n \"\u003c\u003cpath\u003e\u003e\": {\n // Allow the request if the condition for each method is true.\n \".read\": \u003c\u003ccondition\u003e\u003e,\n \".write\": \u003c\u003ccondition\u003e\u003e\n }\n }\n }\n\nRules are applied as `OR` statements, not `AND` statements.\nConsequently, if multiple rules match a path, and any of the matched\nconditions grants access, Rules grant access to the data at that\npath. Therefore, if a broad rule grants access to data, you can't restrict with\na more specific rule. You can, however, avoid this problem by making sure your\nRules don't overlap too much. Firebase Security Rules flag overlaps in your\nmatched paths as compiler warnings.\n\nFirebase Security Rules can also leverage Authentication to grant user-based permissions, and the\nconditions you set can be very basic or incredibly complex. Learn more\nabout Rules [language](/docs/rules/rules-language) and [behavior](/docs/rules/rules-behavior)\nbefore you start writing Rules.\n\nImplementation path\n\n|---|-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|\n| | Integrate the product SDKs | Set up [Cloud Firestore](/docs/firestore), [Cloud Storage](/docs/storage), or [Realtime Database](/docs/database) for your app. |\n| | Write your Firebase Security Rules | Learn more about [how Rules work](/docs/rules/rules-behavior) and [set up some basic Rules](/docs/rules/basics) |\n| | Test your Firebase Security Rules | Use the Realtime Database and Cloud Firestore emulators to test your app's behavior and validate your rules before you deploy them to production. |\n| | Deploy your Firebase Security Rules | Use the Firebase console or the Firebase CLI to deploy your rules to production. |\n\nNext steps\n\n- [Understand the Firebase Security Rules language](/docs/rules/rules-language).\n- Learn more about [how Firebase Security Rules work](/docs/rules/rules-behavior).\n- Explore the [common mistakes you should avoid](/docs/rules/insecure-rules)."]]