โดยค่าเริ่มต้น ข้อมูลทั้งหมดที่จัดเก็บไว้ใน 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 เป็นค่าใช้จ่ายเพิ่มเติม แต่คาดว่าโดยทั่วไปจะต่ำ เนื่องจากจำนวนการดำเนินการเข้ารหัสที่คาดไว้
ไม่มีค่าใช้จ่ายเพิ่มเติมCloud Firestoreสำหรับการใช้ฐานข้อมูลที่ได้รับการปกป้องด้วย CMEK และCloud Firestoreราคาจะยังคงมีผล ต่อไป
หากเพิกถอนคีย์ไปยังฐานข้อมูล ระบบจะเรียกเก็บค่าพื้นที่เก็บข้อมูลตาม ขนาดของวันที่ล่าสุดที่คีย์พร้อมใช้งาน คุณจะยังคงมีค่าใช้จ่ายในการจัดเก็บข้อมูลที่ขนาดฐานข้อมูลนั้นจนกว่าจะมีการลบฐานข้อมูลหรือคีย์พร้อมใช้งานอีกครั้ง
สิ่งที่ได้รับการปกป้องด้วย CMEK
เมื่อสร้างฐานข้อมูลที่Cloud Firestoreได้รับการปกป้องด้วย CMEK ระบบจะใช้คีย์ 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 จะล่าช้าจนกว่าจะมีการคืนสิทธิ คีย์ หากฐานข้อมูลมีการดำเนินการที่ใช้เวลานานซึ่งกำลังดำเนินการอยู่ การดำเนินการเหล่านั้นจะได้รับผลกระทบดังนี้
- การดำเนินการสร้างดัชนีและการดำเนินการเปิดใช้นโยบาย 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
สำรองข้อมูลและกู้คืน
ข้อมูลสำรองจะใช้กลไกการเข้ารหัสเดียวกับฐานข้อมูลที่คุณสร้างข้อมูลสำรอง เมื่อCloud Firestoreฐานข้อมูลที่ได้รับการปกป้องด้วย CMEK สร้างข้อมูลสำรอง ระบบจะเข้ารหัสข้อมูลสำรองด้วยเวอร์ชันคีย์หลักที่ใช้ในขณะที่สร้างข้อมูลสำรอง
Cloud Firestore จะสร้างข้อมูลสำรองแรกของฐานข้อมูล CMEK หลังจากผ่านไป 24 ชั่วโมงนับจากเวลาที่คุณเปิดใช้กำหนดเวลาสำรองข้อมูล
ดูข้อมูลเพิ่มเติมเกี่ยวกับCloud Firestoreการสำรองข้อมูลได้ที่สำรองและกู้คืนข้อมูล
ฐานข้อมูลที่กู้คืนจากข้อมูลสำรองจะใช้กลไกการเข้ารหัสเดียวกันกับข้อมูลสำรองโดยค่าเริ่มต้น เมื่อกู้คืนฐานข้อมูล คุณสามารถระบุประเภทการเข้ารหัสอื่นได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- กู้คืนไปยังฐานข้อมูล CMEK ด้วยคีย์ที่ระบุใหม่
- กู้คืนไปยังฐานข้อมูลที่ไม่ใช่ CMEK ซึ่งใช้การเข้ารหัสเริ่มต้นของ Google
- กู้คืนไปยังฐานข้อมูลที่ใช้การเข้ารหัสเดียวกันกับข้อมูลสำรอง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการกู้คืนฐานข้อมูล Cloud Firestore จากข้อมูลสำรองได้ที่กู้คืนข้อมูลจากข้อมูลสำรองของฐานข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับการกู้คืนCloud Firestoreฐานข้อมูลที่ได้รับการปกป้องด้วย CMEK จากข้อมูลสำรองได้ที่กู้คืนฐานข้อมูลที่ได้รับการปกป้องด้วย CMEK
โคลน
โดยค่าเริ่มต้น ฐานข้อมูลที่โคลนจากฐานข้อมูลอื่นจะใช้กลไกการเข้ารหัสเดียวกันกับฐานข้อมูลต้นทาง เมื่อโคลนฐานข้อมูล คุณสามารถระบุประเภทการเข้ารหัสที่แตกต่างกันได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- โคลนไปยังฐานข้อมูล CMEK ด้วยคีย์ที่ระบุใหม่
- โคลนไปยังฐานข้อมูลที่ไม่ใช่ CMEK ซึ่งใช้การเข้ารหัสเริ่มต้นของ Google
- (ค่าเริ่มต้น) โคลนไปยังฐานข้อมูลที่ใช้การเข้ารหัสเดียวกับฐานข้อมูลต้นทาง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการโคลนฐานข้อมูล Cloud Firestore ได้ที่ โคลนฐานข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับการโคลนCloud Firestoreฐานข้อมูลที่ป้องกันด้วย CMEK ได้ที่โคลนฐานข้อมูลที่ป้องกันด้วย CMEK
การติดตามคีย์
คุณสามารถใช้การติดตามคีย์เพื่อดูทรัพยากร เช่น Cloud Firestore ฐานข้อมูล ที่คีย์ปกป้อง ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตามคีย์ได้ที่ ดูการใช้งานคีย์
CMEK และความพร้อมใช้งานของคีย์
เมื่อคีย์ไม่พร้อมใช้งานหรือถูกปิดใช้ โปรดทราบลักษณะการทำงานต่อไปนี้ที่อาจเกิดขึ้นในฐานข้อมูลที่เปิดใช้ CMEK
คุณสามารถลบฐานข้อมูล CMEK ที่มีคีย์ที่ไม่พร้อมใช้งานได้
เมื่อสร้างฐานข้อมูลที่เปิดใช้ CMEK คีย์ที่ปิดใช้จะไม่แสดงในรายการ คีย์ที่ใช้ได้ในคอนโซล Google Cloud หากคุณป้อนคีย์ที่ปิดใช้ด้วยตนเอง กระบวนการสร้างฐานข้อมูลจะล้มเหลวพร้อม
INVALID_ARGUMENTข้อผิดพลาด 400
ข้อจำกัด
คุณเปลี่ยนคีย์สำหรับฐานข้อมูลที่ป้องกันด้วย CMEK ไม่ได้ คุณหมุนเวียน เปิดใช้ และปิดใช้คีย์ได้
คุณเปิดใช้ CMEK ในฐานข้อมูลที่มีอยู่ไม่ได้ คุณเปิดใช้ CMEK ได้เฉพาะในฐานข้อมูลใหม่ และต้องเปิดใช้เมื่อสร้างฐานข้อมูล หากต้องการย้ายข้อมูลในฐานข้อมูลที่ไม่ใช่ CMEK ที่มีอยู่ไปยังฐานข้อมูลที่ป้องกันด้วย CMEK ให้ส่งออกข้อมูล แล้วนำเข้าข้อมูลไปยังฐานข้อมูลที่ป้องกันด้วย CMEK ใหม่ นอกจากนี้ คุณยังกู้คืนหรือโคลนข้อมูลจากฐานข้อมูลที่ไม่ใช่ CMEK ไปยังฐานข้อมูล CMEK ได้ด้วย
Cloud Firestore รองรับฐานข้อมูลที่ป้องกันด้วย CMEK จำนวนจำกัด