“บล็อกนี้สาธิตขั้นตอนโดยละเอียดที่จำเป็นในการตั้งค่าการเข้ารหัสข้อมูลที่โปร่งใสด้วย AlwaysOn Availability Group”
แนะนำตัว
SQL Server จัดให้มีการเข้ารหัสข้อมูลแบบโปร่งใส (TDE) สำหรับการเข้ารหัสไฟล์ที่มีอยู่จริงเพื่อปกป้องข้อมูลที่ละเอียดอ่อนของลูกค้า เปิดตัวพร้อมกับ SQL Server 2008 เป็นฟีเจอร์ Enterprise Edition
TDE ใช้ได้กับ SQL Server Editions ต่อไปนี้:
• SQL Server 2008, 2008 R2, 2012, 2014, 2016, 2017 (การประเมิน, ผู้พัฒนา, องค์กร)
From SQL version 2019, TDE is available on most of the editions available.
• SQL Server 2019 - มาตรฐาน การประเมิน นักพัฒนา องค์กร
มาสำรวจวิธีกำหนดค่า TDE ด้วย AlwaysOn Availability Group ดังต่อไปนี้ สถานการณ์ต่างๆ
- การเพิ่มฐานข้อมูลที่เข้ารหัส TDE ให้กับกลุ่ม AG
- กำหนดค่า TDE ให้กับฐานข้อมูลที่มีอยู่แล้วในกลุ่ม AG
- การหมุนเวียนใบรับรองที่หมดอายุ
สถานการณ์จำลอง:การเพิ่มฐานข้อมูลที่เข้ารหัส TDE ให้กับกลุ่ม AG
เรากำลังใช้ AG แบบสองโหนดเพื่อตั้งค่า TDE และกระบวนการต่อไปนี้จะอธิบายขั้นตอนโดยละเอียด ทำตามขั้นตอนรองในแต่ละแบบจำลองรองของคุณ (ถ้าคุณมีมากกว่า 1 แบบจำลองรอง)
• แบบจำลองหลัก:node1
• แบบจำลองรอง:node2
• กลุ่มเอจี:TDE_AG
เคล็ดลับ: ขอแนะนำเสมอให้เรียกใช้ DBCC CHECKDB เพื่อให้แน่ใจว่าฐานข้อมูลไม่มีข้อผิดพลาดและทำการสำรองข้อมูลเต็มรูปแบบล่าสุดของฐานข้อมูลก่อนที่จะใช้ TDE
ขั้นตอนที่ 1:อินสแตนซ์หลัก - สร้างมาสเตอร์คีย์
หากคุณกำลังเข้ารหัส TDE เป็นครั้งแรก ไม่ควรมีมาสเตอร์คีย์และคุณสามารถใช้ SQL ต่อไปนี้ซึ่งจะไม่ให้ชุดผลลัพธ์
ตอนนี้สร้างมาสเตอร์คีย์ในฐานข้อมูลหลักโดยใช้รหัสผ่านที่คาดเดายาก
ตรวจสอบความถูกต้องของมาสเตอร์คีย์:
สำรองข้อมูลมาสเตอร์คีย์ไปยังตำแหน่งที่ปลอดภัยตามแนวทางปฏิบัติที่ดีที่สุด รหัสผ่านสำหรับการสำรองข้อมูลอาจแตกต่างจากรหัสผ่านมาสเตอร์คีย์
ขั้นตอนที่ 2:อินสแตนซ์หลัก - สร้างใบรับรอง
สร้างใบรับรองเพื่อรักษาความปลอดภัยคีย์การเข้ารหัสฐานข้อมูล วันหมดอายุเริ่มต้นของใบรับรองคือ 1 ปีเคล็ดลับ :แนวทางปฏิบัติที่ดีที่สุดคือกำหนดวันหมดอายุเป็นเวลา 5 ปี เนื่องจากไม่ควรให้หมดอายุในหนึ่งปี
ตรวจสอบโดยใช้ TSQL ด้านล่างเพื่อยืนยันว่าได้สร้างใบรับรองแล้ว
ขั้นตอนที่ 3:อินสแตนซ์หลัก - การสร้างคีย์การเข้ารหัสฐานข้อมูล (DEK)
สร้าง DEK ซึ่งเป็นคีย์สมมาตรเพื่อเข้ารหัสเนื้อหาฐานข้อมูลจริง และคุณสามารถสร้างโดยใช้อัลกอริธึม AES ที่มีอยู่ได้
ขั้นตอนที่ 4:อินสแตนซ์หลัก - สำรองข้อมูลใบรับรอง
สำรองใบรับรองและคีย์ส่วนตัวตามแนวทางปฏิบัติที่ดี ด้วยวิธีนี้ คุณสามารถกู้คืนไฟล์สำรองฐานข้อมูลหรือแนบไฟล์ข้อมูลฐานข้อมูลกับอินสแตนซ์ SQL Server อื่นได้
ขั้นตอนที่ 5:อินสแตนซ์รอง - สร้างมาสเตอร์คีย์
คุณควรสร้างคีย์หลักฐานข้อมูลบนแบบจำลองรองทั้งหมด หากไม่มีอยู่ ซึ่งเหมือนกับขั้นตอนที่ 1 ในอินสแตนซ์หลัก มาสเตอร์คีย์ถูกสร้างขึ้นแล้วในทั้งสองอินสแตนซ์ในขั้นตอนที่ 1
ขั้นตอนที่ 6:อินสแตนซ์รอง - สร้างใบรับรองรอง
คัดลอกใบรับรองจากแบบจำลองหลักไปยังแบบจำลองรองทั้งหมด และสร้างใบรับรองบนแบบจำลองรองโดยใช้ใบรับรองแบบจำลองหลัก
คุณต้องระบุรหัสผ่านการถอดรหัสที่ใช้ก่อนหน้านี้เพื่อเข้ารหัสข้อมูลสำรองบนแบบจำลองหลัก
ขั้นตอนที่ 7:อินสแตนซ์หลัก - การเปิดใช้งานการเข้ารหัส TDE
สืบค้นคำสั่งต่อไปนี้เป็นขั้นตอนสุดท้ายเพื่อเปิดใช้งาน TDE ในฐานข้อมูลที่จำเป็น
ตอนนี้ มาตรวจสอบความคืบหน้าของกระบวนการเข้ารหัสและตรวจสอบว่าสถานะเป็น 3 ซึ่งอธิบายการเข้ารหัสเสร็จสมบูรณ์
แบบสอบถามต่อไปนี้แสดงรายการฐานข้อมูลที่เปิดใช้งาน TDE บนฐานข้อมูล
ผลลัพธ์ข้างต้นแสดงว่า TDE ถูกเปิดใช้งานบนฐานข้อมูล TDE_DB และสถานะการเข้ารหัส 3 หมายความว่าฐานข้อมูลถูกเข้ารหัสอย่างสมบูรณ์ โดยค่าเริ่มต้น tempdb จะถูกเข้ารหัสโดยอัตโนมัติเมื่อเราเข้ารหัสโดยใช้ TDE ในฐานข้อมูลผู้ใช้ใดๆ
ขั้นตอนที่ 8:การเพิ่มฐานข้อมูลไปยัง Availability Group
มาเพิ่มฐานข้อมูลที่เข้ารหัสในกลุ่ม AG กันเถอะ
หมายเหตุ :การเพิ่มฐานข้อมูลที่เข้ารหัส TDE ให้กับ Availability Group ไม่รองรับตัวเลือก GUI ใน SSMS
คุณต้องใช้ TSQL เพื่อเพิ่มฐานข้อมูลในกลุ่ม AG บนตัวจำลองหลัก ทำการสำรองข้อมูลทั้งหมด สำรองข้อมูลบันทึกธุรกรรมสำหรับฐานข้อมูล TDE_Test ฐานข้อมูล และคัดลอก คุณต้องกู้คืนด้วย NORECOVERY
ในระดับรอง
เมื่อการสำรองและกู้คืนข้อมูลเสร็จสมบูรณ์ ให้รันคำสั่งต่อไปนี้เพื่อเพิ่มฐานข้อมูลไปยัง Availability Group
ขั้นตอนที่ 9:การตรวจสอบความสมบูรณ์ของ AG
ตอนนี้ ตรวจสอบสถานะการตรวจสอบความสมบูรณ์ของ AG ผ่านแดชบอร์ดและการทดสอบเฟลโอเวอร์ด้วยตนเองเพื่อให้แน่ใจว่าฐานข้อมูลของเราที่เปิดใช้งาน TDE นั้นทำงานได้ดี
สถานการณ์จำลอง:กำหนดค่า TDE ให้กับฐานข้อมูลที่มีอยู่แล้วในกลุ่ม AG
ทำตามขั้นตอน (ซึ่งฉันได้พูดถึงในสถานการณ์แรกของเรา) เพื่อเปิดใช้งาน TDE เมื่อฐานข้อมูลถูกเพิ่มลงในกลุ่ม AG แล้ว
ขั้นตอนที่ 1:อินสแตนซ์หลัก - สร้างมาสเตอร์คีย์
ขั้นตอนที่ 2:อินสแตนซ์หลัก - สร้างใบรับรอง
ขั้นตอนที่ 3:อินสแตนซ์หลัก - การสร้างคีย์การเข้ารหัสฐานข้อมูล (DEK)
ขั้นตอนที่ 4:อินสแตนซ์หลัก - สำรองข้อมูลใบรับรอง
ขั้นตอนที่ 5:อินสแตนซ์รอง - สร้างมาสเตอร์คีย์
ขั้นตอนที่ 6:อินสแตนซ์รอง - สร้างใบรับรองรอง
ขั้นตอนที่ 7:อินสแตนซ์หลัก - เปิดใช้งานการเข้ารหัส TDE
ขั้นตอนที่ 9:การตรวจสอบความสมบูรณ์ของ AG
เนื่องจากฉันได้สร้างมาสเตอร์คีย์และใบรับรองบนแบบจำลองทั้งสองในสถานการณ์ก่อนหน้านี้แล้ว เราสามารถข้ามขั้นตอนที่ 1,2,4,5,6,7 ได้ คุณเพียงแค่ต้องสร้าง DEK และเปิดใช้งาน TDE จากขั้นตอนที่ 3 และ 7
• แบบจำลองหลัก:node1
• แบบจำลองรอง:node2
• กลุ่มเอจี:TDE_AG
• ฐานข้อมูล AG :Test_tde
• ใบรับรอง TDE :TDE_AG2021
ขั้นตอนที่ 3 และ 7 – ในอินสแตนซ์หลัก
ตรวจสอบความคืบหน้าของกระบวนการเข้ารหัสและตรวจสอบให้แน่ใจว่าสถานะเป็น 3 ซึ่งอธิบายการเข้ารหัสเสร็จสมบูรณ์
ตรวจสอบฐานข้อมูลที่เปิดใช้งาน TDE ด้วยข้อความค้นหาต่อไปนี้
ตรวจสอบความสมบูรณ์ของ AG และทำการทดสอบเฟลโอเวอร์เพื่อให้แน่ใจว่าทุกอย่างทำงานได้ดี
สถานการณ์:การหมุนเวียนใบรับรองที่หมดอายุ
เมื่อคุณสังเกตเห็นว่าใบรับรอง TDE จะหมดอายุเร็วๆ นี้ คุณจะต้องหมุนเวียนใบรับรองตามแนวทางปฏิบัติที่ดีที่สุด แม้ว่าใบรับรองที่หมดอายุจะไม่ทำให้เกิดปัญหาใดๆ กับการทำงานปกติของฐานข้อมูล
คุณสามารถตรวจสอบวันหมดอายุสำหรับใบรับรอง TDE ของเราและทำตามขั้นตอนที่อธิบายไว้เพื่อหมุนเวียนใบรับรอง SQL TDE
ขั้นตอนที่ 1:อินสแตนซ์หลัก - สร้างใบรับรองใหม่
ขั้นตอนที่ 2:อินสแตนซ์หลัก - สำรองข้อมูลใบรับรอง
ขั้นตอนที่ 3:อินสแตนซ์รอง - สร้างใบรับรองรอง
ขั้นตอนที่ 4:อินสแตนซ์หลัก - หมุนใบรับรอง SQL TDE
ตรวจสอบวันหมดอายุของฐานข้อมูล Test_tde:
ขั้นตอนที่ 5:การตรวจสอบความสมบูรณ์ของ AG:
บันทึกใบรับรอง TDE ที่หมดอายุชั่วขณะหนึ่งเพื่อกู้คืนข้อมูลสำรองที่เก่ากว่า ใบรับรองใหม่จะใช้เมื่อคุณกู้คืนฐานข้อมูลที่สำรองไว้ตั้งแต่การหมุนคีย์เท่านั้น
บทสรุป
SQL Server มีการเข้ารหัสข้อมูลแบบโปร่งใส (TDE) สำหรับการเข้ารหัสไฟล์จริงเพื่อปกป้องข้อมูลที่เป็นความลับของลูกค้า ในบล็อกนี้ ฉันได้อธิบายสถานการณ์ต่างๆ เพื่อกำหนดค่า TDE สำหรับฐานข้อมูลกลุ่มความพร้อมใช้งานตลอดเวลา
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณสามารถเริ่มการสนทนากับเราได้เช่นกัน