Firebase ผสานรวมกับ Application Design Center (ADC) จาก Google Cloud เพื่อช่วยให้ลูกค้าองค์กรเป็นไปตามข้อกำหนดด้านมาตรฐานและการ กำกับดูแล พร้อมทั้งช่วยให้นักพัฒนาแอปเผยแพร่แอปได้อย่าง รวดเร็ว การใช้ ADC ช่วยให้มั่นใจได้ว่า โครงสร้างพื้นฐานเป็นไปตามมาตรฐานและแนวทางปฏิบัติแนะนำขององค์กรผ่าน เทมเพลต ที่กำหนดไว้ล่วงหน้า ซึ่งกำหนดแนวทางในการจัดสรรทรัพยากร การให้สิทธิ์ IAM เป็นต้น
ในหน้านี้ คุณจะได้เรียนรู้เกี่ยวกับสิ่งต่อไปนี้
- ภาพรวมของ ADC และ Firebase, รวมถึง ผลิตภัณฑ์ Firebase ที่รองรับ
- ลักษณะตัวตนหลัก และ บทบาท IAM ที่จำเป็นในการควบคุมการเข้าถึง
- เวิร์กโฟลว์ทั่วไป
ภาพรวมของ ADC และ Firebase
เราขอแนะนำให้ดูภาพรวมของ ADC ในเอกสารประกอบของ Google Cloud สำหรับ นอกจากนี้ เอกสารประกอบของ Google Cloud ยังมีคำแนะนำเชิงลึกหลายรายการสำหรับ ADC ซึ่งรวมถึง แนวคิดหลัก และ คู่มือการตั้งค่าเริ่มต้น
เมื่อใช้ ADC ระบบจะกำหนด "แอป" เป็นการจัดกลุ่มทรัพยากรและบริการต่างๆ อย่างมีเหตุผล ซึ่งทำงานร่วมกันเพื่อส่งมอบฟังก์ชันทางธุรกิจ สำหรับนักพัฒนาซอฟต์แวร์ Firebase คุณสามารถคิดว่า ADC "แอป" ของ ADC เทียบเท่ากับ โปรเจ็กต์ Firebase ซึ่งแอป iOS, Android และเว็บที่ลงทะเบียนไว้ทั้งหมดจะแชร์ และมีสิทธิ์เข้าถึงทรัพยากรและบริการเดียวกันทั้งหมดสำหรับโปรเจ็กต์
หากต้องการเริ่มต้นใช้งาน เราขอแนะนำให้ใช้ ADC ผ่าน GUI ที่เรียกว่า design canvas ซึ่งมีอยู่ในคอนโซล Google Cloud Design canvas ช่วยให้คุณเห็นภาพและสร้างไดอะแกรมสถาปัตยกรรมของโครงสร้างพื้นฐานที่ต้องการให้แอปใช้งานได้
โปรดทราบว่า ADC ทำงานบน Terraform ดังนั้น คุณจึงเข้าถึงคำจำกัดความของโค้ดสำหรับโครงสร้างพื้นฐานที่ กำหนดไว้โดยใช้ ADC ได้เสมอ
ผลิตภัณฑ์ Firebase ที่รองรับ
ต่อไปนี้คือชุดผลิตภัณฑ์ Firebase ที่รองรับในเบื้องต้นซึ่งสามารถใช้กับ ADCได้
- Firebase AI Logic
- Firebase Authentication
- Firebase App Check
- Cloud Firestore
- Firebase Security Rules
ลักษณะตัวตนหลักสำหรับการใช้ ADC
วิธีที่ใช้กันโดยทั่วไปในการทำความเข้าใจและใช้ ADC คือการ แบ่งงานที่เกี่ยวข้องกับ ADC ตามลักษณะตัวตน 2 แบบ ดังนี้
วิศวกรแพลตฟอร์ม: ลักษณะตัวตนนี้ออกแบบ ตรวจสอบ และเผยแพร่ เทมเพลตADCที่นำกลับมาใช้ซ้ำได้และมีการบังคับใช้นโยบายไปยัง แคตตาล็อกADC
นักพัฒนาแอปพลิเคชัน: ลักษณะตัวตนนี้ใช้เทมเพลตที่เผยแพร่แล้ว ADC (เช่น จากแคตตาล็อก ADCของทีม) เพื่อกำหนดค่าและติดตั้งใช้งาน โครงสร้างพื้นฐาน นอกจากนี้ยังพัฒนาฐานโค้ดและฟีเจอร์จริงของแอปด้วย
บทบาท IAM ที่จำเป็นในการควบคุมการเข้าถึง
การมอบหมายบทบาท IAM ช่วยให้คุณควบคุมได้ว่าสมาชิกโปรเจ็กต์ (หรือ พรินซิเพิล) คนใดสามารถทำงานที่เฉพาะเจาะจงได้
ตัวอย่างเช่น คุณอาจมอบหมายบทบาท ผู้ดูแลระบบ Application Design Center (roles/designcenter.admin) ให้กับวิศวกรแพลตฟอร์มที่ต้องสร้างและมอบหมายพื้นที่ทำงาน จัดการแคตตาล็อก และออกแบบเทมเพลต อย่างไรก็ตาม คุณน่าจะมอบหมายบทบาท ผู้แก้ไขแอปพลิเคชัน (roles/designcenter.applicationEditor) ให้กับนักพัฒนาแอปพลิเคชันเท่านั้น เพื่อให้นักพัฒนาแอปพลิเคชันสามารถ ใช้ เทมเพลตได้ แต่ สร้าง เทมเพลตไม่ได้
ตารางต่อไปนี้อธิบายงานที่เกี่ยวข้องกับ ADC-related tasks, ลักษณะตัวตนที่ต้องการ และบทบาทที่จำเป็น
| งาน | ลักษณะตัวตน | บทบาท IAM 1 |
|---|---|---|
| สร้างและจัดการเทมเพลต | ||
|
จัดการวงจรชีวิตทั้งหมดของ ADC (รวมถึงการจัดการพื้นที่ทำงาน แคตตาล็อก เทมเพลต การกำหนดค่าและการติดตั้งใช้งานแอป) |
วิศวกรแพลตฟอร์ม |
ผู้ดูแลระบบ Application Design Center ( roles/designcenter.admin |
| สร้างและจัดการเทมเพลต รวมถึงกำหนดค่าและติดตั้งใช้งานแอป | วิศวกรแพลตฟอร์ม |
ผู้ใช้ Application Design Center ( roles/designcenter.user |
| สร้างบัญชีบริการสำหรับการติดตั้งใช้งาน ADC แอป | ||
| สร้างบัญชีบริการ | วิศวกรแพลตฟอร์ม |
สร้างบัญชีบริการ ( roles/iam.serviceAccountCreator |
| ให้สิทธิ์เข้าถึงบัญชีบริการแก่ โปรเจ็กต์ที่ใช้สำหรับการADC ติดตั้งใช้งาน | วิศวกรแพลตฟอร์ม |
ผู้ดูแลระบบ IAM ของโปรเจ็กต์ ( roles/resourcemanager.projectIamAdmin |
| กำหนดค่าและติดตั้งใช้งานADC แอป | ||
|
ควบคุมวงจรชีวิตทั้งหมดของแอป (รวมถึงการผสานรวมกับซอร์สโค้ดและระบบ CI/CD) |
นักพัฒนาแอปพลิเคชัน |
ผู้ดูแลระบบแอปพลิเคชัน ( roles/designcenter.applicationAdmin |
| กำหนดค่าและติดตั้งใช้งานแอปตามเทมเพลตและการเชื่อมต่อที่มีอยู่ ตั้งค่าโดยผู้ดูแลระบบ | นักพัฒนาแอปพลิเคชัน |
ผู้แก้ไขแอปพลิเคชัน ( roles/designcenter.applicationEditor |
1 บทบาทเหล่านี้หลายบทบาทต้องตั้งค่าใน โปรเจ็กต์การจัดการ, ซึ่งเป็นทรัพยากรระดับบนสุดภายในลำดับชั้นของ Google Cloud
เวิร์กโฟลว์ทั่วไป
ส่วนนี้อธิบายเวิร์กโฟลว์ทั่วไปสำหรับการสร้างและใช้เทมเพลต ADC โดยขั้นตอนต่างๆ จะมีป้ายกำกับเป็นลักษณะตัวตนของผู้ที่จะดำเนินการตามขั้นตอนนั้นๆ โดยปกติ
- ขั้นตอนที่ 1: ตั้งค่า ADC (วิศวกรแพลตฟอร์ม)
- ขั้นตอนที่ 2: สร้างเทมเพลต (วิศวกรแพลตฟอร์ม)
- ขั้นตอนที่ 3: ใช้เทมเพลต (นักพัฒนาแอปพลิเคชัน)
- ขั้นตอนที่ 4: พัฒนาแอปจริง (นักพัฒนาแอปพลิเคชัน)
ขั้นตอนที่ 1: ตั้งค่า ADC (วิศวกรแพลตฟอร์ม)
ลักษณะตัวตนของวิศวกรแพลตฟอร์ม (หรือสูงกว่า) จะทำงานเหล่านี้เพื่อตั้งค่า ADC โดยปกติแล้ว คุณจะต้องทำตามงานเหล่านี้เพียงครั้งเดียวเพื่อตั้งค่าทุกอย่างให้พร้อมใช้งาน ADC
การตั้งค่า ADC เริ่มต้น
ทำตามขั้นตอนและคำแนะนำใน คู่มือการตั้งค่าเริ่มต้น สำหรับ ADC ในเอกสารประกอบของ Google Cloud โปรดทราบว่าคู่มือนี้จะถือว่าคุณจะตั้งค่า ขอบเขตระดับโฟลเดอร์
หลังจากตั้งค่านี้เสร็จแล้ว คุณควรมี พื้นที่ทำงาน ซึ่งเป็น พื้นที่เฉพาะสำหรับทีมในการทำงานร่วมกัน สร้างเทมเพลต และติดตั้งใช้งาน แอปพลิเคชัน ตรวจสอบว่าได้แชร์พื้นที่ทำงานนี้ (รวมถึงโฟลเดอร์และแคตตาล็อก) กับทุกคนที่คุณต้องการทำงานร่วมกับ ADC
ตั้งค่าการเข้าถึงและผู้ใช้สำหรับพื้นที่ทำงาน
ทำตามขั้นตอนใน จัดการผู้ใช้พื้นที่ทำงาน สำหรับ ADC ในเอกสารประกอบของ Google Cloud ใช้คำแนะนำที่อธิบายไว้ก่อนหน้านี้ในหน้านี้เกี่ยวกับ บทบาท IAM ที่จำเป็นในการควบคุมการเข้าถึง
จัดสรรโปรเจ็กต์ล่วงหน้า
สร้างโปรเจ็กต์ Google Cloud ใหม่อย่างน้อย 1 โปรเจ็กต์ในโฟลเดอร์ ตรวจสอบว่า คุณได้ลิงก์บัญชี Cloud Billing กับโปรเจ็กต์เหล่านี้แล้ว นักพัฒนาแอปพลิเคชันจะใช้โปรเจ็กต์เหล่านี้เมื่อติดตั้งใช้งานโครงสร้างพื้นฐานที่กำหนดไว้ในเทมเพลต
กำหนดค่าบัญชีบริการสำหรับการติดตั้งใช้งาน
ADC จัดการการจัดสรร ทรัพยากรโดยอัตโนมัติโดยใช้บัญชีบริการที่มีขอบเขตจำกัด ซึ่งจะป้องกันไม่ให้นักพัฒนาแอปพลิเคชันใช้บัญชีของตนเองเพื่อติดตั้งใช้งานโครงสร้างพื้นฐาน
ADC สามารถสร้างบัญชีบริการที่มีขอบเขตจำกัดในนามของคุณโดยอัตโนมัติขณะที่คุณทดสอบการติดตั้งใช้งานเทมเพลตที่สร้างขึ้น นอกจากนี้ คุณยังเลือกใช้บัญชีบริการของคุณเองที่มีสิทธิ์ที่คุณเห็นว่าเหมาะสมสำหรับนักพัฒนาแอปพลิเคชันได้ด้วย
ขั้นตอนที่ 2: สร้างเทมเพลต (วิศวกรแพลตฟอร์ม)
ลักษณะตัวตนของวิศวกรแพลตฟอร์มใช้ design canvas หรือแม้แต่ Gemini Cloud Assist เพื่อสร้างเทมเพลต ADC ใหม่
กำหนดทรัพยากร
ใช้ design canvas โดยลากและวางคอมโพเนนต์ลงใน canvas แล้วสร้างการเชื่อมต่อระหว่างคอมโพเนนต์เหล่านั้น คอมโพเนนต์เหล่านี้เป็นวิธีที่คุณกำหนดบริการ Firebase (และ Google Cloud) ที่ต้องการให้นักพัฒนาแอปพลิเคชันใช้
ตัวอย่างเช่น เทมเพลตอาจกำหนดทรัพยากรต่างๆ ดังนี้
- นักพัฒนาแอปพลิเคชันสามารถพัฒนาแอป iOS, Android และเว็บที่ใช้ทรัพยากรทั้งหมดได้
- นักพัฒนาแอปพลิเคชันสามารถใช้ Firebase AI Logic, Firebase Authentication, Cloud Firestore, และ Firebase Security Rules ในแอปได้ (ดู รายการผลิตภัณฑ์ Firebase ทั้งหมดที่รองรับสำหรับ ADC)
- Firebase Security Rules โดยค่าเริ่มต้น ระบบจะตั้งค่าเป็นปฏิเสธคำขอเข้าถึงทั้งหมดในตอนแรก จากนั้นเมื่อนักพัฒนาแอปพลิเคชันใช้เทมเพลตนี้สำหรับการติดตั้งใช้งานของตนเอง นักพัฒนาแอปพลิเคชันจะสามารถเปลี่ยนSecurity Rulesเหล่านี้ให้สอดคล้อง กับโมเดลการเข้าถึงที่ต้องการได้
กำหนดนโยบาย
หากต้องการกำหนดนโยบาย เช่น บทบาท IAM สำหรับโครงสร้างพื้นฐานที่ติดตั้งใช้งานหรือภูมิภาคที่อนุญาตสำหรับทรัพยากร คุณต้องตั้งค่าเหล่านั้นในอินเทอร์เฟซที่เกี่ยวข้องสำหรับนโยบายเหล่านั้น ADC ยังไม่รองรับการกำหนด นโยบายที่ระดับเทมเพลต
คุณสามารถมอบหมายบทบาท Firebase IAM ที่เฉพาะเจาะจงให้กับ สมาชิกโปรเจ็กต์ได้ ทั้งนี้ขึ้นอยู่กับสิ่งที่คุณต้องการให้สมาชิกโปรเจ็กต์ทำ ตัวอย่างเช่น หากสมาชิกโปรเจ็กต์ จำเป็นต้องดูทรัพยากรในคอนโซล Firebase เท่านั้น ให้มอบหมายบทบาท ผู้ดู Firebase (
roles/firebase.viewer) ให้สมาชิกโปรเจ็กต์คุณสามารถกำหนดข้อจำกัดด้านภูมิภาคสำหรับทรัพยากรได้ที่ระดับโฟลเดอร์หรือองค์กร
เพิ่มเทมเพลตลงในแคตตาล็อก
หลังจากทดสอบเทมเพลตแล้ว ให้เพิ่มเทมเพลตลงในแคตตาล็อก ADC ของทีม คุณต้องแชร์แคตตาล็อกนี้ กับบุคคลที่เหมาะสม โดยเฉพาะนักพัฒนาแอปพลิเคชัน เพื่อ ให้นักพัฒนาแอปพลิเคชันใช้เทมเพลตได้ (ดู ขั้นตอนที่ 1: ตั้งค่า ADC ด้านบน)
ขั้นตอนที่ 3: ใช้เทมเพลต (นักพัฒนาแอปพลิเคชัน)
ลักษณะตัวตนของนักพัฒนาแอปพลิเคชันจะเลือกเทมเพลตที่กำหนดไว้ล่วงหน้า กำหนดค่าเทมเพลตสำหรับ Use Case ที่เฉพาะเจาะจง แล้วติดตั้งใช้งานโครงสร้างพื้นฐาน
เลือกเทมเพลตและกำหนดค่า
เลือกเทมเพลตจากแคตตาล็อก ADC แล้วกำหนดค่า เพื่อสร้าง แอปพลิเคชันฉบับร่าง การกำหนดค่าที่ใช้ได้ เช่น ภูมิภาคที่เป็นไปได้สำหรับทรัพยากร จะจำกัดอยู่เฉพาะการกำหนดค่าที่วิศวกรแพลตฟอร์มตั้งค่าไว้เมื่อสร้างเทมเพลต
ติดตั้งใช้งานโครงสร้างพื้นฐาน
หลังจากสร้างแอปพลิเคชันฉบับร่างแล้ว ให้ติดตั้งใช้งานแอป ADC ในโปรเจ็กต์ที่จัดสรรไว้ล่วงหน้า โปรเจ็กต์ใดโปรเจ็กต์หนึ่งที่สร้างขึ้นสำหรับการติดตั้งใช้งานโครงสร้างพื้นฐาน (ดู ขั้นตอนที่ 1: ตั้งค่า ADC ด้านบน)
คุณสามารถไปที่ Firebaseคอนโซล และดูทรัพยากรที่จัดสรรและบริการที่เปิดใช้สำหรับโปรเจ็กต์
ขั้นตอนที่ 4: พัฒนาแอปจริง (นักพัฒนาแอปพลิเคชัน)
ADC ช่วยตั้งค่า Firebase และ Google Cloud โครงสร้างพื้นฐาน (เช่น การจัดสรรทรัพยากรและการเปิดใช้ API) อย่างไรก็ตาม ADC ไม่ ได้เขียนโค้ดของแอปจริงที่ใช้ทรัพยากรและ API เหล่านั้น
ต่อไปนี้คือสิ่งที่สำคัญบางอย่างที่ลักษณะตัวตนของนักพัฒนาแอปพลิเคชันต้องทำ
เชื่อมต่อฐานโค้ดของแอปกับ Firebase
รับและเพิ่มการกำหนดค่า Firebase ลงในฐานโค้ดของแต่ละแอป
ตัวอย่างเช่น หากเทมเพลตอนุญาตให้ใช้แอป Android คุณต้องเพิ่มไฟล์
google-services.jsonลงในไดเรกทอรีที่เหมาะสมภายในโปรเจ็กต์ Androidทำให้โค้ดและทรัพยากรสอดคล้องกัน
(หากใช้ Cloud Firestore) ตรวจสอบว่าได้อัปเดตและเผยแพร่ Firebase Security Rules ให้ สอดคล้องกับโมเดลข้อมูล Cloud Firestore สำหรับแอปแล้ว
คุณทำอะไรได้อีกบ้าง
- ตรวจสอบ "แอป" ADC ที่ติดตั้งใช้งาน ซึ่งจะลงทะเบียนใน App Hub โดยอัตโนมัติADC ซึ่งจะช่วยให้ตรวจสอบต้นทุนได้แบบรวมศูนย์ รวมถึงช่วยในการสังเกตต้นทุนและการแก้ปัญหาสำหรับทรัพยากร Firebase ภายในบริบทของการติดตั้งใช้งานที่กว้างขึ้น Google Cloud