การควบคุมบริการ 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 นอกจากนี้ คุณยัง ดูได้ว่าฐานข้อมูลใช้Cloud Firestore ตัวแทนบริการอยู่แล้วหรือไม่
- ดูบัญชีการให้สิทธิ์ข้างป้ายกำกับงานนำเข้า/ส่งออกที่เรียกใช้เป็น
หากโปรเจ็กต์ไม่ได้ใช้ตัวแทนบริการCloud Firestore คุณสามารถย้ายข้อมูลไปยังตัวแทนบริการCloud Firestoreได้โดยใช้เทคนิคใดเทคนิคหนึ่งต่อไปนี้
- ย้ายข้อมูลโปรเจ็กต์โดยตรวจสอบและอัปเดตCloud Storageสิทธิ์ของ Bucket (แนะนำ)
- เพิ่มข้อจํากัดด้านนโยบายระดับองค์กรที่มีผลกับโปรเจ็กต์ทั้งหมดภายในองค์กร
เทคนิคแรกเป็นวิธีที่แนะนำเนื่องจากจะจำกัดขอบเขตของผลลัพธ์ไว้ในโปรเจ็กต์ Cloud Firestore เดียว ไม่แนะนำให้ใช้เทคนิคที่ 2 เนื่องจากไม่ได้ย้ายข้อมูลสิทธิ์ของที่เก็บข้อมูล Cloud Storage ที่มีอยู่ แต่จะมีการปฏิบัติตามข้อกำหนดด้านความปลอดภัยในระดับองค์กร
ย้ายข้อมูลโดยตรวจสอบและอัปเดตCloud Storageสิทธิ์ของ Bucket
กระบวนการย้ายข้อมูลมี 2 ขั้นตอนดังนี้
- อัปเดตCloud Storageสิทธิ์ของที่เก็บข้อมูล ดูรายละเอียดได้ที่ส่วนต่อไปนี้
- ยืนยันการย้ายข้อมูลไปยังCloud Firestoreตัวแทนบริการ
สิทธิ์ของที่เก็บข้อมูลสำหรับตัวแทนบริการ
สำหรับการดำเนินการส่งออกหรือนำเข้าที่ใช้ 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บทบาทจะให้สิทธิ์อ่านและเขียนสำหรับที่เก็บข้อมูล
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สิทธิ์ของที่เก็บข้อมูลแล้ว คุณจะเปิดใช้ข้อจํากัดอีกครั้งได้