Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

มุมมองความเป็นส่วนตัว (Privacy Aspects) ของ SOA ในความปลอดภัยข้อมูลมี那些?

สถาปัตยกรรมแบบบริการ 지향 (Service-Oriented Architecture - SOA) เป็นวิธีการออกแบบซอฟต์แวร์เพื่อให้บริการแก่แอปพลิเคชัน หรือบริการอื่นๆ ผ่านอินเทอร์เฟซที่เผยแพร่และค้นพบได้ แต่ละบริการให้ชุดฟังก์ชันทางธุรกิจที่เป็นอิสระ (Discrete Chunk) โดยโมเดลการสื่อสารที่ขึ้นอยู่กับข้อความ (Message-dependent) แบบคลายตัว (Loosely Coupled) (โดยปกติเป็นแบบอะซิงโครนัส)

การออกแบบโซลูชันซอฟต์แวร์คุณภาพสูง รวมถึงโครงสร้างซับซ้อนอื่นๆ ต้องการการตัดสินใจทางสถาปัตยกรรมตั้งแต่ต้นที่ได้รับความช่วยเหลือจากวิธีการออกแบบ โครงสร้าง และสไตล์ที่เข้าใจดี รูปแบบเหล่านี้ตอบสนองความกังวลทั่วไปของบริการ เช่น ความสามารถในการขยาย (Scalability) ความน่าเชื่อถือ (Reliability) และความปลอดภัย (Security)

มีมุมมองของสถาปัตยกรรมแบบบริการ 지향 ดังนี้:

โมเดลสถาปัตยกรรม vs โมเดลการดำเนินการ (Architectural versus Implementation Models)

เมื่อผู้เชี่ยวชาญ IT พัฒนาแอปพลิเคชันโดยใช้เว็บเซอร์วิส พวกเขามักพบว่าตัวเองอยู่ในตำแหน่งที่ต้องเร่งร้อนความเข้าใจทั้งโมเดลสถาปัตยกรรม (SOA) และโมเดลการดำเนินการ (Web Services) พร้อมกัน

สิ่งนี้พิจารณาการใช้วิธีการ Model Driven Architecture ที่ระมัดระวังหลีกเลี่ยงการผสมผสานโมเดลที่ไม่ขึ้นกับแพลตฟอร์มของโครงสร้างและพฤติกรรมของแอปพลิเคชันกับวิธีการและแพลตฟอร์มที่ใช้เพื่อดำเนินการพฤติกรรมที่สร้างแบบจำลองนั้น

สถาปนิกระบบใช้ภาษาเฉพาะโดเมน (Domain-specific Languages) หรือโปรไฟล์สำหรับ Unified Modeling Language (UML) เพื่อสร้างแบบจำลองปัญหาของโดเมนบริการ หลักการที่กำหนดให้สถาปนิกรักษาปัญหาแพลตฟอร์มและภาษานอกโมเดลนี้ ยังกำหนดให้เก็บปัญหาความปลอดภัยเฉพาะการดำเนินการ (Implementation-specific Security Issues) ไว้นอกโมเดลเช่นกัน

การพิจารณาปัญหาความปลอดภัยซ้ำ (Revisiting Security Concerns)

ทีมที่พัฒนาฝูงครอบครัวมาตรฐาน B2B ของ RosettaNet สร้างความกังวลที่คล้ายกับสิ่งที่พูดคุยเพิ่งแล้ว และก้าวแรกสู่การแก้ไขพวกเขา แนวคิดคือการนำเสนอชุดตัวเลือกที่เรียบง่ายให้กับสถาปนิกทางธุรกิจ (Business Architects) ผู้มีส่วนได้ส่วนเสียหลักที่ทีม RosettaNet รวบรวมข้อกำหนดข้อมูลและการประมวลผลจากพวกเขา

สถาปนิกทางธุรกิจเหล่านี้ไม่ได้ถนัดในด้านเทคนิคของปัญหาความปลอดภัย แต่พวกเขาสามารถเปรียบเทียบข้อมูลที่ต้องส่งผ่านอย่างปลอดภัยจากข้อมูลที่สามารถส่งได้โดยไม่มีมาตรการความปลอดภัย

การทั่วไปของปัญหาความปลอดภัย (Generalization of Security Issues)

มีข้อความบนปัญหาความปลอดภัยซอฟต์แวร์ทั่วไป และอีกมากมายบนการดำเนินการและเทคโนโลยีความปลอดภัยเฉพาะ อย่างไรก็ตาม สามารถตอบสนองเจตนาพื้นฐานที่ขับเคลื่อนการดำเนินการทางเทคนิคที่เกี่ยวข้องกับความปลอดภัยได้ โดยเฉพาะ สามารถกำหนดชุดเจตนาพื้นฐานที่อธิบายได้ซึ่งเข้าใจง่าย และสามารถเข้าถึงเพื่อระบุการดำเนินการทางเทคนิคเฉพาะได้

ในมุมมองของการดำเนินการ มีสองวิธีหลักสำหรับการอนุญาต (Authorization) ดังนี้:

  • การอนุญาตฝ่ายบุคคล (Authorization of Individual Parties): แต่ละฝ่ายสามารถจัดสรรชุดสิทธิ์การเข้าถึงที่ชัดเจนให้กับฟังก์ชัน

  • การอนุญาตผ่านบทบาท (Authorization through Roles): บทบาทหลายอย่างสามารถสร้างขึ้นสำหรับแต่ละแอปพลิเคชัน และสิทธิ์การเข้าถึงจัดสรรตามที่กำหนดข้างต้นให้กับบทบาทเหล่านั้นแทนที่จะเป็นฝ่ายบุคคล เมื่อแต่ละฝ่ายได้รับการยืนยันตัวตน ข้อมูลประจำตัวที่ให้มาสำหรับฝ่ายนั้นจะรวมถึงบทบาทของฝ่ายนั้น ซึ่งจะระบุว่าฝ่ายนั้นได้รับอนุญาตให้เข้าถึงฟังก์ชันเฉพาะหรือไม่