Memulai Aturan Database

Firebase Realtime Database menyediakan bahasa aturan berbasis ekspresi yang fleksibel dengan sintaks mirip JavaScript agar Anda dapat dengan mudah menentukan cara strukturisasi data, penyusunan indeks, serta kapan data dapat dibaca dan ditulisi. Dikombinasikan dengan layanan autentikasi kami, Anda dapat menentukan siapa yang boleh mengakses data dan melindungi informasi pribadi pengguna Anda dari akses tanpa izin.

Mengonfigurasi aturan

Anda dapat menemukan dan mengubah aturan untuk database di Firebase console. Cukup pilih project Anda, klik bagian Database di sebelah kiri, lalu pilih tab Aturan. Jika Anda ingin menguji aturan keamanan sebelum menerapkannya ke dalam produksi, Anda dapat menjalankan simulasi operasi di konsol menggunakan tombol Simulasikan di kanan atas editor aturan.

Anda juga dapat mengupdate aturan menggunakan Antarmuka Command Line kami, yang memungkinkan Anda mengupdate aturan secara terprogram, misalnya dari sistem penerapan otomatis. CLI juga mendukung penerapan aturan ke beberapa database non-default melalui target penerapan.

Contoh aturan

Secara default, aturan database Anda memerlukan Firebase Authentication dan hanya memberikan izin baca-tulis penuh kepada pengguna yang terautentikasi. Aturan default ini memastikan bahwa database tidak akan dapat diakses oleh siapa pun sebelum Anda mengonfigurasinya. Setelah siap, Anda dapat menyesuaikan aturan sesuai kebutuhan. Berikut adalah beberapa contoh aturan yang umum:

Default

Aturan default menonaktifkan akses pengguna untuk membaca dan menulis ke database. Dengan aturan ini, Anda hanya dapat mengakses database melalui Firebase console.

// These rules don't allow anyone read or write access to your database
{
  "rules": {
    ".read": false,
    ".write": false
  }
}

Publik

Selama proses pengembangan, Anda dapat menggunakan aturan publik sebagai pengganti aturan default untuk menyetel file Anda agar dapat dibaca dan ditulis oleh publik. Aturan ini berguna selama pembuatan prototipe karena Anda dapat memulai tanpa menyiapkan Authentication. Level akses ini membuat siapa saja dapat membaca atau menulis ke database. Anda harus mengonfigurasi aturan yang lebih aman sebelum meluncurkan aplikasi.

// These rules give anyone, even people who are not users of your app,
// read and write access to your database
{
  "rules": {
    ".read": true,
    ".write": true
  }
}

Pengguna

Berikut ini contoh aturan yang memberikan node pribadi di /users/$user_id kepada pengguna terautentikasi, dengan $user_id adalah ID pengguna yang diperoleh melalui Authentication. Skenario ini bersifat umum pada aplikasi yang hanya menyediakan datanya bagi pengguna.

// These rules grant access to a node matching the authenticated
// user's ID from the Firebase auth token
{
  "rules": {
    "users": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }
  }
}

Sangat penting bagi Anda untuk mengonfigurasi aturan ini dengan benar sebelum meluncurkan aplikasi untuk memastikan bahwa pengguna hanya dapat mengakses data yang ditujukan bagi mereka.

Langkah berikutnya