คีย์การเข้ารหัสลับที่จัดการโดยลูกค้า (CMEK)

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

หากคุณมีข้อกำหนดด้านการปฏิบัติตามข้อกำหนดหรือข้อบังคับที่เฉพาะเจาะจงซึ่งเกี่ยวข้องกับคีย์ ที่ปกป้องข้อมูล คุณสามารถใช้คีย์การเข้ารหัสที่จัดการโดยลูกค้า (CMEK) สำหรับ Cloud Firestoreได้ แทนที่ Google จะจัดการคีย์การเข้ารหัสที่ ปกป้องข้อมูลของคุณ ฐานข้อมูล Cloud Firestore จะได้รับการปกป้องโดยใช้คีย์ที่ คุณควบคุมและจัดการใน Cloud Key Management Service (Cloud KMS)

หน้านี้อธิบายเกี่ยวกับ CMEK สำหรับ Cloud Firestore ดูข้อมูลเพิ่มเติมเกี่ยวกับ CMEK โดยทั่วไป รวมถึงเวลาและเหตุผลที่ควรเปิดใช้ได้ที่เอกสารประกอบของ Cloud KMS ต่อไปนี้

ดูวิธีการทำงานที่เกี่ยวข้องกับ CMEK ด้วย Cloud Firestore, ได้ที่ ใช้ CMEK

ฟีเจอร์

  • การควบคุมข้อมูล: CMEK ช่วยให้คุณจัดการคีย์ KMS ได้ คุณสามารถหมุนเวียน ปิดใช้ และทำลายคีย์ที่ใช้เข้ารหัสข้อมูลที่ไม่มีการเคลื่อนไหวใน Cloud Firestore ฐานข้อมูลได้
  • ประสิทธิภาพ: CMEK ไม่ส่งผลต่อ Cloud Firestore SLA
  • ความสามารถในการตรวจสอบ: หากคุณ เปิดใช้การบันทึกการตรวจสอบสำหรับ Cloud KMS ระบบจะบันทึก การดำเนินการทั้งหมดในคีย์และดูได้ใน Cloud Logging
  • ข้อจำกัดของนโยบายองค์กร: คุณสามารถใช้ ข้อจำกัดของนโยบายองค์กร CMEK เพื่อระบุ ข้อกำหนดด้านการปฏิบัติตามข้อกำหนดการเข้ารหัสสำหรับ Cloud Firestore ฐานข้อมูลใน องค์กร

ราคา

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

ระบบจะเรียกเก็บเงินจากคุณสำหรับค่าใช้จ่ายในการดำเนินการเมื่อ Cloud Firestore ขอให้ คีย์ Cloud KMS ดำเนินการเข้ารหัสหรือถอดรหัส การดำเนินการเข้ารหัสหรือถอดรหัสโดยคีย์ที่จัดการโดยลูกค้าจะเกิดขึ้นทุกๆ 5 นาทีและไม่ซิงค์กับคำขอฐานข้อมูล ค่าใช้จ่ายโดยทั่วไปจะ ต่ำ เนื่องจากจำนวนการดำเนินการเข้ารหัสที่สร้างโดย Cloud Firestoreตามที่คาดไว้ ค่าใช้จ่ายสำหรับ Cloud Audit Logs เป็นค่าใช้จ่ายเพิ่มเติม แต่คาดว่าจะต่ำโดยทั่วไปเช่นกัน เนื่องจากจำนวนการดำเนินการเข้ารหัสที่คาดไว้

ไม่มีค่าใช้จ่ายเพิ่มเติมของ Cloud Firestore สำหรับการใช้ฐานข้อมูลที่ได้รับการปกป้องด้วย CMEK และราคา Cloud Firestore จะยังคงมีผลบังคับใช้

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

สิ่งที่ได้รับการปกป้องด้วย CMEK

เมื่อคุณสร้างฐานข้อมูลที่ได้รับการปกป้องด้วย CMEK Cloud Firestore ระบบจะใช้คีย์ Cloud KMS เพื่อปกป้องข้อมูลที่ไม่มีการเคลื่อนไหว ซึ่งรวมถึงข้อมูลที่คุณจัดเก็บไว้ในดิสก์หรือแฟลชไดรฟ์ รวมถึงดัชนีและข้อมูลสำรอง โดยมีข้อยกเว้นบางประการ ระบบจะเข้ารหัสข้อมูลประเภทต่อไปนี้ด้วยการเข้ารหัสเริ่มต้นของ Google ไม่ใช่คีย์ CMEK

  • ข้อมูลที่อยู่ระหว่างการส่งหรือในหน่วยความจำ
  • ข้อมูลเมตาของฐานข้อมูล

วิธีจัดการสถานะคีย์ที่ไม่พร้อมใช้งาน

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

หากระบบตรวจพบว่าคีย์ไม่พร้อมใช้งาน ภายใน 10 นาที การเรียกฐานข้อมูล Cloud Firestore ในภายหลังทั้งหมด รวมถึงการอ่าน การเขียน และการค้นหา จะแสดงข้อผิดพลาด INVALID_ARGUMENT พร้อมข้อความต่อไปนี้

The customer-managed encryption key required by the requested
resource is not accessible.

หากฐานข้อมูลมีนโยบาย Time-to-Live (TTL) และหากเวลาหมดอายุเกินกำหนดขณะที่คีย์ไม่พร้อมใช้งาน การลบข้อมูลตาม TTL จะล่าช้าออกไปจนกว่าจะคืนสิทธิ์คีย์ หากฐานข้อมูลมีการดำเนินการที่ใช้เวลานานซึ่งกำลังดำเนินการอยู่ การดำเนินการเหล่านั้นจะได้รับผลกระทบดังนี้

ระบบจะถือว่าคีย์ไม่พร้อมใช้งานในทุกสถานการณ์ที่ไม่อนุญาตให้ Cloud Firestoreเข้าถึงคีย์โดยเจตนา ซึ่งรวมถึงกรณีต่อไปนี้

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

การคืนสิทธิ์คีย์เกี่ยวข้องกับสิ่งต่อไปนี้ ทั้งนี้ขึ้นอยู่กับสถานการณ์

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

ข้อควรพิจารณาเกี่ยวกับการหมุนเวียนคีย์

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

นอกจากนี้ คุณยังดูเวอร์ชันคีย์ที่ใช้ปกป้องฐานข้อมูลได้ด้วย ดูข้อมูลเพิ่มเติมได้ที่ดูคีย์ที่ใช้งาน

ข้อควรพิจารณาเกี่ยวกับคีย์ภายนอก

เมื่อคุณใช้คีย์ Cloud EKM Google จะควบคุมความพร้อมใช้งานคีย์ที่จัดการภายนอกในระบบพาร์ทเนอร์การจัดการคีย์ภายนอกไม่ได้

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

หลังจากผ่านไป 1 ชั่วโมง หาก Cloud Firestore ยังคงเชื่อมต่อกับ Cloud KMS ไม่ได้ Cloud Firestore จะเริ่มนำฐานข้อมูลออกจากระบบ เพื่อเป็นการป้องกัน การเรียกฐานข้อมูลจะล้มเหลวโดยแสดงข้อผิดพลาด INVALID_ARGUMENT ซึ่งมีรายละเอียดเพิ่มเติม

ดูข้อควรพิจารณาเพิ่มเติมเมื่อใช้คีย์ภายนอกได้ที่เอกสารประกอบของ Cloud External Key Manager

สำรองข้อมูลและกู้คืน

ข้อมูลสำรองจะใช้กลไกการเข้ารหัสเดียวกับฐานข้อมูลที่คุณสร้างข้อมูลสำรอง เมื่อฐานข้อมูลที่ได้รับการปกป้องด้วย CMEK Cloud Firestore สร้างข้อมูลสำรอง ระบบจะเข้ารหัสข้อมูลสำรองด้วยคีย์หลักเวอร์ชันที่ใช้ในขณะที่ สร้างข้อมูลสำรอง

Cloud Firestore จะสร้างข้อมูลสำรองแรกของฐานข้อมูล CMEK หลังจากผ่านไป 24 ชั่วโมงนับจากเวลาที่คุณเปิดใช้กำหนดการสำรองข้อมูล

ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลสำรองของ Cloud Firestore ได้ที่ สำรองและกู้คืนข้อมูล

ฐานข้อมูลที่กู้คืนจากข้อมูลสำรองจะใช้กลไกการเข้ารหัสเดียวกับข้อมูลสำรองโดยค่าเริ่มต้น เมื่อกู้คืนฐานข้อมูล คุณสามารถระบุประเภทการเข้ารหัสอื่นได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้

  • กู้คืนไปยังฐานข้อมูล CMEK ด้วยคีย์ที่ระบุใหม่
  • กู้คืนไปยังฐานข้อมูลที่ไม่ใช่ CMEK ซึ่งใช้ การเข้ารหัสเริ่มต้นของ Google
  • กู้คืนไปยังฐานข้อมูลที่ใช้การเข้ารหัสเดียวกับข้อมูลสำรอง

ดูข้อมูลเพิ่มเติมเกี่ยวกับการกู้คืนฐานข้อมูล Cloud Firestore จากข้อมูลสำรอง ได้ที่ กู้คืนข้อมูลจากข้อมูลสำรองของฐานข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับการกู้คืนฐานข้อมูล Cloud Firestore ที่ได้รับการปกป้องด้วย CMEK จากข้อมูลสำรองได้ที่กู้คืนฐานข้อมูลที่ได้รับการปกป้องด้วย CMEKCloud Firestore

โคลน

โดยค่าเริ่มต้น ฐานข้อมูลที่โคลนจากฐานข้อมูลอื่นจะใช้กลไกการเข้ารหัสเดียวกับฐานข้อมูลต้นทาง เมื่อโคลนฐานข้อมูล คุณสามารถระบุประเภทการเข้ารหัสอื่นได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้

  • โคลนไปยังฐานข้อมูล CMEK ด้วยคีย์ที่ระบุใหม่
  • โคลนไปยังฐานข้อมูลที่ไม่ใช่ CMEK ซึ่งใช้ การเข้ารหัสเริ่มต้นของ Google
  • (ค่าเริ่มต้น) โคลนไปยังฐานข้อมูลที่ใช้การเข้ารหัสเดียวกับฐานข้อมูลต้นทาง

ดูข้อมูลเพิ่มเติมเกี่ยวกับการโคลนฐานข้อมูล Cloud Firestore ได้ที่ โคลนฐานข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับการโคลนฐานข้อมูลที่ได้รับการปกป้องด้วย CMEK ได้ที่ โคลนฐานข้อมูลที่ได้รับการปกป้องด้วย CMEKCloud Firestore

การติดตามคีย์

คุณสามารถใช้การติดตามคีย์เพื่อดูทรัพยากร เช่น Cloud Firestore ฐานข้อมูล ที่คีย์ปกป้อง ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตามคีย์ได้ที่ ดูการใช้งานคีย์

CMEK และความพร้อมใช้งานคีย์

เมื่อคีย์ไม่พร้อมใช้งานหรือปิดใช้ โปรดทราบลักษณะการทำงานต่อไปนี้ที่อาจเกิดขึ้นในฐานข้อมูลที่เปิดใช้ CMEK

  • คุณสามารถลบฐานข้อมูล CMEK ที่มีคีย์ไม่พร้อมใช้งานได้

  • เมื่อคุณสร้างฐานข้อมูลที่เปิดใช้ CMEK คีย์ที่ปิดใช้จะไม่แสดงในรายการคีย์ที่พร้อมใช้งานในคอนโซล Google Cloud หากคุณป้อนคีย์ที่ปิดใช้ด้วยตนเอง กระบวนการสร้างฐานข้อมูลจะล้มเหลวโดยแสดงข้อผิดพลาด INVALID_ARGUMENT 400

ข้อจำกัด

  • คุณไม่สามารถเปลี่ยนคีย์สำหรับฐานข้อมูลที่ได้รับการปกป้องด้วย CMEK แต่สามารถหมุนเวียน เปิดใช้ และปิดใช้คีย์ได้

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

  • Cloud Firestore รองรับฐานข้อมูลที่ได้รับการปกป้องด้วย CMEK จำนวนจำกัด

ขั้นตอนถัดไป