เพื่อให้ส่วนขยาย Firebase ดำเนินการตามที่ระบุ Firebase จะอนุญาตให้แต่ละอินสแตนซ์ของส่วนขยายที่ติดตั้งเข้าถึงโครงการและข้อมูลของคุณผ่านทาง บัญชีบริการ ได้
บัญชีบริการคืออะไร
บัญชีบริการ เป็นบัญชีผู้ใช้ Google ประเภทพิเศษ แสดงถึงผู้ใช้ที่ไม่ใช่มนุษย์ซึ่งได้รับอนุญาตให้เข้าถึงข้อมูลโดยใช้ Google API
ระหว่างการติดตั้งส่วนขยาย Firebase จะสร้างบัญชีบริการในโครงการของคุณ แต่ละอินสแตนซ์ของส่วนขยายที่ติดตั้งไว้จะมีบัญชีบริการของตัวเอง
Firebase จำกัดการเข้าถึงโครงการและข้อมูลของคุณโดยการกำหนด บทบาท เฉพาะของบัญชีบริการของส่วนขยาย (ชุดสิทธิ์) บทบาทที่ส่วนขยายต้องใช้ในการทำงานนั้นถูกกำหนดโดย Firebase ในระหว่างการพัฒนาส่วนขยาย ในการติดตั้ง Firebase จะกำหนดบทบาทเหล่านี้ให้กับบัญชีบริการของส่วนขยาย และคุณไม่ควรแก้ไข เพิ่ม หรือลบบทบาทที่ได้รับมอบหมายเหล่านี้ (ไม่เช่นนั้นส่วนขยายที่ติดตั้งไว้จะไม่ทำงานตามที่คาดไว้) อย่างไรก็ตาม คุณสามารถ ถอนการติดตั้งส่วนขยาย ซึ่งจะลบบัญชีบริการ (และการเข้าถึง) ออกไปโดยสิ้นเชิง
บัญชีบริการที่สร้างขึ้นสำหรับส่วนขยายอยู่ในรูปแบบ:ext- extension-instance-id @ project-id .iam.gserviceaccount.com
คุณสามารถดูบัญชีบริการทั้งหมดที่เชื่อมโยงกับโครงการ Firebase ของคุณได้ในแท็บ บัญชีบริการ ของคุณ
สิทธิ์และบทบาท
ในระหว่างการพัฒนาส่วนขยาย Firebase จะกำหนดระดับการเข้าถึงที่ส่วนขยายต้องดำเนินการ
Firebase กำหนดการเข้าถึงระดับนี้โดยแสดงรายการ บทบาท (ชุดสิทธิ์) อย่างชัดเจนที่ Firebase ควรกำหนดให้กับ บัญชีบริการ ของส่วนขยายระหว่างการติดตั้งส่วนขยาย
แต่ละบทบาท (และสิทธิ์โดยธรรมชาติ) ขึ้นอยู่กับผลิตภัณฑ์หรือบริการเฉพาะ ตัวอย่างของบทบาท ได้แก่ firebasehosting.admin
, bigquery.dataEditor
และ firebasedatabase.admin
Firebase แสดงรายการบทบาทที่จำเป็นสำหรับส่วนขยายในไฟล์ข้อกำหนดของส่วนขยาย ( ไฟล์ extension.yaml
)
สำหรับส่วนขยาย Firebase อย่างเป็นทางการ Firebase จะตรวจสอบรายการบทบาทนี้อย่างละเอียดเพื่อให้แน่ใจว่าการเข้าถึงส่วนขยายนั้นจำกัดอยู่เพียงขอบเขตงานของส่วนขยายเท่านั้น คุณยังสามารถตรวจสอบและยืนยันด้วยตนเองถึงสิทธิ์การเข้าถึงส่วนขยายโดยดูหน้ารายละเอียดของส่วนขยายใน หน้าแดชบอร์ดส่วนขยาย Firebase หรือดู ไฟล์ README
เรียนรู้เกี่ยวกับสิทธิ์ที่รวมอยู่ในแต่ละบทบาท:
จะเกิดอะไรขึ้นเมื่อฉันถอนการติดตั้งส่วนขยาย
เมื่อคุณ ถอนการติดตั้งส่วนขยายออก จากโปรเจ็กต์ของคุณ Firebase จะลบ บัญชีบริการ ที่สร้างขึ้นสำหรับอินสแตนซ์ของส่วนขยายนั้น หลังจากลบบัญชีบริการนี้ ส่วนขยายจะไม่สามารถทำงานในโปรเจ็กต์ของคุณได้ เนื่องจากไม่มีสิทธิ์เข้าถึงโปรเจ็กต์หรือข้อมูลของคุณอีกต่อไป