การควบคุมบริการ 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 พร้อม API App Engine
- ไลบรารีของไคลเอ็นต์ Python 2 NDB สำหรับ Datastore
- Go 1.11 Datastore พร้อม App Engine API
การป้องกันข้อมูลขาออกในการดำเนินการนำเข้าและส่งออก
Cloud Firestore รองรับการควบคุมบริการ VPC แต่ต้องมีการกำหนดค่าเพิ่มเติมเพื่อให้ได้รับการปกป้องข้อมูลขาออกอย่างเต็มรูปแบบในการดำเนินการนำเข้าและส่งออก คุณต้องใช้ตัวแทนบริการ Cloud Firestore เพื่อให้สิทธิ์การดำเนินการนำเข้าและส่งออกแทนบัญชีบริการ App Engine เริ่มต้น ใช้วิธีการต่อไปนี้เพื่อดูและกำหนดค่าบัญชีการให้สิทธิ์สำหรับการนำเข้าและส่งออก
ตัวแทนบริการ Cloud Firestore
Cloud Firestore ใช้ตัวแทนบริการ Cloud Firestore เพื่อให้สิทธิ์การดำเนินการนำเข้าและส่งออกแทนการใช้บัญชีบริการ App Engine Service Agent และบัญชีบริการใช้รูปแบบการตั้งชื่อต่อไปนี้
- ตัวแทนบริการ Cloud Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
ก่อนหน้านี้ Cloud Firestore ใช้บัญชีบริการเริ่มต้น App Engine แทนตัวแทนบริการ Cloud Firestore หากฐานข้อมูลของคุณยังคงใช้บัญชีบริการ App Engine เพื่อนำเข้าหรือส่งออกข้อมูล เราขอแนะนำให้ทำตามวิธีการในส่วนนี้เพื่อย้ายข้อมูลไปใช้ Agent บริการ Cloud Firestore
- บัญชีบริการ App Engine
PROJECT_ID@appspot.gserviceaccount.com
เราขอแนะนำให้ใช้ Agent บริการ Cloud Firestore เนื่องจากเป็น Agent สำหรับ Cloud Firestore โดยเฉพาะ มีการแชร์บัญชีบริการ App Engine กับบริการมากกว่า 1 รายการ
ดูบัญชีการให้สิทธิ์
คุณสามารถดูบัญชีที่การดำเนินการนำเข้าและส่งออกใช้เพื่ออนุมัติคำขอได้จากหน้านำเข้า/ส่งออกในคอนโซล Google Cloud นอกจากนี้ คุณยังดูได้ว่าฐานข้อมูลของคุณใช้ Agent บริการ Cloud Firestore อยู่แล้วหรือไม่
- ดูบัญชีการให้สิทธิ์ข้างป้ายกำกับงานนำเข้า/ส่งออกที่เรียกใช้ในชื่อ
หากโปรเจ็กต์ไม่ได้ใช้ Agent บริการ Cloud Firestore คุณสามารถย้ายข้อมูลไปยัง Agent บริการ Cloud Firestore ได้โดยใช้เทคนิคใดเทคนิคหนึ่งต่อไปนี้
- ย้ายข้อมูลโปรเจ็กต์โดยตรวจสอบและอัปเดตสิทธิ์ของที่เก็บข้อมูล Cloud Storage (แนะนำ)
- เพิ่มข้อจำกัดของนโยบายทั่วทั้งองค์กรซึ่งส่งผลต่อโปรเจ็กต์ทั้งหมดภายในองค์กร
เราขอแนะนำให้ใช้เทคนิคแรกเนื่องจากจะจำกัดขอบเขตของผลกระทบไว้ที่โปรเจ็กต์ Cloud Firestore โปรเจ็กต์เดียว เราไม่แนะนำให้ใช้เทคนิคที่ 2 เนื่องจากไม่ได้ย้ายข้อมูลสิทธิ์ของที่เก็บข้อมูล Cloud Storage ที่มีอยู่ แต่จะมีการปฏิบัติตามข้อกำหนดด้านความปลอดภัยในระดับองค์กร
ย้ายข้อมูลโดยการตรวจสอบและอัปเดตสิทธิ์ของบักเก็ต Cloud Storage
กระบวนการย้ายข้อมูลมี 2 ขั้นตอนดังนี้
- อัปเดตสิทธิ์ของที่เก็บข้อมูล Cloud Storage ดูรายละเอียดในส่วนต่อไปนี้
- ยืนยันการย้ายข้อมูลไปยัง Agent บริการ Cloud Firestore
สิทธิ์ของบักเก็ตสำหรับ Service Agent
สำหรับการดำเนินการส่งออกหรือนำเข้าที่ใช้บักเก็ต Cloud Storage ในโปรเจ็กต์อื่น คุณต้องให้สิทธิ์แก่ตัวแทนบริการ Cloud Firestore สำหรับบักเก็ตนั้น ตัวอย่างเช่น การดำเนินการที่ย้ายข้อมูลไปยังโปรเจ็กต์อื่นต้องเข้าถึงที่เก็บข้อมูลในโปรเจ็กต์อื่นนั้น มิฉะนั้น การดำเนินการเหล่านี้จะล้มเหลวหลังจากย้ายข้อมูลไปยัง Service Agent ของ Cloud Firestore
เวิร์กโฟลว์การนำเข้าและส่งออกที่อยู่ในโปรเจ็กต์เดียวกันไม่จำเป็นต้องเปลี่ยนแปลงสิทธิ์ โดยค่าเริ่มต้น Agent บริการ 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 ไปยัง Agent บริการ Cloud Firestore เมื่อดำเนินการย้ายข้อมูลเสร็จเรียบร้อยแล้วจะยกเลิกไม่ได้
-
หากโปรเจ็กต์ยังไม่ได้ย้ายข้อมูลไปยัง Agent บริการ Cloud Firestore คุณจะเห็นแบนเนอร์ที่อธิบายการย้ายข้อมูลและปุ่มตรวจสอบสถานะบักเก็ต ขั้นตอนถัดไปจะช่วยคุณระบุและแก้ไขข้อผิดพลาดเกี่ยวกับสิทธิ์ที่อาจเกิดขึ้น
คลิกตรวจสอบสถานะที่เก็บข้อมูล
เมนูจะปรากฏขึ้นพร้อมตัวเลือกในการย้ายข้อมูลให้เสร็จสมบูรณ์และรายการที่เก็บข้อมูล Cloud Storage ระบบอาจใช้เวลาสักครู่ในการโหลดรายการให้เสร็จสมบูรณ์
รายการนี้รวมถึงบักเก็ตที่ใช้ในการดำเนินการนำเข้าและส่งออกเมื่อเร็วๆ นี้ แต่ปัจจุบันไม่ได้ให้สิทธิ์อ่านและสิทธิ์เขียนแก่ตัวแทนบริการ Cloud Firestore
- จดชื่อหลักของ Agent บริการ Cloud Firestore ของโปรเจ็กต์ไว้ ชื่อตัวแทนบริการจะปรากฏใต้ป้ายกำกับตัวแทนบริการที่จะให้สิทธิ์เข้าถึง
-
สำหรับที่เก็บข้อมูลในรายการที่คุณจะใช้สำหรับการนำเข้าหรือส่งออกในอนาคต ให้ทำตามขั้นตอนต่อไปนี้
-
คลิกแก้ไขในแถวตารางของที่เก็บข้อมูลนี้ ซึ่งจะเปิดหน้าสิทธิ์ของที่เก็บข้อมูลนั้นในแท็บใหม่
- คลิกเพิ่ม
- ในช่องผู้ใช้หลักรายใหม่ ให้ป้อนชื่อตัวแทนบริการ Cloud Firestore
- ในช่องเลือกบทบาท ให้เลือกตัวแทนบริการ > ตัวแทนบริการ Firestore
- คลิกบันทึก
- กลับไปที่แท็บที่มีหน้าการนำเข้า/ส่งออกของ Cloud Firestore
- ทำขั้นตอนเหล่านี้ซ้ำสำหรับที่เก็บข้อมูลอื่นๆ ในรายการ โปรดดูรายการทุกหน้า
-
-
คลิกย้ายข้อมูลไปยัง Agent บริการ Firestore หากยังมีที่เก็บข้อมูลที่ตรวจสอบสิทธิ์ไม่สำเร็จ คุณต้องยืนยันการย้ายข้อมูลโดยคลิกย้ายข้อมูล
ระบบจะแจ้งเตือนเมื่อการย้ายข้อมูลเสร็จสมบูรณ์ การย้ายข้อมูลจะยกเลิกไม่ได้
ดูสถานะการย้ายข้อมูล
วิธียืนยันสถานะการย้ายข้อมูลของโปรเจ็กต์
-
มองหาผู้ใช้หลักข้างป้ายกำกับงานนำเข้า/ส่งออกที่เรียกใช้ในฐานะ
หากผู้ใช้หลักคือ
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.comแสดงว่าโปรเจ็กต์ของคุณย้ายข้อมูลไปยังตัวแทนบริการ Cloud Firestore แล้ว การย้ายข้อมูลจะยกเลิกไม่ได้หากยังไม่ได้ย้ายข้อมูลโปรเจ็กต์ แบนเนอร์จะปรากฏที่ด้านบนของหน้าพร้อมปุ่มตรวจสอบสถานะที่เก็บข้อมูล ดูย้ายข้อมูลไปยัง Agent บริการ Firestore เพื่อทำการย้ายข้อมูลให้เสร็จสมบูรณ์
เพิ่มข้อจำกัดของนโยบายทั่วทั้งองค์กร
-
ตั้งค่าข้อจำกัดต่อไปนี้ในนโยบายขององค์กร
ต้องใช้ Agent บริการ Firestore สำหรับการนำเข้า/ส่งออก (
firestore.requireP4SAforImportExport)ข้อจำกัดนี้กำหนดให้การดำเนินการนำเข้าและส่งออกต้องใช้ Agent บริการ Cloud Firestore เพื่อให้สิทธิ์คำขอ หากต้องการตั้งค่าข้อจำกัดนี้ โปรดดูหัวข้อ การสร้างและจัดการนโยบายขององค์กร
การใช้ข้อจำกัดนโยบายองค์กรนี้ไม่ได้ให้สิทธิ์ที่เหมาะสมในที่เก็บข้อมูล Cloud Storage แก่ Service Agent ของ Cloud Firestore โดยอัตโนมัติ
หากข้อจำกัดทำให้เกิดข้อผิดพลาดเกี่ยวกับสิทธิ์สำหรับเวิร์กโฟลว์การนำเข้าหรือส่งออก คุณสามารถปิดใช้ข้อจำกัดดังกล่าวเพื่อกลับไปใช้บัญชีบริการเริ่มต้นได้ หลังจากตรวจสอบและอัปเดตสิทธิ์ของที่เก็บข้อมูล Cloud Storage แล้ว คุณจะเปิดใช้ข้อจำกัดอีกครั้งได้