Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

การกำหนดค่า TDE ด้วย AlwaysOn Availability Group

“บล็อกนี้สาธิตขั้นตอนโดยละเอียดที่จำเป็นในการตั้งค่าการเข้ารหัสข้อมูลที่โปร่งใสด้วย 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 ดังต่อไปนี้ สถานการณ์ต่างๆ

  1. การเพิ่มฐานข้อมูลที่เข้ารหัส TDE ให้กับกลุ่ม AG
  2. กำหนดค่า TDE ให้กับฐานข้อมูลที่มีอยู่แล้วในกลุ่ม AG
  3. การหมุนเวียนใบรับรองที่หมดอายุ

สถานการณ์จำลอง:การเพิ่มฐานข้อมูลที่เข้ารหัส 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 สำหรับฐานข้อมูลกลุ่มความพร้อมใช้งานตลอดเวลา

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณสามารถเริ่มการสนทนากับเราได้เช่นกัน