ช่องทางการซื้อบัญชี Microsoft Cloud: การจัดการระดับพื้นที่เก็บข้อมูล Azure Blob และการกำหนดค่าความปลอดภัยของโซ่ป้องกันการโจรกรรม
ในยุคของอินเทอร์เน็ตบนมือถือและข้อมูลขนาดใหญ่เกือบทุกทีมต้องเผชิญกับปัญหาการจัดเก็บข้อมูลที่ไม่มีโครงสร้างจำนวนมากไม่ว่าจะเป็นอวาตาร์เสียงและวิดีโอของผู้ใช้หรือ PDF สัญญาภายในและบันทึกระบบขององค์กรก็มีขนาดหลายร้อยเทราไบต์หรือแม้แต่ PB
หากไฟล์เหล่านี้ถูกยัดลงในฮาร์ดดิสก์ของเซิร์ฟเวอร์แบบเดิมไม่เพียงแต่การขยายจะใช้เวลานานและลำบากเท่านั้นแต่การเรียกเก็บเงินรายเดือนยังสามารถทำให้คุณเจ็บปวดได้อีกด้วยในเวลานี้
Azure Blob Storage (ไมโครซอฟท์เมฆวัตถุจัดเก็บ)
มันกลายเป็นมาตรฐานที่แน่นอน
แต่เมื่อมือใหม่หลายคนใช้พื้นที่เก็บข้อมูล Blob พวกเขามักจะโยนทุกอย่างเข้าไปและทำเสร็จสิ่งนี้นำไปสู่ผลกระทบร้ายแรงสองประการ:
ประการแรกไม่ว่าจะเป็นรูปประจำตัวที่มีการเข้าถึงความถี่สูงหรือบันทึกที่ไม่ได้อ่านมาหลายปีพวกเขาจะถูกเรียกเก็บเงินในราคาต่อหน่วยที่สูงเหมือนกัน (กระเป๋าเงินมีเลือดออก) ประการที่สองลิงก์ไฟล์ถูกขโมยไปโดยมีเจตนาร้ายและถูกกวาดไปในชั่วข้ามคืนสร้างบิลจำนวนมหาศาล (หลุมดำด้านความปลอดภัยขนาดใหญ่)
บทช่วยสอนวันนี้ไม่ใช่เรื่องไร้สาระและจะนำคุณไปสู่สองสิ่งหลักของการจัดเก็บข้อมูล Blob โดยตรง:
การจัดการวงจรชีวิตตามลำดับชั้น (ประหยัดเงิน) และการกำหนดค่าความปลอดภัยของโซ่ป้องกันการโจรกรรม SAS (ไร้กังวล)
1.ขั้นตอนแรก: จัดเรียงระดับการจัดเก็บข้อมูลสามระดับของ Blob (Access Tiers)
Azure Blob มีราคาถูกเพราะช่วยให้คุณสามารถเลือกค่าใช้จ่ายในการจัดเก็บข้อมูลที่แตกต่างกันตาม "ความถี่ในการเข้าถึง" ของไฟล์มันเป็นเหมือนการจัดเก็บเสื้อผ้าแบ่งออกเป็นสามลิ้นชัก:
ชั้นเก็บความร้อน (Hot): เหมาะสำหรับการเข้าถึงข้อมูลความถี่สูงตัวอย่างเช่นวิดีโอที่ออกอากาศและอวตารที่ผู้ใช้เพิ่งอัปโหลดราคาต่อหน่วยเก็บข้อมูลสูงที่สุดแต่ค่าธรรมเนียมในการอ่านไฟล์แทบจะเป็นศูนย์
ชั้นเก็บข้อมูลเย็น (Cool): เหมาะสำหรับการเข้าถึงความถี่ต่ำ (เช่นไม่เกินหนึ่งครั้งภายใน30วัน) แต่ต้องอ่านข้อมูลทันทีตัวอย่างเช่นใบเรียกเก็บเงินของเดือนที่แล้วการสำรองข้อมูลระยะสั้นราคาต่อหน่วยของพื้นที่จัดเก็บลดลงอย่างมากแต่จะมีการเรียกเก็บ "ค่าธรรมเนียมขาออก" เล็กน้อยเมื่ออ่าน
ที่เก็บถาวร: เหมาะสำหรับข้อมูลที่ตายแล้วซึ่งมีการเข้าถึงน้อยมาก (เดือนหรือปีละครั้ง) และอนุญาตให้ล่าช้าเป็นเวลาหลายชั่วโมงเช่นบันทึกการตรวจสอบการปฏิบัติตามข้อกำหนดภาพทางการแพทย์ในอดีตราคาการจัดเก็บถูกมากจนเล็กน้อยแต่ในการลบไฟล์ออก (rehydrate/rehydrate) คุณต้องรอสองสามชั่วโมงในการละลาย
2.แบบฝึกหัดการต่อสู้จริง: ใช้ "การจัดการวงจรชีวิต" เพื่อประหยัดเงินโดยอัตโนมัติโดยไม่ต้องดูแล
หากคุณถูกขอให้สลับระดับของไฟล์หลายพันไฟล์ด้วยตนเองคุณต้องทำงานล่วงเวลาจนถึงรุ่งสาง Azure ให้
"การจัดการวงจรชีวิต (Lifecycle Management)"
ฟังก์ชั่นคุณจะต้องตั้งกฎเท่านั้นส่วนที่เหลือจะถูกส่งไปยังระบบเพื่อดำเนินการโดยอัตโนมัติ
1.กำหนดเป้าหมายฉาก
เรามีไฟล์บันทึกระบบจำนวนหนึ่งซึ่งนักพัฒนาจำเป็นต้องตรวจสอบบ่อยๆภายใน7วันหลังจากสร้างขึ้นโดยทั่วไปไม่มีใครดูหลังจากผ่านไป7วันแต่จำเป็นต้องเก็บไว้เพื่อใช้อ้างอิงในอนาคตหลังจากผ่านไป180วันข้อมูลดังกล่าวจะลดลงอย่างสมบูรณ์และจะต้องถูกเก็บไว้เป็นเวลา7ปีเพื่อลบ
2.ขั้นตอนการกำหนดค่า
เข้าสู่ระบบ Azu
Re พอร์ทัลเข้าสู่บัญชีเก็บข้อมูลของคุณ (Storage Account)
ค้นหาและคลิก "การจัดการวงจรชีวิต" ในแถบเมนูด้านซ้าย-> "เพิ่มกฎ (เพิ่มกฎ)"
ข้อมูลพื้นฐาน: ตั้งชื่อกฎเช่น Log_Optimization_Rule ช่วงกฎเลือก "ใช้กฎข้อจำกัดตัวกรอง" (ซึ่งสามารถใช้ได้กับโฟลเดอร์บันทึกเท่านั้นโดยไม่ทำร้ายข้อมูลอื่นโดยไม่ได้ตั้งใจ)
การกำหนดค่าชุดกฎ (IF/THEN Logic): ขั้นตอนที่1 (เปลี่ยนเป็นการจัดเก็บข้อมูลที่เย็น): ถ้าฐาน blob คือการแก้ไขครั้งล่าสุดมากกว่า (วัน) -> อินพุต7。จากนั้นดำเนินการ-> ย้ายไปที่การจัดเก็บเย็นขั้นตอนที่2 (แปลงเป็นที่เก็บถาวร): คลิกเพิ่มเงื่อนไขถ้าฐาน blob คือการแก้ไขครั้งล่าสุดมากกว่า (วัน) -> ใส่180。จากนั้นดำเนินการ-> ย้ายไปยังที่เก็บถาวรขั้นตอนที่3 (การกำจัดอัตโนมัติ): ถ้าฐาน blob คือการแก้ไขครั้งล่าสุดมากกว่า (วัน) -> เข้าสู่2555(7ปี) จากนั้นดำเนินการ-> ลบ blob 。
ชุดตัวกรอง: ป้อนเส้นทางโฟลเดอร์บันทึกของคุณในการจับคู่คำนำหน้าเช่น logs/ ซึ่งหมายความว่ากฎจะมีผลกับไฟล์ภายใต้โฟลเดอร์ logs เท่านั้น
คลิกบันทึกตอนนี้บัญชีที่เก็บข้อมูลของคุณมี "ผู้จัดการการเงิน" ในตัวซึ่งจะย้ายไฟล์เก่าไปยังลิ้นชักราคาถูกโดยอัตโนมัติทุกวันและจะถูกบดขยี้โดยอัตโนมัติเมื่อหมดอายุและเส้นโค้งการเรียกเก็บเงินจะราบรื่นทันที
3.ขั้นตอนที่สอง: ดึงแนวป้องกันความปลอดภัย-ทำไมไม่ใช้ "การเข้าถึงสาธารณะ"?
สามเณรหลายคนต้องการให้ส่วนหน้าใช้งานได้โดยตรง
<Img src = "...">
แท็กแสดงรูปภาพรูปภาพช่วยประหยัดปัญหาและตั้งค่าระดับการเข้าถึงของคอนเทนเนอร์ Blob (Container) เป็น
"สาธารณะ (Public)"
。
ซึ่งเทียบเท่ากับการเปิดประตูคลังสินค้าของคุณโดยตรงบนอินเทอร์เน็ตใครก็ตามที่ได้รับ URL นี้สามารถเรียกและดาวน์โหลดได้อย่างบ้าคลั่งหรือใช้โปรแกรมรวบรวมข้อมูลแบบมัลติเธรดเพื่อลบไฟล์ทั้งหมดของคุณ
คุณไม่เพียงแต่เปิดเผยความเป็นส่วนตัวของข้อมูลเท่านั้นแต่คุณยังได้รับการแจ้งเตือนการค้างชำระทางดาราศาสตร์เนื่องจากการจราจรที่ลดลงอย่างกะทันหัน (Egress)
แนวทางปฏิบัติที่ดีที่สุดสำหรับสภาพแวดล้อมการผลิต: คอนเทนเนอร์จะถูกเก็บไว้ "ส่วนตัว" เสมอและให้สิทธิ์การเข้าถึงที่ควบคุมชั่วคราวผ่าน SAS (ลายเซ็นการเข้าถึงที่ใช้ร่วมกัน) เท่านั้น
ประการที่สี่การป้องกันหลัก: กำหนดค่าโซ่ป้องกันการโจรกรรม SAS (ลายเซ็นการเข้าถึงที่ใช้ร่วมกัน)
SAS(Shared Access Signature)
หลักการคือการเพิ่มสตริงของโทเค็นการเข้ารหัส (โทเค็น) หลัง URL ไฟล์ส่วนตัวดั้งเดิมโทเค็นนี้กำหนด
ใครสามารถเข้าถึงไฟล์นี้ได้ในช่วงเวลาใดสิทธิ์ใดและ IP ใด
ลิงค์ส่วนตัวเดิม: htps:// m
Ystorage.blob.core.windows.net/media/cat.jpg (เข้าถึงโดยตรงไปยังหนังสือพิมพ์404/403)
▼ หลังจากเพิ่มโทเค็น SAS
ลิงค์ป้องกันการโจรกรรม: https://mystorage.blob.core.windows.net/media/cat.jpg? Sv = 2021-08-06 & ss = b & srt = o & sp = r & se = 2026-06-05T08:00:00Z & sip = 203.0.113.50 & sig = xxxx...
▲▲▲
(เวลาหมดอายุ)
1.การต่อสู้จริง: สร้างโทเค็น SAS ด้วยข้อจำกัดด้านความปลอดภัย
หากคุณต้องการสร้างลิงก์ป้องกันการโจรกรรมนี้แบบไดนามิกในโค้ดพื้นหลังหรือสร้างลิงก์ให้กับลูกค้าชั่วคราวด้วยตนเองคุณสามารถกำหนดค่าได้ในพอร์ทัล Azure:
ป้อนคอนเทนเนอร์ Blob ที่เกี่ยวข้องตรวจสอบไฟล์ส่วนตัวแล้วคลิกแท็บ "สร้าง SAS (สร้าง SAS)"
สิทธิ์การเข้าถึง (Permissions): ติ๊ก "อ่าน" เท่านั้นอย่าให้สิทธิ์ในการเขียนหรือลบเพื่อป้องกันไม่ให้ไฟล์ถูกดัดแปลงโดยมีเจตนาร้าย
วันหมดอายุ (Expiry): กำหนดเวลาหมดอายุที่สั้นมากหากหน้าเว็บแสดงรูปภาพหรือดาวน์โหลดไฟล์แนบการตั้งค่า15นาทีถึง1ชั่วโมงก็เพียงพอแล้วเมื่อเกินเวลานี้ลิงก์จะไม่ถูกต้องโดยอัตโนมัติ
ที่อยู่ IP ที่อนุญาต (Allowed IP addresses): * ฉากความปลอดภัยสูง (ห่วงโซ่ป้องกันการโจรกรรม): กรอก IP สาธารณะของเซิร์ฟเวอร์ส่วนหน้าของคุณหรือ IP ส่งออกเฉพาะของผู้ใช้ด้วยวิธีนี้แม้ว่าคนอื่นจะคัดลอกลิงก์นี้ด้วย SAS และส่งให้คนอื่นๆในกลุ่ม WeChat แต่คนอื่นๆก็เป็นเพราะ
IP ไม่ตรงกันและไม่สามารถเปิดได้เลย
โปรโตคอลที่อนุญาต: บังคับล็อค "HTTPS เท่านั้น"
คลิกที่ "สร้างโทเค็น SAS และ URL" และคุณจะได้รับการเชื่อมต่อที่ยาวนานแจกจ่ายให้ปลอดภัยและไร้กังวล
2.สถาปัตยกรรมขั้นสูง: ส่วนหลังสร้างกระบวนการ SAS แบบไดนามิก
ในระบบอัตโนมัติจริงตรรกะของผู้ใช้ส่วนหน้าเมื่อเข้าถึงหน้าเว็บควรเป็นดังนี้:
ผู้ใช้ลงชื่อเข้าใช้แอพของคุณและขอดูใบแจ้งหนี้ส่วนตัว
แบ็กเอนด์ธุรกิจของคุณ (เช่นบริการ Java/Python/Node.js) ได้รับการร้องขอให้ตรวจสอบว่าผู้ใช้มีสิทธิ์ในการดู
Azure SDK ถูกเรียกโดยแบ็คเอนด์และ URL SAS แบบอ่านอย่างเดียวจะถูกสร้างขึ้นแบบไดนามิกในหน่วยความจำโดยมีระยะเวลาการใช้งานเพียง5นาที
ส่วนหลังจะส่งคืน URL ชั่วคราวนี้ไปยังส่วนหน้าและส่วนหน้าจะโหลดอย่างปลอดภัยภายใน5นาทีผ่านเบราว์เซอร์
ห้านาทีต่อมาลิงก์ดังกล่าวกลายเป็นเศษกระดาษบนอินเทอร์เน็ตและไม่มีประโยชน์สำหรับแฮกเกอร์ที่จะนำมันไปเผยแพร่อีก
5.แพทช์ป้องกันการโจรกรรมและห่วงโซ่ขั้นสูง: รวมกับ Azure CDN
แม้ว่า SAS จะสามารถแก้ปัญหาการตรวจสอบสิทธิ์และความตรงเวลาได้อย่างสมบูรณ์แบบแต่หากไฟล์ของคุณเป็นวิดีโอสาธารณะสำหรับผู้ใช้จำนวนมากทั่วโลก (ไม่สามารถจำกัด IP ของผู้ใช้ได้) SAS เพียงอย่างเดียวอาจยังคงถูกกวาดโดยการรับส่งข้อมูลพร้อมกันสูง
สถาปัตยกรรมที่ดีที่สุดในเวลานี้คือ:
ตั้งค่าที่เก็บข้อมูล Blob เป็นแบบส่วนตัวและปิดกั้นชั้นของ Azure CDN (เครือข่ายการกระจายเนื้อหา) หรือ Azure Front Door ไว้ด้านหน้า
การบีบอัดแคช CDN: คำขอซ้ำๆของผู้ใช้จะกระทบโหนดขอบ CDN โดยตรงและการเข้าชมจะไม่กลับไปที่ Blob และค่าใช้จ่ายจะลดลง90%
ลิงก์ป้องกันการโจรกรรมชื่อโดเมน CDN (ข้อจำกัดด้านการป้องกันการโจรกรรม): เปิด "การตรวจสอบระยะเวลาอ้างอิง" (การตรวจสอบระยะเวลาอ้างอิง) ที่เลเยอร์ CDN โดยกำหนดว่าอนุญาตให้ส่งคำขอจากชื่อโดเมนเว็บไซต์ของคุณเองเท่านั้น (เช่น https://www.mywebsite.com) และบีบคอแฮ็กเกอร์ที่ผิดกฎหมายโดยตรงในบรรทัดด้านนอกสุดการอ้างอิงลิงก์ภายนอก
สรุป
การจัดการไฟล์จำนวนมากไม่เคยง่ายเหมือนการ "โยนเข้า"
ด้วยการจัดการวงจรชีวิตคุณปล่อยให้ข้อมูลเรียนรู้ "การเผาผลาญ" ทิ้งที่เก็บความร้อนราคาแพงไว้ให้กับธุรกิจหลักโยนบัญชีเก่าลงในชั้นเก็บถาวรที่แช่แข็งและประหยัดเงินด้วยท่าทางที่สง่างามที่สุด
ด้วยการใช้โทเค็น SAS ระยะสั้นแบบไดนามิกของคอนเทนเนอร์ส่วนตัวคุณจะติดตั้งคีย์พิเศษพร้อมระเบิดเวลาในแต่ละไฟล์ซึ่งเป็นการอำลาฝันร้ายของการถูกขโมยข้อมูลที่เป็นอันตราย
การรวมการกำหนดค่าทั้งสองนี้เข้ากับการออกแบบระบบของคุณสถาปัตยกรรมการจัดเก็บข้อมูลบนคลาวด์ของคุณจะถือว่าฉลาดและทรงพลังอย่างแท้จริง
