การควบคุมบริการ VPC

การควบคุมบริการ VPC ช่วยให้องค์กรกำหนดขอบเขตของGoogle Cloudทรัพยากรเพื่อลดความเสี่ยงจากการขโมยข้อมูลได้ เมื่อใช้ การควบคุมบริการ VPC คุณจะสร้างขอบเขตที่ปกป้องทรัพยากรและข้อมูล ของบริการที่คุณระบุอย่างชัดเจน

บริการ Cloud Firestore แบบแพ็กเกจ

API ต่อไปนี้รวมอยู่ในตัวควบคุมบริการ VPC

  • firestore.googleapis.com
  • datastore.googleapis.com
  • firestorekeyvisualizer.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บริการเดิมที่รวมไว้ บริการแบบแพ็กเกจเดิมประกอบด้วย

การป้องกันขาออกในการดำเนินการนำเข้าและส่งออก

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 ตัวแทนบริการอยู่แล้วหรือไม่

  1. ดูบัญชีการให้สิทธิ์ข้างป้ายกำกับงานนำเข้า/ส่งออกที่เรียกใช้เป็น

หากโปรเจ็กต์ไม่ได้ใช้ตัวแทนบริการCloud Firestore คุณสามารถย้ายข้อมูลไปยังตัวแทนบริการCloud Firestoreได้โดยใช้เทคนิคใดเทคนิคหนึ่งต่อไปนี้

เทคนิคแรกเป็นวิธีที่แนะนำเนื่องจากจะจำกัดขอบเขตของเอฟเฟกต์ไว้ในโปรเจ็กต์ Cloud Firestore เดียว เราไม่แนะนำให้ใช้เทคนิคที่ 2 เนื่องจากไม่ได้ย้ายข้อมูลสิทธิ์ของที่เก็บข้อมูล Cloud Storage ที่มีอยู่ แต่จะมีการปฏิบัติตามข้อกำหนดด้านความปลอดภัยในระดับองค์กร

ย้ายข้อมูลโดยตรวจสอบและอัปเดตCloud Storageสิทธิ์ของที่เก็บข้อมูล

กระบวนการย้ายข้อมูลมี 2 ขั้นตอนดังนี้

  1. อัปเดตสิทธิ์ของที่เก็บข้อมูล Cloud Storage ดูรายละเอียดได้ในส่วนต่อไปนี้
  2. ยืนยันการย้ายข้อมูลไปยัง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 เมื่อดำเนินการย้ายข้อมูลเสร็จเรียบร้อยแล้วจะย้อนกลับไม่ได้

  1. หากโปรเจ็กต์ยังไม่ได้ย้ายข้อมูลไปยังCloud Firestore เอเจนต์บริการ คุณจะเห็นแบนเนอร์ที่อธิบายการย้ายข้อมูลและ ปุ่มตรวจสอบสถานะ Bucket ขั้นตอนถัดไปจะช่วยคุณระบุและ แก้ไขข้อผิดพลาดเกี่ยวกับสิทธิ์ที่อาจเกิดขึ้น

    คลิกตรวจสอบสถานะ Bucket

    เมนูจะปรากฏขึ้นพร้อมตัวเลือกในการย้ายข้อมูลให้เสร็จสมบูรณ์และ รายการCloud Storage บัคเก็ต การโหลดรายการอาจใช้เวลา 2-3 นาที

    รายการนี้ประกอบด้วยที่เก็บข้อมูลที่ใช้ในการดำเนินการนำเข้าและส่งออกเมื่อเร็วๆ นี้ แต่ปัจจุบันไม่ได้ให้สิทธิ์อ่านและ เขียนแก่ตัวแทนบริการ Cloud Firestore

  2. จดชื่อหลักของCloud Firestore ตัวแทนบริการของโปรเจ็กต์ ชื่อตัวแทนบริการจะปรากฏในป้ายกำกับ ตัวแทนบริการที่จะให้สิทธิ์เข้าถึง
  3. สำหรับที่เก็บข้อมูลใดๆ ในรายการที่คุณจะใช้สำหรับการนำเข้าหรือส่งออกในอนาคต ให้ทำตามขั้นตอนต่อไปนี้

    1. คลิกแก้ไขในแถวตารางของที่เก็บข้อมูลนี้ ซึ่งจะเป็นการเปิดหน้าสิทธิ์ของที่เก็บข้อมูลนั้นในแท็บใหม่

    2. คลิกเพิ่ม
    3. ในช่องผู้รับมอบอำนาจใหม่ ให้ป้อนชื่อของ Cloud Firestore ตัวแทนบริการ
    4. ในช่องเลือกบทบาท ให้เลือก ตัวแทนบริการ > ตัวแทนบริการ Firestore
    5. คลิกบันทึก
    6. กลับไปที่แท็บที่มีCloud Firestoreหน้านำเข้า/ส่งออก
    7. ทำขั้นตอนเหล่านี้ซ้ำสำหรับที่เก็บข้อมูลอื่นๆ ในรายการ อย่าลืมดู ทุกหน้าของรายการ
  4. คลิกย้ายข้อมูลไปยังตัวแทนบริการ Firestore หากคุณ ยังมีที่เก็บข้อมูลที่ตรวจสอบสิทธิ์ไม่สำเร็จ คุณ ต้องยืนยันการย้ายข้อมูลโดยคลิกย้ายข้อมูล

    การแจ้งเตือนจะแจ้งให้คุณทราบเมื่อการย้ายข้อมูลเสร็จสมบูรณ์ การย้ายข้อมูลจะยกเลิกไม่ได้

ดูสถานะการย้ายข้อมูล

วิธีตรวจสอบสถานะการย้ายข้อมูลของโปรเจ็กต์

  1. มองหาผู้ดูแลระบบข้างป้ายกำกับงานนำเข้า/ส่งออกที่เรียกใช้เป็น

    หากหลักการคือ service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com แสดงว่าโปรเจ็กต์ได้ย้ายข้อมูลไปยังตัวแทนบริการ Cloud Firestore แล้ว การย้ายข้อมูลจะยกเลิกไม่ได้

    หากยังไม่ได้ย้ายข้อมูลโปรเจ็กต์ แบนเนอร์จะปรากฏที่ด้านบนของหน้า พร้อมปุ่มตรวจสอบสถานะของที่เก็บข้อมูล โปรดดูหัวข้อย้ายข้อมูลไปยังตัวแทนบริการ Firestore เพื่อทำการย้ายข้อมูลให้เสร็จสมบูรณ์

เพิ่มข้อจำกัดด้านนโยบายทั่วทั้งองค์กร

  • ตั้งค่าข้อจำกัดต่อไปนี้ในนโยบายขององค์กร

    กำหนดให้ใช้ตัวแทนบริการ Firestore สำหรับการนำเข้า/ส่งออก (firestore.requireP4SAforImportExport)

    ข้อจำกัดนี้กำหนดให้การดำเนินการนำเข้าและส่งออกต้องใช้Cloud Firestoreตัวแทนบริการเพื่อให้สิทธิ์คำขอ หากต้องการตั้งค่าข้อจำกัดนี้ โปรดดู การสร้างและจัดการนโยบายขององค์กร

การใช้ข้อจำกัดของนโยบายองค์กรนี้ไม่ได้ให้สิทธิ์ใน Cloud Storageที่เหมาะสมโดยอัตโนมัติสำหรับ Cloud Firestoreตัวแทนบริการ

หากข้อจำกัดทำให้เกิดข้อผิดพลาดเกี่ยวกับสิทธิ์สำหรับเวิร์กโฟลว์การนำเข้าหรือส่งออกใดๆ คุณสามารถปิดใช้ข้อจำกัดดังกล่าวเพื่อกลับไปใช้บัญชีบริการเริ่มต้นได้ หลังจากตรวจสอบและอัปเดตCloud Storageสิทธิ์ของ Bucket แล้ว คุณจะเปิดใช้ข้อจํากัดอีกครั้งได้