Mengamankan Data Aplikasi

Sebagai bagian inti dari keamanan aplikasi, Anda dapat mengamankan data untuk semua aplikasi, bahkan jika beberapa aplikasi tidak berisi data sensitif atau rahasia; misalnya informasi identitas pribadi (PII).

Gunakan langkah-langkah keamanan ini untuk mengamankan data

  1. Jalankan aplikasi sebagai pengguna atau sebagai developer (orang yang memublikasikan penerapan aplikasi). Pilih identitas eksekusi yang sesuai untuk kasus penggunaan aplikasi, yang menentukan:

    • File Google Drive yang dapat diakses pengguna, file dan data penerbit aplikasi, atau file dan data pengguna sendiri.

    • Data G Suite yang dapat diakses pengguna, file dan data penerbit aplikasi, atau file dan data pengguna sendiri.

    • Identitas untuk panggilan API ke layanan Google Apps Script; misalnya, untuk mengirim email dan membuat entri dalam kalender

  2. Amankan operasi pada record dalam model. Gunakan Peran, Skrip, dan izin akses Pemilik untuk operasi pada record (Buat, Simpan, Muat, dan Hapus). Hal ini memungkinkan pengguna tertentu untuk melakukan jenis operasi tertentu pada record dalam model. Anda dapat menggunakan satu jenis izin akses untuk semua jenis operasi pada record, atau jenis izin akses yang berbeda.

  3. Amankan relasi antar model. Gunakan izin akses Diwariskan, Peran, atau Skrip untuk relasi (atau kombinasi tertentu). Hal ini memungkinkan pengguna tertentu untuk mengaitkan record pada kedua tepi relasi.

Rekomendasi

  1. Jangan mengandalkan keamanan UI untuk keamanan data. Langkah-langkah keamanan UI (keamanan halaman dan mengontrol visibilitas elemen UI) tidak mengamankan data. Keamanan UI hanya mengontrol pengguna dengan akses tertentu melalui UI.
  2. Jangan menggunakan skrip klien atau skrip startup aplikasi untuk keamanan data Skrip klien secara inheren tidak aman. Keamanan berbasis skrip harus dijalankan pada server.

Mengamankan operasi melalui record

Untuk model di aplikasi Anda yang membutuhkan keamanan data, tentukan pengguna mana yang dapat membuat, memuat, menyimpan, dan menghapus data. Tindakan ini mengamankan akses ke record melalui binding dan skrip klien. Anda dapat menggunakan izin akses Hanya Admin, Semua Orang, Peran, Skrip, dan Pemilik untuk mengamankan operasi pada record.

Misalnya, Anda dapat mengizinkan semua karyawan untuk mencari informasi kontak karyawan lain, tetapi batasi kemampuan untuk membuat, mengedit, dan menghapus record karyawan hanya untuk manajer di departemen SDM.

Admin aplikasi selalu memiliki akses ke semua record, bahkan jika setelan keamanan tidak mengizinkan akses kepada siapa pun.

Gunakan izin akses yang sama untuk mengamankan semua operasi

  1. Buka App Maker dan navigasikan ke aplikasi Anda.

  2. Di sidebar kiri, klik model yang Anda inginkan untuk mengamankan operasi.

  3. Klik tab Keamanan, lalu pastikan kotak Lanjutan tidak dicentang.

  4. Di bagian Izin Model, pilih izin akses untuk diterapkan: Hanya Admin, Semua Orang, Peran, Skrip, atau Pemilik atau Peran.

  5. Berikan informasi tambahan untuk Peran, Skrip, dan Pemilik:

    • Peran—Untuk setiap peran, klik Tambahkan Peran dan pilih peran yang ada pada daftar. Anda juga dapat mengklik Kelola Peran jika Anda perlu membuat peran baru.

    • Skrip—Di editor skrip, masukkan atau tempelkan skrip otorisasi server.

    • Pemilik—Dari alat pilih binding, pilih kolom.

    • Pemilik atau Peran—Dari alat pilih binding, pilih kolom. Tambahkan satu peran atau lebih.

  6. Klik Simpan untuk mengonfirmasi perubahan Anda.

Gunakan izin akses yang berbeda untuk mengamankan operasi Buat, Muat, Simpan, Hapus

  1. Buka App Maker dan navigasikan ke aplikasi Anda.
  2. Di sidebar kiri, klik model yang Anda inginkan untuk mengamankan operasi.
  3. Klik tab Keamanan, lalu centang kotak Lanjutan.
  4. Di bagian Buat, Muat, Simpan, atau Hapus, pilih izin akses untuk diterapkan: Hanya Admin, Semua Orang, Peran, Skrip, atau Pemilik.
  5. Berikan informasi tambahan untuk Peran, Skrip, dan Pemilik:

    • Peran—Untuk setiap peran, klik Tambahkan Peran dan pilih peran yang ada pada daftar. Anda juga dapat mengklik Kelola Peran jika Anda perlu membuat peran baru.

    • Skrip—Di editor skrip, masukkan atau tempelkan skrip otorisasi server.

    • Pemilik—Dari alat pilih binding, pilih kolom.

    • Pemilik atau Peran—Dari alat pilih binding, pilih kolom. Tambahkan satu peran atau lebih.

  6. Klik Simpan untuk mengonfirmasi perubahan Anda.

  7. Ulangi langkah 4 hingga 6 untuk jenis operasi lainnya.

Mengamankan relasi antar model

Jika model berisi data rahasia, Anda harus memastikan relasi model aman. Kegagalan untuk mengamankan relasi dapat menyebabkan pengguna mendapatkan akses ke data yang seharusnya tidak dapat mereka lihat.

Setiap kali pengguna bukan Admin meminta record yang memiliki relasi, App Maker akan memeriksa izin pemuatan untuk record tersebut. Jika pengguna tidak memiliki akses ke semua model, kueri akan ditolak. Selain itu, jika pengguna bukan Admin mengubah pengaitan dalam relasi, App Maker akan memverifikasi izin relasi sebelum mengizinkan perubahan.

Anda dapat menggunakan izin akses Hanya Admin, Semua Orang, Peran, Skrip, dan Diwariskan untuk mengamankan relasi.

  • Izin yang diwariskan. Pengguna yang dapat menyimpan record di kedua tepi relasi dapat mengaitkan record di seluruh relasi (misalnya, dengan mengaitkan record Karyawan dengan record Departemen).
  • Izin pemilik. Izin ini tidak tersedia secara langsung untuk relasi, karena relasi tidak memiliki kolom. Namun, jika Anda menggunakan izin Pemilik untuk operasi Simpan di salah satu tepi relasi, maka kemampuan untuk mengaitkan record diatur oleh izin Pemilik untuk tepi relasi tersebut. (Anda dapat menentukan izin Pemilik untuk operasi Simpan di kedua tepi relasi.)

Contoh:

  1. Buat peran HRAdmins dan tambahkan peran tersebut dalam keamanan Peran untuk relasi antara model Karyawan dan model Departemen.
  2. Tambahkan anggota ke peran HRAdmins dengan mengedit penerapan aplikasi.

    • Anggota peran HRAdmins diizinkan untuk mengaitkan record dalam model Karyawan dengan record dalam model Departemen.

    • Pengguna lain tidak diizinkan mengaitkan record ini.

Mengamankan relasi

  1. Buka App Maker dan navigasikan ke aplikasi Anda.
  2. Di sidebar kiri, klik model yang Anda inginkan untuk mengamankan relasi.
  3. Di bagian Izin Relasi, cari relasi yang ingin Anda amankan.
  4. Pilih izin akses untuk diterapkan: Hanya Admin, Semua Orang, Peran, Skrip, atau Diwariskan.
  5. Berikan informasi tambahan untuk Peran dan Skrip:
    • Peran—Untuk setiap peran, klik Tambahkan Peran dan pilih peran yang ada pada daftar. Anda harus menambahkan peran sebelum dapat memilihnya.
    • Skrip—Di editor skrip, masukkan atau tempelkan skrip otorisasi server.
  6. Klik Simpan untuk mengonfirmasi perubahan Anda.

Mengamankan data berdasarkan kepemilikan record

Sampel Forum memungkinkan pengguna membuat forum dan memposting pesan ke forum. Pengguna yang membuat forum adalah pemilik forum tersebut.

Untuk menggunakan izin akses Pemilik:

  1. Dalam model data, tambahkan kolom untuk memuat alamat email pemilik record; misalnya, kolom String yang diberi nama Pemilik.
  2. Di Keamanan untuk model data, pilih akses Pemilik untuk operasi pada record (Buat, Simpan, Muat, dan Hapus) yang harus dibatasi untuk pemilik record. Izin Pemilik tidak tersedia secara langsung untuk relasi. Namun, jika Anda menggunakan izin Pemilik untuk operasi Simpan di salah satu tepi relasi, maka kemampuan untuk mengaitkan record diatur oleh izin Pemilik untuk tepi relasi tersebut. (Anda dapat menentukan izin Pemilik untuk operasi Simpan di kedua tepi relasi.)

  3. Tetapkan nilai kolom Pemilik dalam record ke alamat email pengguna; misalnya, dalam peristiwa onCreate untuk record. Dalam model data Forum di Sampel Forum, izin akses Pemilik untuk tindakan Simpan dan Hapus menentukan bahwa hanya pemilik yang dapat mengedit forum atau menghapusnya.