Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Pahami Aturan Keamanan Firebase untuk Cloud Storage

Secara tradisional, keamanan telah menjadi salah satu bagian paling kompleks dari pengembangan aplikasi. Di sebagian besar aplikasi, pengembang harus membangun dan menjalankan server yang menangani otentikasi (siapa pengguna) dan otorisasi (apa yang dapat dilakukan pengguna). Otentikasi dan otorisasi sulit untuk disiapkan, lebih sulit untuk dilakukan dengan benar, dan sangat penting untuk keberhasilan produk Anda.

Mirip dengan cara Firebase Authentication memudahkan Anda untuk mengautentikasi pengguna Anda, Aturan Keamanan Firebase untuk Cloud Storage memudahkan Anda untuk mengotorisasi pengguna dan memvalidasi permintaan. Aturan Keamanan Cloud Storage mengelola kerumitan untuk Anda dengan mengizinkan Anda menentukan izin berbasis jalur. Hanya dalam beberapa baris kode, Anda dapat menulis aturan otorisasi yang membatasi permintaan Cloud Storage ke pengguna tertentu atau membatasi ukuran unggahan.

Firebase Realtime Database memiliki fitur serupa, yang disebut Aturan Firebase Realtime Database

Autentikasi

Mengetahui siapa pengguna Anda adalah bagian penting dalam membangun aplikasi, dan Firebase Authentication menyediakan solusi autentikasi yang mudah digunakan, aman, hanya di sisi klien. Aturan Keamanan Firebase untuk Cloud Storage terkait dengan Firebase Authentication untuk keamanan berbasis pengguna. Saat pengguna diautentikasi dengan Firebase Authentication, variabel request.auth di Aturan Keamanan Cloud Storage menjadi objek yang berisi ID unik pengguna ( request.auth.uid ) dan semua informasi pengguna lainnya dalam token ( request.auth.token ) . Saat pengguna tidak diautentikasi, request.auth adalah null . Ini memungkinkan Anda untuk mengontrol akses data secara aman per pengguna. Anda dapat mempelajari lebih lanjut di bagian Otentikasi .

Otorisasi

Mengidentifikasi pengguna Anda hanyalah bagian dari keamanan. Setelah mengetahui siapa mereka, Anda memerlukan cara untuk mengontrol akses mereka ke file di Cloud Storage.

Cloud Storage memungkinkan Anda menentukan aturan otorisasi per file dan per jalur yang ada di server kami dan menentukan akses ke file di aplikasi Anda. Misalnya, Aturan Keamanan Cloud Storage default memerlukan Firebase Authentication untuk melakukan operasi read atau write di semua file:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}

Anda dapat mengedit aturan ini dengan memilih aplikasi Firebase di konsol Firebase dan melihat tab Rules di bagian Penyimpanan.

Validasi data

Aturan Keamanan Firebase untuk Cloud Storage juga dapat digunakan untuk validasi data, termasuk memvalidasi nama dan jalur file serta properti metadata file seperti contentType dan size .

service firebase.storage {
  match /b/{bucket}/o {
    match /images/{imageId} {
      // Only allow uploads of any image file that's less than 5MB
      allow write: if request.resource.size < 5 * 1024 * 1024
                   && request.resource.contentType.matches('image/.*');
    }
  }
}

Langkah selanjutnya

  • Mulailah merencanakan pengembangan aturan untuk bucket Cloud Storage Anda.

  • Pelajari lebih lanjut tentang mengamankan data Anda menggunakan aturan keamanan.