โดยค่าเริ่มต้น ข้อมูลทั้งหมดที่ไม่มีการเคลื่อนไหวใน 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 นาทีเพื่อ ตรวจสอบว่าคีย์ยังคงพร้อมใช้งานหรือไม่ จากนั้นจึงดำเนินการเข้ารหัสและถอดรหัส หากคีย์พร้อมใช้งาน
หากระบบตรวจพบว่าคีย์ไม่พร้อมใช้งาน การเรียกฐานข้อมูล Cloud Firestore ครั้งต่อๆ ไป รวมถึงการอ่าน
การเขียน และการค้นหา จะแสดงข้อผิดพลาด INVALID_ARGUMENT พร้อมข้อความต่อไปนี้
ภายใน 10 นาที
The customer-managed encryption key required by the requested
resource is not accessible.
หากฐานข้อมูลมีนโยบาย Time-to-Live (TTL) และหาก เวลาหมดอายุเกินขณะที่คีย์ไม่พร้อมใช้งาน ระบบจะเลื่อนการลบข้อมูลตาม TTL ออกไปจนกว่าจะ คืนสิทธิ์คีย์ หากฐานข้อมูลมีการดำเนินการที่ใช้เวลานานซึ่งกำลังดำเนินการอยู่ การดำเนินการเหล่านั้นจะได้รับผลกระทบดังนี้
- การดำเนินการสร้างดัชนีและการดำเนินการ ที่เปิดใช้นโยบาย TTL ใหม่ จะหยุดดำเนินการ ระบบจะลองดำเนินการที่หยุดไปอีกครั้งหากมีการคืนสิทธิ์คีย์
ระบบจะถือว่าคีย์ไม่พร้อมใช้งานในทุกสถานการณ์ที่ไม่อนุญาตให้ Cloud Firestoreเข้าถึงคีย์โดยเจตนา ซึ่งรวมถึงกรณีต่อไปนี้
- การปิดใช้ หรือ ทำลาย เวอร์ชันคีย์ที่ใช้งานอยู่ โปรดใช้ความระมัดระวังเมื่อทำลายเวอร์ชันคีย์ เนื่องจากสิ่งนี้ อาจทำให้ข้อมูลสูญหายอย่างกู้คืนไม่ได้
- การนำสิทธิ์เข้าถึงคีย์ออกจากบัญชีบริการ 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 ชั่วโมงนับจากเวลาที่คุณเปิดใช้กำหนดเวลาสำรองข้อมูล
ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลสำ0/} สำรอง ได้ที่ สำรองและกู้คืนข้อมูลCloud Firestore
ฐานข้อมูลที่กู้คืนจากข้อมูลสำรองจะใช้กลไกการเข้ารหัสเดียวกับข้อมูลสำรองโดยค่าเริ่มต้น เมื่อกู้คืนฐานข้อมูล คุณสามารถระบุประเภทการเข้ารหัสอื่นได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- กู้คืนไปยังฐานข้อมูล CMEK ด้วยคีย์ที่ระบุใหม่
- กู้คืนไปยังฐานข้อมูลที่ไม่ใช่ CMEK ซึ่งใช้ การเข้ารหัสเริ่มต้นของ Google
- กู้คืนไปยังฐานข้อมูลที่ใช้การเข้ารหัสเดียวกับข้อมูลสำรอง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการกู้คืนฐานข้อมูล Cloud Firestore จากข้อมูลสำรอง ได้ที่ กู้คืนข้อมูลจากข้อมูลสำรองฐานข้อมูล ดูข้อมูล เพิ่มเติมเกี่ยวกับการกู้คืนฐานข้อมูล Cloud Firestore Cloud Firestoreที่ได้รับการปกป้อง CMEK จากข้อมูลสำรองได้ที่กู้คืนฐานข้อมูลที่ได้รับการปกป้อง CMEK
โคลน
โดยค่าเริ่มต้น ฐานข้อมูลที่โคลนจากฐานข้อมูลอื่นจะใช้กลไกการเข้ารหัสเดียวกับฐานข้อมูลต้นทาง เมื่อโคลนฐานข้อมูล คุณสามารถระบุประเภทการเข้ารหัสอื่นได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- โคลนไปยังฐานข้อมูล CMEK ด้วยคีย์ที่ระบุใหม่
- โคลนไปยังฐานข้อมูลที่ไม่ใช่ CMEK ซึ่งใช้ การเข้ารหัสเริ่มต้นของ Google
- (ค่าเริ่มต้น) โคลนไปยังฐานข้อมูลที่ใช้การเข้ารหัสเดียวกับฐานข้อมูลต้นทาง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการโคลนฐานข้อมูล Cloud Firestore ได้ที่ โคลนฐานข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับการโคลนฐานข้อมูลที่ได้รับการปกป้อง CMEK Cloud Firestore ได้ที่ โคลนฐานข้อมูลที่ได้รับการปกป้อง CMEK
การติดตามคีย์
คุณสามารถใช้การติดตามคีย์เพื่อดูทรัพยากร เช่น Cloud Firestore ฐานข้อมูล ที่คีย์ปกป้อง ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตามคีย์ได้ที่ ดูการใช้งานคีย์
CMEK และความพร้อมใช้งานคีย์
เมื่อคีย์ไม่พร้อมใช้งานหรือปิดใช้ โปรดทราบลักษณะการทำงานต่อไปนี้ที่อาจเกิดขึ้นในฐานข้อมูลที่เปิดใช้ CMEK
คุณสามารถลบฐานข้อมูล CMEK ที่มีคีย์ไม่พร้อมใช้งานได้
เมื่อคุณสร้างฐานข้อมูลที่เปิดใช้ CMEK คีย์ที่ปิดใช้จะไม่แสดงในรายการคีย์ที่พร้อมใช้งานในคอนโซล Google Cloud หากคุณป้อนคีย์ที่ปิดใช้ด้วยตนเอง กระบวนการสร้างฐานข้อมูลจะล้มเหลวโดยแสดงข้อผิดพลาด
INVALID_ARGUMENT400
ข้อจำกัด
คุณไม่สามารถเปลี่ยนคีย์สำหรับฐานข้อมูลที่ได้รับการปกป้อง CMEK ได้ แต่คุณสามารถหมุนเวียน เปิดใช้ และปิดใช้คีย์ได้
คุณไม่สามารถเปิดใช้ CMEK ในฐานข้อมูลที่มีอยู่ได้ คุณเปิดใช้ CMEK ได้เฉพาะในฐานข้อมูลใหม่ และต้องเปิดใช้เมื่อสร้างฐานข้อมูล หากต้องการย้ายข้อมูลในฐานข้อมูลที่ไม่ใช่ CMEK ที่มีอยู่ไปยังฐานข้อมูลที่ได้รับการปกป้อง CMEK ให้ส่งออกข้อมูล แล้วนำเข้าข้อมูลไปยังฐานข้อมูลใหม่ที่ได้รับการปกป้อง CMEK นอกจากนี้ คุณยังกู้คืนหรือโคลนข้อมูลจากฐานข้อมูลที่ไม่ใช่ CMEK ไปยังฐานข้อมูล CMEK ได้ด้วย
Cloud Firestore รองรับฐานข้อมูลที่ได้รับการปกป้อง CMEK จำนวนจำกัด