1) share drive https://drive.google.com/drive/shared-drives ตาม lists ข้างต้น
ปลอดภัยเพราะ file ทั้งหมด under gg workspace, จำกัดการเข้าถึงแบบเข้าใจง่าย ป้องกันผิดพลาด
สร้างเพิ่มเติมได้อิสระเพื่อ share ระหว่างทีม เช่น marketing-sale, sale-product
แต่ถ้า folder-file ที่จะ cross team ไม่ได้เยอะ สามารถใช้ Z (all) สร้าง folder cross team แทนได้เลย
tricks การตั้งค่า share drive
Allow people outside of Zennala Co., Ltd. to access files = ปกติจะปิดเสมอ ยกเว้นเป็น share drive ที่สร้างขึ้นมา share กับคนภายนอกโดยเฉพาะ
Allow people who aren't shared drive members to access files = ปกติจะปิดเสมอ ยกเว้นเปิดใน share drive กรณีพิเศษจริงๆ ไม่ค่อยเหมาะจะใช้ เพราะคนรับ share จะหา file ยาก และมีโอกาสกด share ผิด
Allow content managers to share folders = ปกติจะปิดเลยแทบทุกกรณี ไม่จำเป็นเท่าไร
ระวังการส่ง file or link share drie ผ่าน gg chat เราจะชอบมองว่าถึงมีคนที่ห้ามเปิด file นั้นในกลุ่มก็ไม่เป็นไร เพราะเค้าเข้าไม่ได้ แต่ gg chat จะ offer ให้เรากดให้เค้าเข้าถึง file ได้ทันที
วิธีเปลี่ยนการตั้งค่าสิทธิ์ข้างใน share drive
1) folder - file ข้างในไม่สามารถลดสิทธิ์ต่ำกว่า share drive, เพิ่มสิทธิ์ได้ เช่น share drive = viewer, folder A ข้างใน = content manager
2) limited access folder ย่อยใน share drive สามารถตั้งค่าตัดคนใน share drive ออกได้ยกเว้น manager ตัดไม่ได้
2) share folder หรือ drive personal acc (gg workspace ปรับให้การตั้งค่า การเข้าถึง และการแก้ไขถูกจำกัด)
เหมาะกับใช้กับ file ส่วนตัวเท่านั้น หรือ file พิเศษ เช่น gg class ที่ไม่สามารถอยู่ใน share drive ได้
หาก parent folder ไม่ share กับใครเลย file-folder ข้างในจะ share ได้อิสระ
gg site ที่เปิด publish ต้องใช้ drive ส่วนตัว
about app script & web app
กฎศักสิทธิ์
❌ ห้ามกด Run ใน Apps Script
❌ ห้ามใช้ Button / Menu ใน Google Sheet
✅ ต้องรันผ่าน Web App เท่านั้น
ยกเว้นได้แค่กรณีเดียว:
เราเป็น Owner
& Script / Sheet ไม่แชร์ให้ใครเลย
❌ ไม่เขียน Script ในตัว Sheet
✅ เขียน Apps Script แยก
✅ เชื่อมด้วย Google Sheet ID
ยกเว้น:
อยู่ในช่วงเริ่มเขียน / ทดลอง
& ยังไม่แชร์ให้ใคร
✅ เราเป็น Owner → รันได้
❌ ไม่ใช่ Owner / หรือมี editor → ห้ามรัน
ถ้าเป็นโค้ดที่ได้มาจากคนอื่น
→ ต้องตรวจสอบความปลอดภัยก่อนทุกครั้ง
(ยกเว้นกรณี คนที่ตำแหน่งสูงกว่า สั่ง Script มาให้เรารัน ไม่ต้องตรวจสอบได้)
Web App ต้องตั้งค่าแบบนี้เท่านั้น:
Execute as: ME (yourE-mail@zennala.com)
Who has access: Anyone within Zennala Co., Ltd.
❌ ห้ามใช้ external library
✅ ใช้ AI เขียนโค้ดแทน
🎯 เพื่อลดความเสี่ยงข้อมูลรั่ว / code แฝง
4) การตั้ง Trigger บน Apps Script สามารถตั้งได้ถ้า Apps Script นั้นไม่มีการแชร์
TO correct แก้ไขตอนนี้
1) recheck สิทธิ์ account team + personal account
อาจจะ remove ทั้งหมดเลยถ้าไม่แน่ใจ แล้วใช้จริงค่อยกด allow ใหม่
แต่ให้ระวังอันที่ผูก trigger ไว้จะไม่ run, file ที่ไม่ run ก็ไม่ update ใช้ไม่ได้
https://myaccount.google.com/permissions
หาก clear ข้อ 1 ครบถ้าไม่ไปกด allow ใม่ถือว่าปลอดภัย
แต่ในความเป็นจริงมันก็ต้องกดเพื่อให้ทำงานได้ หรือเผลอไปกดอยู่ดี
สรุป ป้องกันชั่วคราวกด remove ไปก่อน ถ้าไม่มี trigger ไม่มีปัญหา
ถ้ามี trigger ก็ต้องยอมให้ trigger หยุดทำงาน จนกว่าจะแก้เสร็จค่อยกด allow ใหม่ (จดไว้ก่อน มากด allow ทีหลัง)
2) https://script.google.com/home
my projects = app script, gg sheet, gg form, etc.. ที่เราเป็นเจ้าของ
shared with me = คนอื่น share มาจาก share folder (account เค้า)
all projects รวม 2 อันด้านบน + shared drive
(share drived ไม่รวม 2 อันบน เพราะไม่ใช่ของใคร เป็นของ workspace)
จริงๆแล้วดูที่อันนี้อันเดียวครบ
กรณีที่ต้องระวังคือ มี icon 2 คนต่อท้ายแปลว่าเรา share กับเค้า
ถ้าไม่มีไม่ share กับใครปลอดภัย แต่ถ้าไม่ปรับระยะยาว เราก็จะเผลอ share อยู่ดี
สรุป ทั้งหมดนี้เราต้องย้ายไป web app
ทำไมห้าม run ผ่าน app script / gg sheet button
จำไว้ว่าถ้า app script เราให้สิทธิ์ editor เค้าแม้แต่ file เดียว = ให้ key card ขึ้นคอนโด google account เราทั้งหมด
อาจรวมถึง account อื่นๆที่เป็น editor ใน script นั้นๆด้วย
** จำไว้ว่าการกด allow คือปราการด่านสุดท้าย ทุกครั้งที่กดคือการให้กุญแจชั่วคราวเข้าห้องเรา
กดครั้งแรกสำคัญสุด เพราะจะมีแจ้งเตือนให้เราดู
กดครั้งต่อมาสำคัญน้อยเพราะ click เดียวพลาดไปเลย
ส่วนการตั้ง trigger คือการตั้งเวลาให้เข้าห้องได้ทุก xxx