Firebase ผสานรวมกับ Application Design Center (ADC) จาก Google Cloud เพื่อให้ลูกค้าองค์กรสามารถตอบสนองความต้องการด้านการกํากับดูแลและ การสร้างมาตรฐาน พร้อมทั้งช่วยให้นักพัฒนาแอปสามารถจัดส่งแอปได้อย่างรวดเร็ว การใช้ ADC ช่วยให้มั่นใจได้ว่าโครงสร้างพื้นฐานเป็นไปตามมาตรฐานและแนวทางปฏิบัติแนะนำขององค์กรผ่านเทมเพลตที่กำหนดไว้ล่วงหน้า ซึ่งกำหนดขอบเขตสำหรับการจัดสรรทรัพยากร การให้สิทธิ์ IAM ฯลฯ
ในหน้านี้ คุณจะได้เรียนรู้เกี่ยวกับสิ่งต่อไปนี้
- ภาพรวมของ ADC และ Firebase รวมถึงผลิตภัณฑ์ Firebase ที่รองรับ
- ผู้ใช้หลัก และ บทบาท IAM ที่จำเป็นในการควบคุมการเข้าถึง
- ขั้นตอนการทำงานทั่วไป
ภาพรวมของ ADC และ Firebase
เราขอแนะนำให้อ่านGoogle Cloudเอกสารประกอบเกี่ยวกับภาพรวมของ ADC Google Cloud เอกสารประกอบยังมีคำแนะนำเชิงลึกหลายรายการสำหรับ ADC ซึ่งรวมถึง แนวคิดหลัก และ คู่มือการตั้งค่าเริ่มต้น
เมื่อใช้ ADC "แอป" จะหมายถึงการจัดกลุ่มเชิงตรรกะของทรัพยากรและบริการที่ทำงานร่วมกันเพื่อส่งมอบฟังก์ชันทางธุรกิจ สำหรับนักพัฒนาแอป Firebase คุณสามารถคิดว่า "แอป" เทียบเท่ากับโปรเจ็กต์ Firebase ซึ่งแอป iOS, Android และเว็บแอปที่ลงทะเบียนทั้งหมดจะใช้ร่วมกันและมีสิทธิ์เข้าถึงทรัพยากรและบริการเดียวกันทั้งหมดสำหรับโปรเจ็กต์ADC
หากต้องการเริ่มต้นใช้งาน เราขอแนะนำให้ใช้ ADC โดยใช้ประสบการณ์ GUI ที่เรียกว่าพื้นที่ออกแบบ ซึ่งมีอยู่ในคอนโซล Google Cloud 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 ช่วยให้คุณควบคุมได้ว่าสมาชิกโปรเจ็กต์ (หรือหลัก) คนใดสามารถทำงานที่เฉพาะเจาะจงได้
เช่น คุณอาจมอบหมายบทบาทผู้ดูแลระบบศูนย์ออกแบบแอปพลิเคชัน
(roles/designcenter.admin) ให้กับวิศวกรแพลตฟอร์มที่ต้องสร้างและ
มอบหมายพื้นที่ จัดการแคตตาล็อก และออกแบบเทมเพลต อย่างไรก็ตาม คุณอาจกำหนดบทบาทผู้แก้ไขแอปพลิเคชัน (roles/designcenter.applicationEditor) ให้กับ
นักพัฒนาแอปพลิเคชันเพื่อให้ใช้เทมเพลตได้ แต่สร้าง
เทมเพลตไม่ได้
ตารางต่อไปนี้อธิบายงานที่เกี่ยวข้องกับ ADC บุคคลที่ต้องการ และบทบาทที่จำเป็น
| งาน | ลักษณะตัวตน | บทบาท 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: สร้างเทมเพลต (วิศวกรแพลตฟอร์ม)
บทบาทวิศวกรแพลตฟอร์มใช้ ผืนผ้าใบการออกแบบ หรือแม้แต่ Gemini Cloud Assist เพื่อสร้าง ADC เทมเพลตใหม่
กำหนดทรัพยากร
ใช้ 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) อย่างไรก็ตาม เครื่องมือนี้ไม่ได้เขียนโค้ดของแอปจริงที่ใช้ทรัพยากรและ API เหล่านั้น
สิ่งสำคัญที่ผู้ใช้ที่มีบทบาทเป็นนักพัฒนาแอปพลิเคชันต้องทำมีดังนี้
เชื่อมต่อฐานของโค้ดของแอปกับ Firebase
รับและเพิ่มการกำหนดค่า Firebase ลงในฐานของโค้ดของแต่ละแอป
เช่น หากเทมเพลตอนุญาตให้ใช้แอป Android คุณจะต้องเพิ่มไฟล์
google-services.jsonลงในไดเรกทอรีที่เหมาะสมภายในโปรเจ็กต์ Androidทำให้โค้ดและทรัพยากรสอดคล้องกัน
(หากใช้ Cloud Firestore) อย่าลืมอัปเดตและเผยแพร่ Firebase Security Rules เพื่อให้สอดคล้องกับโมเดลข้อมูล Cloud Firestore สำหรับแอป
คุณทำอะไรได้อีกบ้าง
- ตรวจสอบADC "แอป" ที่ติดตั้งใช้งาน ซึ่งจะลงทะเบียนใน App Hub โดยอัตโนมัติ ซึ่งช่วยให้สามารถตรวจสอบ แบบรวม ดูต้นทุน และแก้ปัญหาสำหรับทรัพยากร Firebase ในบริบทของการGoogle Cloudติดตั้งใช้งานที่กว้างขึ้น