Firebase จะอนุญาตให้อินสแตนซ์แต่ละรายการของส่วนขยายที่ติดตั้งเข้าถึงโปรเจ็กต์และข้อมูลของคุณแบบจํากัดผ่านบัญชีบริการเพื่อให้ Firebase Extension ดําเนินการตามที่ระบุ
บัญชีบริการคืออะไร
บัญชีบริการเป็นบัญชีผู้ใช้ Google ประเภทพิเศษ บัญชีดังกล่าวจะเป็นตัวแทนผู้ใช้ที่ไม่ใช่มนุษย์ ซึ่งได้รับอนุญาตให้เข้าถึงข้อมูลโดยใช้ Google APIs
ในระหว่างการติดตั้งส่วนขยาย 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 Extensions หรือดูไฟล์README
ดูข้อมูลเกี่ยวกับสิทธิ์ที่รวมอยู่ในแต่ละบทบาท
จะเกิดอะไรขึ้นเมื่อฉันถอนการติดตั้งส่วนขยาย
เมื่อคุณถอนการติดตั้งส่วนขยายจากโปรเจ็กต์ Firebase จะลบบัญชีบริการที่สร้างสำหรับอินสแตนซ์นั้นๆ ของส่วนขยาย หลังจากการลบบัญชีบริการแล้ว ส่วนขยายจะไม่สามารถทํางานในโปรเจ็กต์ได้เนื่องจากไม่มีสิทธิ์เข้าถึงโปรเจ็กต์หรือข้อมูลของคุณอีกต่อไป