แชร์ผ่าน


การเข้ารหัสลับข้อมูลในฐานข้อมูล SQL ใน Microsoft Fabric

นําไปใช้กับ:ฐานข้อมูล SQL ใน Microsoft Fabric

สําคัญ

คุณลักษณะนี้อยู่ในตัวอย่าง

Microsoft Fabric เข้ารหัสลับข้อมูลที่ไม่ได้ใช้งานทั้งหมดโดยใช้คีย์ที่จัดการโดย Microsoft ข้อมูลฐานข้อมูล SQL ทั้งหมดจะถูกเก็บไว้ในบัญชี Azure Storage ระยะไกล เพื่อให้สอดคล้องกับข้อกําหนดการเข้ารหัสลับที่ไม่ได้ใช้งานโดยใช้คีย์ที่จัดการโดย Microsoft บัญชี Azure Storage แต่ละบัญชีที่ใช้โดยฐานข้อมูล SQL จะได้รับการกําหนดค่าด้วยการเปิดใช้งานการเข้ารหัสลับฝั่งบริการ

ด้วย คีย์ที่จัดการโดยลูกค้าสําหรับพื้นที่ทํางาน Fabric คุณสามารถใช้คีย์ Azure Key Vault เพื่อเพิ่มการป้องกันอีกชั้นหนึ่งให้กับข้อมูลในพื้นที่ทํางาน Microsoft Fabric ของคุณ รวมถึงข้อมูลทั้งหมดในฐานข้อมูล SQL ใน Microsoft Fabric คีย์ที่ลูกค้าจัดการมีความยืดหยุ่นมากขึ้น ช่วยให้คุณสามารถจัดการการหมุน ควบคุมการเข้าถึง และการตรวจสอบการใช้งานได้ คีย์ที่จัดการโดยลูกค้ายังช่วยให้องค์กรตอบสนองความต้องการด้านการกํากับดูแลข้อมูลและปฏิบัติตามมาตรฐานการปกป้องข้อมูลและการเข้ารหัสลับ

  • เมื่อมีการกําหนดค่าคีย์ที่จัดการโดยลูกค้าสําหรับพื้นที่ทํางานใน Microsoft Fabric การเข้ารหัสลับข้อมูลแบบโปร่งใส จะเปิดใช้งานโดยอัตโนมัติสําหรับฐานข้อมูล SQL ทั้งหมด (และ tempdb) ภายในพื้นที่ทํางานนั้นโดยใช้คีย์ที่จัดการโดยลูกค้าที่ระบุ กระบวนการนี้ราบรื่นโดยสิ้นเชิงและไม่ต้องการการแทรกแซงด้วยตนเอง
    • แม้ว่ากระบวนการเข้ารหัสจะเริ่มโดยอัตโนมัติสําหรับฐานข้อมูล SQL ที่มีอยู่ทั้งหมด แต่ก็ไม่ได้เกิดขึ้นในทันที ระยะเวลาขึ้นอยู่กับขนาดของฐานข้อมูล SQL แต่ละฐานข้อมูล โดยฐานข้อมูล SQL ขนาดใหญ่ต้องใช้เวลามากขึ้นในการเข้ารหัสให้เสร็จสมบูรณ์
    • หลังจากกําหนดค่าคีย์ที่จัดการโดยลูกค้าแล้ว ฐานข้อมูล SQL ใดๆ ที่สร้างขึ้นในพื้นที่ทํางานจะถูกเข้ารหัสโดยใช้คีย์ที่จัดการโดยลูกค้าด้วย
  • ถ้าคีย์ที่จัดการโดยลูกค้าถูกลบออก กระบวนการถอดรหัสจะถูกทริกเกอร์สําหรับฐานข้อมูล SQL ทั้งหมดในพื้นที่ทํางาน เช่นเดียวกับการเข้ารหัส การถอดรหัสยังขึ้นอยู่กับขนาดของฐานข้อมูล SQL และอาจใช้เวลากว่าจะเสร็จสมบูรณ์ เมื่อถอดรหัสแล้ว ฐานข้อมูล SQL จะเปลี่ยนกลับไปใช้คีย์ที่จัดการโดย Microsoft สําหรับการเข้ารหัสลับ

การเข้ารหัสลับข้อมูลแบบโปร่งใสทํางานอย่างไรในฐานข้อมูล SQL ใน Microsoft Fabric

การเข้ารหัสข้อมูลที่โปร่งใสจะทําการเข้ารหัสแบบเรียลไทม์และถอดรหัสฐานข้อมูล

  • กระบวนการนี้เกิดขึ้นที่ระดับหน้า ซึ่งหมายความว่าแต่ละหน้าจะถูกถอดรหัสเมื่ออ่านลงในหน่วยความจําและเข้ารหัสใหม่ก่อนที่จะเขียนกลับไปยังดิสก์
  • การเข้ารหัสข้อมูลที่โปร่งใสจะรักษาความปลอดภัยฐานข้อมูลทั้งหมดโดยใช้คีย์สมมาตรที่เรียกว่าคีย์การเข้ารหัสฐานข้อมูล (DEK)
  • เมื่อฐานข้อมูลเริ่มต้นทํางาน DEK ที่เข้ารหัสลับจะถูกถอดรหัสลับ และใช้โดยกลไกจัดการฐานข้อมูล SQL Server เพื่อจัดการการเข้ารหัสลับและการดําเนินการถอดรหัส
  • DEK เองได้รับการปกป้องโดยตัวป้องกันการเข้ารหัสลับข้อมูลแบบโปร่งใส ซึ่งเป็นคีย์แบบอสมมาตรที่จัดการโดยลูกค้า โดยเฉพาะคีย์ที่จัดการโดยลูกค้าที่กําหนดค่าที่ระดับพื้นที่ทํางาน

ไดอะแกรมของการเข้ารหัสลับสําหรับฐานข้อมูล SQL ใน Microsoft Fabric

การสำรองและการคืนค่า

เมื่อฐานข้อมูล SQL ได้รับการเข้ารหัสด้วยคีย์ที่จัดการโดยลูกค้า การสํารองข้อมูลที่สร้างขึ้นใหม่จะถูกเข้ารหัสด้วยคีย์เดียวกันด้วย

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

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

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

ตรวจสอบคีย์ที่จัดการโดยลูกค้าที่สําเร็จ

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

SELECT DB_NAME(database_id) as DatabaseName, * 
FROM sys.dm_database_encryption_keys 
WHERE database_id <> 2;
  • ฐานข้อมูลจะถูกเข้ารหัสถ้า encryption_state_desc เขตข้อมูลแสดง ENCRYPTED เป็น ASYMMETRIC_KEYencryptor_type.
  • ถ้าสถานะเป็น ENCRYPTION_IN_PROGRESSคอลัมน์ percent_complete จะระบุความคืบหน้าของการเปลี่ยนแปลงสถานะการเข้ารหัส นี่จะเป็น 0 หากไม่มีการเปลี่ยนแปลงสถานะที่กําลังดําเนินการอยู่
  • ถ้าไม่ได้เข้ารหัสลับ ฐานข้อมูลจะไม่ปรากฏในผลลัพธ์แบบสอบถามของsys.dm_database_encryption_keys

แก้ไขปัญหาคีย์ที่จัดการโดยลูกค้าที่ไม่สามารถเข้าถึงได้

เมื่อมีการกําหนดค่าคีย์ที่จัดการโดยลูกค้าสําหรับพื้นที่ทํางานใน Microsoft Fabric จําเป็นต้องมีการเข้าถึงคีย์อย่างต่อเนื่องเพื่อให้ฐานข้อมูล SQL ออนไลน์อยู่เสมอ ถ้าฐานข้อมูล SQL สูญเสียการเข้าถึงคีย์ใน Azure Key Vault ภายใน 10 นาที ฐานข้อมูล SQL จะเริ่มปฏิเสธการเชื่อมต่อทั้งหมดและเปลี่ยนสถานะเป็น ไม่สามารถเข้าถึงได้ ผู้ใช้จะได้รับข้อความแสดงข้อผิดพลาดที่สอดคล้องกัน เช่น "ฐานข้อมูลไม่สามารถเข้าถึงได้ <database ID>.database.fabric.microsoft.com เนื่องจากข้อผิดพลาดร้ายแรงของ Azure Key Vault"

  • หากการเข้าถึงคีย์ถูกกู้คืนภายใน 30 นาที ฐานข้อมูล SQL จะรักษาโดยอัตโนมัติภายในหนึ่งชั่วโมงถัดไป
  • ถ้าการเข้าถึงคีย์ถูกคืนค่าหลังจากผ่านไปนานกว่า 30 นาที การกู้คืนฐานข้อมูล SQL โดยอัตโนมัติจะไม่สามารถทําได้ การนําฐานข้อมูล SQL กลับมาต้องมีขั้นตอนเพิ่มเติม และอาจใช้เวลานานขึ้นอยู่กับขนาดของฐานข้อมูล SQL

ใช้ขั้นตอนต่อไปนี้เพื่อตรวจสอบความถูกต้องของคีย์ที่จัดการโดยลูกค้าอีกครั้ง:

  1. ในพื้นที่ทํางานของคุณ คลิกขวาบนฐานข้อมูล SQL หรือ ... เมนูบริบท เลือก การตั้งค่า
  2. เลือก การเข้ารหัส (พรีวิว)
  3. เมื่อต้องการพยายามตรวจสอบความถูกต้องของคีย์ที่จัดการโดยลูกค้าอีกครั้ง ให้เลือกปุ่ม ตรวจสอบความถูกต้องของคีย์ที่จัดการโดยลูกค้าอีกครั้ง หากการตรวจสอบความถูกต้องใหม่สําเร็จ การกู้คืนการเข้าถึงฐานข้อมูล SQL ของคุณอาจใช้เวลาสักครู่

Note

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

Limitations

ข้อจํากัดปัจจุบันเมื่อใช้คีย์ที่จัดการโดยลูกค้าสําหรับฐานข้อมูล SQL ใน Microsoft Fabric:

  • คีย์ 4,096 บิตไม่ได้รับการสนับสนุนสําหรับฐานข้อมูล SQL ใน Microsoft Fabric ความยาวของคีย์ที่รองรับคือ 2,048 บิตและ 3,072 บิต
  • คีย์ที่จัดการโดยลูกค้าต้องเป็นคีย์ RSA หรือ RSA-HSM คีย์อสมมาตร
  • ปัจจุบัน การเข้ารหัสคีย์ที่จัดการโดยลูกค้าพร้อมใช้งานในภูมิภาคต่อไปนี้:
    • สหรัฐอเมริกา: สหรัฐอเมริกาตะวันออก 2, สหรัฐอเมริกาตอนกลางตอนเหนือ, สหรัฐอเมริกาตอนกลางตอนใต้
    • เอเชีย: ออสเตรเลียตะวันออก, เอเชียตะวันออกเฉียงใต้, สหรัฐอาหรับเอมิเรตส์เหนือ
    • ยุโรป: ยุโรปเหนือ ยุโรปตะวันตก