การควบคุมบริการ VPC ช่วยให้องค์กรกำหนดขอบเขตของGoogle Cloudทรัพยากรเพื่อลดความเสี่ยงจากการขโมยข้อมูลได้ เมื่อใช้ การควบคุมบริการ VPC คุณจะสร้างขอบเขตที่ปกป้องทรัพยากรและข้อมูล ของบริการที่คุณระบุอย่างชัดเจน
บริการ Cloud Firestore แบบแพ็กเกจ
API ต่อไปนี้รวมอยู่ในตัวควบคุมบริการ VPC
firestore.googleapis.comdatastore.googleapis.comfirestorekeyvisualizer.googleapis.com
เมื่อคุณจำกัดบริการ firestore.googleapis.com ในขอบเขต ขอบเขตจะจำกัดบริการ datastore.googleapis.com และ firestorekeyvisualizer.googleapis.com ด้วย
จำกัดบริการ datastore.googleapis.com
บริการ datastore.googleapis.com จะรวมอยู่ภายใต้บริการ firestore.googleapis.com หากต้องการจำกัดบริการ datastore.googleapis.com คุณต้องจำกัดบริการ firestore.googleapis.com
ดังนี้
- เมื่อสร้างขอบเขตบริการโดยใช้คอนโซล Google Cloud ให้เพิ่ม Cloud Firestoreเป็นบริการที่จำกัด
เมื่อสร้างขอบเขตบริการโดยใช้ Google Cloud CLI ให้ใช้
firestore.googleapis.comแทนdatastore.googleapis.com--perimeter-restricted-services=firestore.googleapis.com
App Engine บริการแบบแพ็กเกจเดิมสำหรับ Datastore
App Engine บริการแบบกลุ่มเดิมสำหรับ Datastore ไม่รองรับขอบเขตบริการ การปกป้องบริการ Datastore ด้วยขอบเขตบริการจะบล็อกการรับส่งข้อมูลจากApp Engineบริการเดิมที่รวมไว้ บริการแบบแพ็กเกจเดิมประกอบด้วย
- Java 8 Datastore พร้อม App Engine API
- ไลบรารีของไคลเอ็นต์ NDB สำหรับ Python 2 สำหรับ Datastore
- Go 1.11 Datastore พร้อม App EngineAPI
การป้องกันขาออกในการดำเนินการนำเข้าและส่งออก
Cloud Firestore รองรับการควบคุมบริการ VPC แต่ต้องมีการกำหนดค่าเพิ่มเติม เพื่อให้ได้รับการปกป้องการรับส่งข้อมูลขาออกอย่างเต็มรูปแบบในการดำเนินการนำเข้าและส่งออก คุณต้องใช้ตัวแทนบริการ Cloud Firestore เพื่อให้สิทธิ์การนำเข้าและส่งออกแทนบัญชีบริการ App Engine เริ่มต้น ใช้วิธีการต่อไปนี้เพื่อดูและกำหนดค่าบัญชีการให้สิทธิ์ สำหรับการดำเนินการนำเข้าและส่งออก
ตัวแทนบริการ Cloud Firestore
Cloud Firestore ใช้ตัวแทนบริการ Cloud Firestore เพื่อให้สิทธิ์การนำเข้า และการส่งออกแทนการใช้บัญชีบริการ App Engine ตัวแทนบริการและบัญชีบริการใช้รูปแบบการตั้งชื่อต่อไปนี้
- ตัวแทนบริการ Cloud Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
Cloud Firestore เคยใช้บัญชีบริการเริ่มต้นของ App Engine แทนตัวแทนบริการของ Cloud Firestore หากฐานข้อมูลยังใช้บัญชีบริการ App Engine เพื่อนำเข้าหรือส่งออกข้อมูล เราขอแนะนำให้คุณทำตามวิธีการในส่วนนี้เพื่อย้ายข้อมูลไปใช้ตัวแทนบริการ Cloud Firestore
- App Engine บัญชีบริการ
PROJECT_ID@appspot.gserviceaccount.com
เราขอแนะนำให้ติดต่อCloud Firestoreเนื่องจากเป็นผู้เชี่ยวชาญเฉพาะด้านCloud Firestore บัญชีบริการ App Engine มีการแชร์ โดยบริการมากกว่า 1 รายการ
ดูบัญชีการให้สิทธิ์
คุณดูได้ว่าการดำเนินการนำเข้าและส่งออกใช้บัญชีใดในการให้สิทธิ์ คำขอจากหน้านำเข้า/ส่งออกใน Google Cloud Console นอกจากนี้ คุณยัง ดูได้ว่าฐานข้อมูลใช้Cloud Firestore ตัวแทนบริการอยู่แล้วหรือไม่
- ดูบัญชีการให้สิทธิ์ข้างป้ายกำกับงานนำเข้า/ส่งออกที่เรียกใช้เป็น
หากโปรเจ็กต์ไม่ได้ใช้ตัวแทนบริการCloud Firestore คุณสามารถย้ายข้อมูลไปยังตัวแทนบริการCloud Firestoreได้โดยใช้เทคนิคใดเทคนิคหนึ่งต่อไปนี้
- ย้ายข้อมูลโปรเจ็กต์โดยตรวจสอบและอัปเดตCloud Storageสิทธิ์ของ Bucket (แนะนำ)
- เพิ่มข้อจํากัดด้านนโยบายระดับองค์กรที่มีผลกับโปรเจ็กต์ทั้งหมดภายในองค์กร
เทคนิคแรกเป็นวิธีที่แนะนำเนื่องจากจะจำกัดขอบเขตของเอฟเฟกต์ไว้ในโปรเจ็กต์ Cloud Firestore เดียว เราไม่แนะนำให้ใช้เทคนิคที่ 2 เนื่องจากไม่ได้ย้ายข้อมูลสิทธิ์ของที่เก็บข้อมูล Cloud Storage ที่มีอยู่ แต่จะมีการปฏิบัติตามข้อกำหนดด้านความปลอดภัยในระดับองค์กร
ย้ายข้อมูลโดยตรวจสอบและอัปเดตCloud Storageสิทธิ์ของที่เก็บข้อมูล
กระบวนการย้ายข้อมูลมี 2 ขั้นตอนดังนี้
- อัปเดตสิทธิ์ของที่เก็บข้อมูล Cloud Storage ดูรายละเอียดได้ในส่วนต่อไปนี้
- ยืนยันการย้ายข้อมูลไปยังCloud Firestore ตัวแทนบริการ
สิทธิ์ของตัวแทนบริการใน Bucket
สำหรับการดำเนินการส่งออกหรือนำเข้าที่ใช้ Cloud Storage Bucket ในโปรเจ็กต์อื่น คุณต้องให้สิทธิ์ Cloud Firestore ตัวแทนบริการCloud Storageสำหรับ Bucket นั้น เช่น การดำเนินการที่ย้ายข้อมูลไปยังโปรเจ็กต์อื่นจะต้องเข้าถึง Bucket ในโปรเจ็กต์อื่นนั้น มิเช่นนั้น การดำเนินการเหล่านี้จะล้มเหลวหลังจากย้ายข้อมูลไปยังตัวแทนCloud Firestoreบริการ
เวิร์กโฟลว์การนำเข้าและส่งออกที่อยู่ในโปรเจ็กต์เดียวกันไม่จำเป็นต้องมีการเปลี่ยนแปลงสิทธิ์ โดยค่าเริ่มต้น ตัวแทนบริการ Cloud Firestore จะเข้าถึง ที่เก็บข้อมูลในโปรเจ็กต์เดียวกันได้
อัปเดตสิทธิ์สำหรับที่เก็บข้อมูล Cloud Storage จากโปรเจ็กต์อื่นๆ เพื่อให้สิทธิ์เข้าถึงแก่
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
ตัวแทนบริการ มอบบทบาท Firestore Service Agent ให้กับตัวแทนบริการ
บทบาท Firestore Service Agent ให้สิทธิ์อ่านและเขียนสำหรับ Bucket Cloud Storage หากต้องการให้สิทธิ์อ่านหรือสิทธิ์เขียนเท่านั้น ให้ใช้บทบาทที่กำหนดเอง
กระบวนการย้ายข้อมูลที่อธิบายไว้ในส่วนต่อไปนี้ จะช่วยให้คุณระบุCloud Storage ที่อาจต้องมีการอัปเดตสิทธิ์
ย้ายข้อมูลโปรเจ็กต์ไปยังตัวแทนบริการ Firestore
ทำตามขั้นตอนต่อไปนี้เพื่อย้ายข้อมูลจากบัญชีบริการ App Engine ไปยังตัวแทนบริการ Cloud Firestore เมื่อดำเนินการย้ายข้อมูลเสร็จเรียบร้อยแล้วจะย้อนกลับไม่ได้
-
หากโปรเจ็กต์ยังไม่ได้ย้ายข้อมูลไปยังCloud Firestore เอเจนต์บริการ คุณจะเห็นแบนเนอร์ที่อธิบายการย้ายข้อมูลและ ปุ่มตรวจสอบสถานะ Bucket ขั้นตอนถัดไปจะช่วยคุณระบุและ แก้ไขข้อผิดพลาดเกี่ยวกับสิทธิ์ที่อาจเกิดขึ้น
คลิกตรวจสอบสถานะ Bucket
เมนูจะปรากฏขึ้นพร้อมตัวเลือกในการย้ายข้อมูลให้เสร็จสมบูรณ์และ รายการCloud Storage บัคเก็ต การโหลดรายการอาจใช้เวลา 2-3 นาที
รายการนี้ประกอบด้วยที่เก็บข้อมูลที่ใช้ในการดำเนินการนำเข้าและส่งออกเมื่อเร็วๆ นี้ แต่ปัจจุบันไม่ได้ให้สิทธิ์อ่านและ เขียนแก่ตัวแทนบริการ Cloud Firestore
- จดชื่อหลักของCloud Firestore ตัวแทนบริการของโปรเจ็กต์ ชื่อตัวแทนบริการจะปรากฏในป้ายกำกับ ตัวแทนบริการที่จะให้สิทธิ์เข้าถึง
-
สำหรับที่เก็บข้อมูลใดๆ ในรายการที่คุณจะใช้สำหรับการนำเข้าหรือส่งออกในอนาคต ให้ทำตามขั้นตอนต่อไปนี้
-
คลิกแก้ไขในแถวตารางของที่เก็บข้อมูลนี้ ซึ่งจะเป็นการเปิดหน้าสิทธิ์ของที่เก็บข้อมูลนั้นในแท็บใหม่
- คลิกเพิ่ม
- ในช่องผู้รับมอบอำนาจใหม่ ให้ป้อนชื่อของ Cloud Firestore ตัวแทนบริการ
- ในช่องเลือกบทบาท ให้เลือก ตัวแทนบริการ > ตัวแทนบริการ Firestore
- คลิกบันทึก
- กลับไปที่แท็บที่มีCloud Firestoreหน้านำเข้า/ส่งออก
- ทำขั้นตอนเหล่านี้ซ้ำสำหรับที่เก็บข้อมูลอื่นๆ ในรายการ อย่าลืมดู ทุกหน้าของรายการ
-
-
คลิกย้ายข้อมูลไปยังตัวแทนบริการ Firestore หากคุณ ยังมีที่เก็บข้อมูลที่ตรวจสอบสิทธิ์ไม่สำเร็จ คุณ ต้องยืนยันการย้ายข้อมูลโดยคลิกย้ายข้อมูล
การแจ้งเตือนจะแจ้งให้คุณทราบเมื่อการย้ายข้อมูลเสร็จสมบูรณ์ การย้ายข้อมูลจะยกเลิกไม่ได้
ดูสถานะการย้ายข้อมูล
วิธีตรวจสอบสถานะการย้ายข้อมูลของโปรเจ็กต์
-
มองหาผู้ดูแลระบบข้างป้ายกำกับงานนำเข้า/ส่งออกที่เรียกใช้เป็น
หากหลักการคือ
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.comแสดงว่าโปรเจ็กต์ได้ย้ายข้อมูลไปยังตัวแทนบริการ Cloud Firestore แล้ว การย้ายข้อมูลจะยกเลิกไม่ได้หากยังไม่ได้ย้ายข้อมูลโปรเจ็กต์ แบนเนอร์จะปรากฏที่ด้านบนของหน้า พร้อมปุ่มตรวจสอบสถานะของที่เก็บข้อมูล โปรดดูหัวข้อย้ายข้อมูลไปยังตัวแทนบริการ Firestore เพื่อทำการย้ายข้อมูลให้เสร็จสมบูรณ์
เพิ่มข้อจำกัดด้านนโยบายทั่วทั้งองค์กร
-
ตั้งค่าข้อจำกัดต่อไปนี้ในนโยบายขององค์กร
กำหนดให้ใช้ตัวแทนบริการ Firestore สำหรับการนำเข้า/ส่งออก (
firestore.requireP4SAforImportExport)ข้อจำกัดนี้กำหนดให้การดำเนินการนำเข้าและส่งออกต้องใช้Cloud Firestoreตัวแทนบริการเพื่อให้สิทธิ์คำขอ หากต้องการตั้งค่าข้อจำกัดนี้ โปรดดู การสร้างและจัดการนโยบายขององค์กร
การใช้ข้อจำกัดของนโยบายองค์กรนี้ไม่ได้ให้สิทธิ์ใน Cloud Storageที่เหมาะสมโดยอัตโนมัติสำหรับ Cloud Firestoreตัวแทนบริการ
หากข้อจำกัดทำให้เกิดข้อผิดพลาดเกี่ยวกับสิทธิ์สำหรับเวิร์กโฟลว์การนำเข้าหรือส่งออกใดๆ คุณสามารถปิดใช้ข้อจำกัดดังกล่าวเพื่อกลับไปใช้บัญชีบริการเริ่มต้นได้ หลังจากตรวจสอบและอัปเดตCloud Storageสิทธิ์ของ Bucket แล้ว คุณจะเปิดใช้ข้อจํากัดอีกครั้งได้