Mengamankan aplikasi Anda

Sesuai kebutuhan, amankan project aplikasi, penerapan aplikasi, dan data aplikasi untuk memastikan bahwa persyaratan keamanan dan privasi untuk aplikasi Anda telah terpenuhi.

Pertimbangkan juga apakah aplikasi berjalan sebagai pengguna atau developer (identitas eksekusi).

Mengamankan project aplikasi

Projet aplikasi adalah aplikasi yang Anda kembangkan, bagikan, dan terapkan di App Maker. Project aplikasi menjelaskan bagaimana aplikasi dibuat.

Pertimbangkan siapa yang memiliki project aplikasi

Pemilik project aplikasi adalah orang yang membuat project pertama kali. Pemilik project adalah peran yang penting. Pemilik project memiliki kendali penuh atas project aplikasi dan penerapan aplikasi. Sebagai admin project, mereka juga memiliki akses penuh ke semua data penerapan aplikasi, apa pun setelan keamanannya. Anda dapat mengubah kepemilikan project aplikasi dengan dua cara:

  1. Pemilik project aplikasi dapat mentransfer kepemilikan project aplikasi kepada orang lain, seperti pada file Drive lainnya.
  2. Administrator G Suite dapat mentransfer kepemilikan.

Batasi akses edit ke project aplikasi

Jangan membagikan project aplikasi dengan orang lain kecuali Anda memercayai orang itu sepenuhnya. Editor aplikasi dapat mengubah:

  • UI aplikasi
  • izin
  • skrip
  • izin akses data

Anda dapat berbagi project aplikasi dengan pengguna tertentu (Akun Google) dan grup (Google Grup) dengan cara yang sama seperti berbagi file di Drive, Dokumen, dan Spreadsheet. Anda dapat berbagi project dengan pengguna yang memiliki tingkat akses berikut:

  • Dapat mengedit—Pengguna dengan akses Dapat mengedit memiliki akses mengembangkan aplikasi dan memublikasikan penerapan aplikasi. Mereka juga memiliki akses penuh ke semua data di semua penerapan aplikasi.
  • Dapat melihat—Pengguna dengan akses Dapat melihat memiliki akses hanya baca ke project aplikasi. Mereka tidak dapat melihat pratinjau aplikasi atau memublikasikan penerapan aplikasi, tetapi mereka memiliki akses baca ke semua data di semua penerapan aplikasi.

Gunakan tabel berikut untuk menentukan izin yang sesuai untuk pengguna dan grup Anda:

TindakanPemilik projectIzin mengeditIzin melihat
Melihat daftar penerapan
Memublikasikan penerapan
Mengedit penerapan jika pemilik penerapan jika pemilik penerapan
Memublikasikan ulang penerapan jika pemilik penerapan jika pemilik penerapan
Menghapus penerapan jika pemilik penerapan
Mengimpor data ke penerapan jika pemilik penerapan jika pemilik penerapan
Mengekspor penerapan data jika pemilik penerapan jika pemilik penerapan

Mengekspor, membagikan, dan mengimpor file project aplikasi dengan aman

Anda dapat mengekspor project aplikasi ke file project aplikasi. File project aplikasi dapat dibagikan dan diimpor.

File project aplikasi adalah record lengkap tentang bagaimana aplikasi dibuat. File tersebut berisi:

  • model data
  • antarmuka pengguna
  • skrip
  • informasi tentang peran (bukan keanggotaan peran, yang ditentukan dalam penerapan)
  • nama instance, jika aplikasi menggunakan database Cloud SQL kustom

File tidak berisi data aplikasi (yang ada dalam penerapan).

File project aplikasi tidak menampilkan masalah keamanan sebanyak project aplikasi bersama. Ketika developer mengimpor file project aplikasi, mereka membuat aplikasi baru yang secara visual dan fungsional identik dengan project aplikasi asli. Namun, aplikasi yang diimpor tidak memiliki koneksi ke database asli dan tidak berisi nama pengguna atau grup dalam setelan keamanan.

Rekomendasi untuk keamanan project aplikasi

  • Pertimbangkan siapa yang harus memiliki project sebelum memulai pengembangan.
  • Batasi akses aplikasi berdasarkan persyaratan akses developer dan pengguna.
  • Hanya bagikan project aplikasi dan file project aplikasi dengan orang yang Anda percayai.
  • Berbagi file project aplikasi dapat menjadi cara yang lebih aman untuk berbagi aplikasi daripada berbagi file project.
  • Hanya impor file project aplikasi dari orang yang Anda percayai.
  • Pastikan Anda paham dengan apa yang diimpor. Project aplikasi menentukan beberapa aspek keamanan aplikasi dan akses data.

Mengamankan aplikasi

Mengamankan aplikasi adalah bagian inti dari keamanan.

Menjalankan aplikasi sebagai pengguna atau developer

App Maker menggunakan akun tertentu saat menjalankan bagian server suatu aplikasi, akun pengguna aplikasi atau akun developer yang memublikasikan aplikasi. App Maker menggunakan akun tersebut saat aplikasi menjalankan skrip server dan membuat panggilan API ke Layanan Google Apps Script (Layanan G Suite, Layanan Skrip, dan Layanan Google Lanjutan).

Untuk informasi lebih lanjut, lihat Menjalankan sebagai pengguna atau developer.

Menggunakan peran Admin bawaan

Peran Admin bawaan berbeda dari peran yang dapat Anda buat:

Aspek Peran admin Peran lainnya
Bawaan

Anda menambahkan peran lain dalam project aplikasi.
Keamanan data default saat Anda membuat model

App Maker menetapkan izin model untuk semua operasi pada record ke Hanya Admin.

Hal ini juga berlaku untuk mengaitkan record (melalui izin akses Diwariskan).


Izin model ditetapkan ke Hanya Admin hingga Anda menyiapkan izin model yang berbeda.

Anda dapat mengubah izin akses ke Peran dan menambahkan peran lainnya.
Keamanan halaman default

Izin akses default adalah Semua Orang.
Menambahkan keamanan berbasis peran ke model, relasi, dan halaman
(dalam model App Maker dan editor halaman)
Menambahkan keamanan berbasis peran ke model, relasi, dan halaman
(dalam skrip dan ekspresi yang mengikat)
Berguna untuk administrator peran kerja dan tugas kerja
(misalnya, administrator di departemen yang berbeda yang memiliki tugas kerja yang berbeda-beda)
Mungkin, tapi hanya jika administrator yang berbeda harus mengakses semua fitur dan data aplikasi dengan cara yang sama
Melihat pratinjau aplikasi App Maker menambahkan Anda ke peran Admin.
Pratinjau hanya memiliki peran Admin dan pemilik aplikasi adalah satu-satunya anggota dari peran tersebut.

Untuk menguji izin, Anda harus memublikasikan penerapan aplikasi dan menentukan keanggotaan peran.
Memublikasikan aplikasi Saat pertama kali Anda memublikasikan penerapan aplikasi, App Maker menambahkan penayang aplikasi ke peran Admin.

Anda dapat mengubah keanggotaan peran Admin saat memublikasikan penerapan atau sesudahnya.
Anda dapat menentukan keanggotaan peran lain saat memublikasikan penerapan atau sesudahnya.

Menentukan dan menggunakan peran

Peran adalah kumpulan pengguna yang dapat Anda gunakan untuk menerapkan kontrol akses berbasis peran. Kumpulan dapat mencakup masing-masing Akun Google dan Google Grup.

Anda dapat menggunakan peran:

  • Untuk menentukan pengguna yang dapat mengakses data penerapan aplikasi. Untuk informasi lebih lanjut, lihat Mengamankan data.
  • Untuk menentukan kumpulan orang yang dapat mengakses halaman tertentu dan melihat elemen UI tertentu. Untuk informasi lebih lanjut, lihat Mengamankan UI.
  • Untuk mengontrol akses ke data melalui skrip server. Peran adalah salah satu dari tiga pendekatan untuk menggunakan izin akses guna mengontrol akses pengguna. Pendekatan lainnya adalah izin Skrip dan izin Pemilik. Jika Anda tidak menggunakan izin peran, Anda tidak perlu menambahkan peran.

Menambahkan peran

  1. Buka App Maker lalu buka project aplikasi Anda.
  2. Klik Setelan Setelan Aplikasi.
  3. Di bagian Keamanan Peran Akses, masukkan nama peran.

Cara menggunakan peran

Tetapkan peran dan tambahkan pengguna, lalu kelompokkan berdasarkan:

  • Peran kerja
  • Tugas yang dapat dilakukan orang di organisasi Anda
  • Data yang dapat diakses oleh orang di organisasi Anda

Misalnya, sebagai karyawan, Anda dapat mengedit informasi kontak. Sebagai pengelola, Anda dapat menyetujui permintaan liburan. Sebagai anggota departemen Keuangan, Anda dapat melihat piutang dan utang.

Anda membuat peran dalam project aplikasi, tetapi menentukan anggotanya dalam penerapan aplikasi. Hal ini memungkinkan Anda memublikasikan beberapa versi aplikasi, misalnya versi pengujian dan produksi, dengan keanggotaan peran yang berbeda. Anda dapat menegubah keanggotaan peran untuk aplikasi yang dipublikasikan tanpa perlu memublikasikan ulang aplikasi.

Cara menggunakan peran untuk mengontrol keamanan aplikasi:

  1. Tentukan peran yang logis untuk aplikasi Anda, berdasarkan peran kerja, tugas yang dilakukan, dan persyaratan terkait akses data.
  2. Tambahkan peran.
  3. Amankan operasi pada record.
  4. Amankan relasi antar model.
  5. Amankan halaman.
  6. Amankan skrip server.
  7. (Opsional) Kontrol visibilitas elemen UI.
  8. Publikasikan aplikasi dan tambahkan anggota ke peran.

Menetapkan izin akses

Anda harus menetapkan izin akses untuk memberikan pengguna tertentu akses ke data dan bagian tertentu di UI aplikasi. Anda dapat menetapkan izin akses untuk mengontrol:

  • Data yang dapat diakses pengguna dan jenis akses yang mereka miliki
  • Halaman yang dapat dilihat pengguna
  • Visibilitas widget (misalnya, link dari halaman pengguna ke halaman untuk pengelola dapat menguji peran Pengelola)

Tempat untuk menerapkan izin akses

  • Akses record untuk model data, untuk operasi Buat, Muat, Simpan, dan Hapus. Dengan mencentang kotak Lanjutan, Anda dapat menetapkan izin akses untuk operasi Buat, Muat, Simpan, dan Hapus secara terpisah. Dengan menghapus centang pada kotak Lanjutan, Anda dapat menetapkan izin akses untuk semua operasi.
  • Kemampuan untuk mengaitkan record dalam model data (atau model) pada kedua ujung relasi.
  • Akses ke halaman dalam UI aplikasi

Jenis izin akses

Izin akses memberikan pengguna tertentu yang dapat menjalankan aplikasi akses ke data dan halaman tertentu di UI aplikasi. Anda dapat membatasi siapa saja yang dapat menjalankan aplikasi pada bagian Akses aplikasi di setelan untuk penerapan.

Kecuali seperti yang disebutkan, Anda dapat memilih di antara semua izin akses ini untuk operasi record (Buat, Muat, Simpan, dan Hapus), untuk relasi (khusus untuk mengaitkan record yang diatur oleh relasi), dan untuk halaman.

IzinDeskripsi
Hanya Admin Hanya pengguna yang ditambahkan ke peran Admin dalam setelan penerapan aplikasi yang memiliki akses.
Saat Anda membuat model data, App Maker menggunakan izin Hanya Admin sebagai izin default untuk operasi dan relasi record. Hal ini untuk memberikan keamanan data hingga Anda menerapkan keamanan data yang sesuai untuk aplikasi.
Semua orang Jika semua orang diberikan akses, maka semua orang dalam suatu organisasi dapat menjalankan aplikasi. Jika tidak, akses hanya diberikan kepada pengguna yang dapat menjalankan penerapan aplikasi. Tentukan siapa saja yang dapat menjalankan aplikasi di bagian Akses aplikasi di setelan untuk penerapan.
Peran Hanya anggota dengan peran tertentu yang memiliki akses. Anda menambahkan peran dalam project aplikasi. Anda menambahkan pengguna ke peran dalam setelan penerapan aplikasi.
Skrip Hanya pengguna yang diberi akses oleh skrip otorisasi server yang memiliki akses. Anda menulis skrip dalam editor skrip yang muncul ketika memilih jenis izin akses ini.
Pemilik atau Peran Untuk operasi record, hanya pemilik record atau anggota peran yang telah ditetapkan yang memiliki akses. App Maker memutuskan apakah pengguna adalah pemilik record dengan mencocokkan alamat email pengguna dengan isi kolom dalam record. Anda menentukan kolom mana yang akan digunakan.
Diwariskan Untuk relasi, pengguna yang dapat menyimpan record dalam model data di kedua ujung relasi dapat mengaitkan record.

Anda dapat menggunakan lebih dari satu jenis izin dalam aplikasi, dan bahkan untuk instance terpisah dari jenis yang sama. Misalnya, model data berisi data yang dapat diketahui secara luas dapat menggunakan izin Semua Orang untuk semua operasi record, sementara model data dalam aplikasi yang sama berisi informasi yang dapat diidentifikasi secara pribadi dapat menggunakan izin Peran atau Skrip.

Menggunakan izin akses default

Saat Anda membuat bagian-bagian aplikasi ini, App Maker memberinya izin default:

  • ModelHanya Admin. Membatasi akses ke record model melalui sumber data ke anggota dengan peran Admin.
  • RelasiDiwariskan. Membatasi kemampuan untuk mengaitkan record yang diatur oleh relasi dengan pengguna yang dapat menyimpan record dalam model data (atau model) di kedua ujung relasi.
  • HalamanSemua Orang. Semua orang dapat melihat halaman.

Contoh izin akses

Template dan sampel menggunakan izin akses:

  • Akses berdasarkan kepemilikan record. Sampel Forum memungkinkan pengguna membuat forum dan memposting pesan ke forum. Pengguna yang membuat forum adalah pemilik forum tersebut. Peristiwa onCreate untuk record dalam model data Forum menetapkan nilai kolom Pemilik dalam record ke alamat email pengguna. Izin akses pemilik untuk tindakan Simpan dan Hapus menentukan bahwa hanya pemilik yang dapat mengedit forum atau menghapusnya.

  • Halaman untuk administrator. Template Aplikasi Awal dan Galeri Material memiliki halaman yang disebut Admin. Halaman ini menggunakan izin Hanya Admin untuk membatasi akses ke halaman untuk anggota dengan peran Admin. Keanggotaan peran ditetapkan dengan mengedit penerapan.

Mengamankan data

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 mana yang dapat diakses pengguna, file dan data penayang aplikasi, atau file dan datanya sendiri.

    • Data G Suite mana yang dapat diakses pengguna, file dan data penayang aplikasi, atau file dan datanya 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 kombinasinya). Hal ini memungkinkan pengguna tertentu mengaitkan record pada kedua ujung relasi.

Rekomendasi

  • Jangan mengandalkan keamanan UI untuk keamanan data. Langkah-langkah pengamanan UI (keamanan halaman dan mengontrol visibilitas elemen UI) tidak mengamankan data. Keamanan UI hanya mengontrol pengguna dengan akses tertentu melalui UI.
  • Jangan gunakan skrip klien atau skrip startup aplikasi untuk keamanan data Skrip klien jelas tidak aman. Keamanan berbasis skrip harus berjalan pada server. Temukan informasi dan prosedur lebih lanjut untuk mengamankan data di sini.

Mengamankan UI

Sebagai bagian dari keamanan aplikasi, Anda dapat mengamankan halaman dan elemen UI, widget atau bagian dari widget. Keamanan untuk UI menentukan apakah pengguna dapat melihat sesuatu (atau mendengarnya dengan pembaca layar).

Dengan App Maker, Anda dapat menggunakan salah satu atau kedua pendekatan berikut ini untuk mengamankan UI aplikasi Anda:

  • Mengamankan halaman. Gunakan keamanan halaman untuk mengontrol halaman mana yang dapat dilihat pengguna. Dalam Editor Properti , di bagian Keamanan, terapkan izin akses Peran atau Skrip pada setiap halaman.
  • Mengamankan elemen UI. Gunakan properti visible untuk mengontrol elemen mana pada halaman yang dapat dilihat pengguna. Properti yang terlihat tersedia untuk widget dan untuk bagian widget gabungan. Pada Editor Properti , di bagian Tampilan, tentukan ekspresi yang mengikat untuk elemen UI yang memutuskan menjadi true (terlihat) atau false (tidak terlihat).

Temukan informasi dan prosedur lebih lanjut untuk mengamankan UI di sini.

Mengamankan skrip server

Jika aplikasi Anda mengakses data sensitif, Anda harus mengamankan skrip server. Misalnya, skrip server dapat memastikan bahwa pengguna yang datanya diminta adalah pengguna aktif dalam sesi tersebut. App Maker tidak memeriksa secara otomatis izin akses ketika menjalankan skrip server.

Gunakan salah satu atau kedua langkah ini untuk mengamankan skrip server:

Mengamankan penerapan

Penerapan aplikasi adalah aplikasi yang dijalankan pengguna. Penerapan aplikasi mewarisi beberapa langkah keamanan dari project aplikasi.

Untuk mengamankan penerapan, tentukan:

Rekomendasi

  • Pertimbangkan siapa yang memiliki penerapan aplikasi. Untuk aplikasi yang diterapkan, hanya penayang aplikasi yang menjadi pemilik penerapan, bukan pemilik aplikasi. Pemilik aplikasi dapat mengambil alih kepemilikan atas penerapan.
  • Pastikan Anda memublikasikan atau memublikasikan ulang revisi yang benar dari aplikasi. Tandai revisi aplikasi agar Anda mengetahui jejak revisinya.
  • Uji aplikasi secara menyeluruh sebelum dan sesudah memublikasikannya. Pengujian harus mencakup menjalankan aplikasi sebagai pengguna yang berbeda dengan izin yang berbeda. Pengujian juga harus mencakup pengabaian keamanan UI.

Menentukan siapa saja yang dapat menjalankan penerapan aplikasi

Secara default, semua pengguna di organisasi Anda dapat menjalankan penerapan aplikasi.

Anda dapat membuat daftar pengguna tertentu yang diberi izin untuk menjalankan penerapan aplikasi (diidentifikasi secara langsung oleh Akun Google atau grup melalui Google Grup). Pengguna yang tidak dapat menjalankan aplikasi akan melihat pesan yang memberitahu mereka bahwa mereka tidak memiliki akses ke aplikasi.

Untuk mengizinkan pengguna tertentu menjalankan penerapan aplikasi:

  1. Buka App Maker lalu buka project aplikasi Anda.
  2. Klik Setelan Penerapan.
  3. Di baris untuk penerapan, klik Edit.
  4. Di bagian Akses aplikasi, pilih Hanya izinkan akses ke pengguna tertentu.
  5. Masukkan alamat email pengguna tertentu (Akun Google), grup (Google Grup), atau keduanya.
  6. Klik Simpan. App Maker akan memublikasikan ulang penerapan secara otomatis.

Menambahkan anggota ke peran

Jika Anda menggunakan izin akses Peran untuk mengamankan data atau halaman, Anda harus menambahkan anggota ke peran. Tentukan alamat email individu (Akun Google), grup (Google Grup), atau keduanya.

Untuk menambahkan anggota ke peran:

  1. Buka App Maker dan lalu buka aplikasi tempat Anda ingin mengekspor data dari penerapan ke dalam spreadsheet Google.
  2. Klik Setelan Penerapan.
  3. Pada entri tabel untuk penerapan tempat Anda ingin menambahkan anggota ke peran, klik Edit.
  4. Di bagian Pengguna dengan akses peran, Masukkan alamat email pengguna tertentu (Akun Google), grup (Google Grup).
  5. Klik Simpan. App Maker akan memublikasikan ulang penerapan aplikasi. Penerapan yang dipublikasikan ulang telah mengalami perubahan dalam keanggotaan peran.

Melihat pratinjau aplikasi

Pratinjau meliputi fitur keamanan berikut:

  • URL Pratinjau bersifat pribadi. Hanya developer yang melakukan pratinjau aplikasi yang dapat melihat pratinjau tersebut. URL untuk pratinjau tidak mengizinkan orang lain menjalankan penerapan pratinjau.
  • Melihat pratinjau data residen. Data di Cloud SQL ada dalam pratinjau. Beberapa developer yang melihat pratinjau project aplikasi bersama membuat pratinjau yang berbeda, masing-masing dengan data sendiri (atau tanpa data jika developer belum menambahkan data apa pun).

Memublikasikan aplikasi

Dengan memublikasikan aplikasi, pengguna lain dapat menjalankan aplikasi, sesuai dengan pembatasan siapa saja yang dapat menjalankan aplikasi. Apa yang dapat dilakukan pengguna di aplikasi dan data apa yang dapat dilihat pengguna bergantung pada langkah keamanan yang ditambahkan developer aplikasi.

Sebagai tindakan pencegahan keamanan, dalam aplikasi yang dipublikasikan yang keamanan datanya belum ditetapkan, izin akses awal untuk operasi pada record adalah Hanya Admin.

Mengimpor dan mengekspor data

App Maker memungkinkan orang yang memublikasikan penerapan untuk mengimpor data ke dalam penerapan dan untuk mengekspor data dari penerapan. Kedua tindakan ini dapat menciptakan risiko keamanan; misalnya, jika data mencakup data sensitif atau rahasia, seperti informasi identitas pribadi (PII):

  • Mengimpor data. Mengimpor data dari spreadsheet Google ke dalam model di penerapan aplikasi App Maker akan mengimpor semua data ke dalam penerapan. Jika Spreadsheet Google berisi data sensitif atau rahasia, maka penerapan aplikasi juga berisi informasi tersebut.
  • Mengekspor data. Mengekspor data dari model dalam aplikasi App Maker akan mengekspor semua data ke spreadsheet Google. Jika model berisi data sensitif atau rahasia, spreadsheet juga berisi informasi tersebut.