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

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

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

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

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

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

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

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

    คลิกตรวจสอบสถานะที่เก็บข้อมูล

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

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

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

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

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

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

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

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

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

    หากผู้ใช้หลักคือ 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 แล้ว คุณจะเปิดใช้ข้อจำกัดอีกครั้งได้