อ่าน 4 นาที
การควบคุมการเข้าถึงตามคุณลักษณะ
การควบคุมการเข้าถึงตามคุณลักษณะ ( ABAC ) หรือที่รู้จักกันในชื่อ การควบคุมการเข้าถึงตามนโยบาย สำหรับ IAM...
การควบคุมการเข้าถึงตามคุณลักษณะ
การควบคุมการเข้าถึงตามคุณลักษณะ ( ABAC ) หรือที่รู้จักกันในชื่อการควบคุมการเข้าถึงตามนโยบายสำหรับIAMกำหนดรูปแบบการควบคุมการเข้าถึงโดยที่การอนุญาตของบุคคลในการดำเนินการชุดหนึ่งจะถูกกำหนดโดยการประเมินคุณลักษณะที่เกี่ยวข้องกับบุคคล วัตถุ การดำเนินการที่ร้องขอ และในบางกรณี คุณลักษณะของสภาพแวดล้อม[ 1 ]
ABAC เป็นวิธีการนำนโยบายการควบคุมการเข้าถึงไปใช้ซึ่งมีความยืดหยุ่นสูงและสามารถปรับแต่งได้โดยใช้คุณลักษณะที่หลากหลาย ทำให้เหมาะสำหรับการใช้งานในสภาพแวดล้อมแบบกระจายหรือเปลี่ยนแปลงอย่างรวดเร็ว ข้อจำกัดเพียงอย่างเดียวของนโยบายที่สามารถนำไปใช้กับ ABAC ได้คือความสามารถของภาษาการคำนวณและความพร้อมใช้งานของคุณลักษณะที่เกี่ยวข้อง[ 2 ]กฎนโยบาย ABAC ถูกสร้างขึ้นเป็นฟังก์ชันบูลีนของคุณลักษณะของหัวเรื่อง คุณลักษณะของวัตถุ และคุณลักษณะของสภาพแวดล้อม[ 3 ]
แตกต่างจากการควบคุมการเข้าถึงตามบทบาท (RBAC) ซึ่งกำหนดบทบาทที่มาพร้อมกับชุดสิทธิ์เฉพาะที่เกี่ยวข้องกับบทบาทเหล่านั้น และกำหนดให้กับผู้ใช้งานแต่ละราย การควบคุมการเข้าถึงตามบทบาท (ABAC) สามารถแสดงชุดกฎที่ซับซ้อนซึ่งสามารถประเมินคุณลักษณะที่แตกต่างกันได้มากมาย โดยการกำหนดคุณลักษณะของผู้ใช้งานและวัตถุที่สอดคล้องกันลงในนโยบายความปลอดภัย ABAC ช่วยลดความจำเป็นในการอนุญาตอย่างชัดเจนสำหรับผู้ใช้งานแต่ละราย ซึ่งจำเป็นในวิธีการเข้าถึง ที่ไม่ใช่ ABAC จึงช่วยลดความซับซ้อนในการจัดการรายการและกลุ่มการเข้าถึง
ค่าของแอตทริบิวต์สามารถเป็นได้ทั้งแบบชุดค่าหรือแบบค่าอะตอม แอตทริบิวต์แบบชุดค่าจะมีค่าอะตอมมากกว่าหนึ่งค่า ตัวอย่างเช่นบทบาทและโครงการแอตทริบิวต์แบบค่าอะตอมจะมีค่าอะตอมเพียงค่าเดียว ตัวอย่างเช่นการอนุญาตและความไวแอตทริบิวต์สามารถเปรียบเทียบกับค่าคงที่หรือเปรียบเทียบกันเองได้ ซึ่งทำให้สามารถควบคุมการเข้าถึงตามความสัมพันธ์ได้
แม้ว่าแนวคิดนี้จะมีมานานหลายปีแล้ว แต่ ABAC ถือเป็นรูปแบบการอนุญาต "รุ่นใหม่" เนื่องจากให้การควบคุมการเข้าถึงทรัพยากรแบบไดนามิก คำนึงถึงบริบท และชาญฉลาดด้านความเสี่ยง ทำให้สามารถกำหนดนโยบายการควบคุมการเข้าถึงที่รวมคุณลักษณะเฉพาะจากระบบสารสนเทศต่างๆ มากมาย เพื่อแก้ไขปัญหาการอนุญาตและบรรลุการปฏิบัติตามกฎระเบียบอย่างมีประสิทธิภาพ ช่วยให้องค์กรมีความยืดหยุ่นในการนำไปใช้ตามโครงสร้างพื้นฐานที่มีอยู่
การควบคุมการเข้าถึงตามคุณลักษณะบางครั้งเรียกว่าการควบคุมการเข้าถึงตามนโยบาย ( PBAC ) หรือการควบคุมการเข้าถึงตามการอ้างสิทธิ์ ( CBAC ) ซึ่งเป็น คำเฉพาะของ Microsoft มาตรฐานหลักที่ใช้ ABAC คือXACMLและALFA (XACML) [ 4 ]
มิติของการควบคุมการเข้าถึงตามคุณลักษณะ
ABAC สามารถมองได้ดังนี้:
- การจัดการการอนุญาตภายนอก[ 5 ]
- การจัดการการอนุญาตแบบไดนามิก[ 6 ]
- การควบคุมการเข้าถึงตามนโยบาย
- การอนุญาตแบบละเอียด
ส่วนประกอบ
สถาปัตยกรรม
ABAC มีสถาปัตยกรรมที่แนะนำดังต่อไปนี้:
- PEP หรือ Policy Enforcement Point คือส่วนที่รับผิดชอบในการปกป้องแอปพลิเคชันและข้อมูลที่คุณต้องการใช้ ABAC PEP จะตรวจสอบคำขอและสร้างคำขออนุญาต จากนั้นจึงส่งคำขออนุญาตนั้นไปยัง PDP
- PDP หรือ Policy Decision Point คือสมองของสถาปัตยกรรมระบบ ส่วนนี้จะประเมินคำขอที่เข้ามาเทียบกับนโยบายที่ได้กำหนดค่าไว้ PDP จะส่งคืนการตัดสินใจอนุญาต/ปฏิเสธ นอกจากนี้ PDP อาจใช้ PIPs เพื่อดึงข้อมูลเมตาที่ขาดหายไป
- PIP หรือ Policy Information Point ทำหน้าที่เชื่อมโยง PDP กับแหล่งข้อมูลคุณลักษณะภายนอก เช่น LDAP หรือฐานข้อมูลต่างๆ
คุณลักษณะ
คุณลักษณะต่างๆ สามารถเกี่ยวกับอะไรก็ได้และใครก็ได้ โดยทั่วไปแล้วจะแบ่งออกได้เป็น 4 ประเภทหลักๆ ดังนี้:
- คุณลักษณะของผู้ใช้งาน: คุณลักษณะที่อธิบายถึงผู้ใช้งานที่พยายามเข้าถึงข้อมูล เช่น อายุ การอนุมัติ แผนก บทบาท ตำแหน่งงาน
- คุณลักษณะของการกระทำ: คุณลักษณะที่อธิบายการกระทำที่กำลังพยายามทำ เช่น อ่าน ลบ ดู อนุมัติ
- คุณลักษณะของวัตถุ: คุณลักษณะที่อธิบายถึงวัตถุ (หรือทรัพยากร) ที่กำลังเข้าถึง เช่น ประเภทของวัตถุ (เวชระเบียน บัญชีธนาคาร) แผนก การจำแนกประเภทหรือระดับความละเอียดอ่อน สถานที่ตั้ง
- คุณลักษณะตามบริบท (สภาพแวดล้อม): คุณลักษณะที่เกี่ยวข้องกับเวลา สถานที่ หรือลักษณะไดนามิกของสถานการณ์การควบคุมการเข้าถึง[ 7 ]
นโยบาย
นโยบายคือข้อความที่รวบรวมคุณลักษณะต่างๆ เพื่อแสดงถึงสิ่งที่สามารถเกิดขึ้นได้และสิ่งที่ไม่ได้รับอนุญาต นโยบายในระบบ ABAC อาจเป็นนโยบายอนุญาตหรือนโยบายปฏิเสธ นโยบายยังสามารถเป็นนโยบายระดับท้องถิ่นหรือระดับสากล และสามารถเขียนในลักษณะที่สามารถแทนที่นโยบายอื่นๆ ได้ ตัวอย่างเช่น:
- ผู้ใช้สามารถดูเอกสารได้หากเอกสารนั้นอยู่ในแผนกเดียวกับผู้ใช้
- ผู้ใช้สามารถแก้ไขเอกสารได้หากเป็นเจ้าของเอกสารและเอกสารอยู่ในโหมดร่าง
- ห้ามเข้าใช้งานก่อน 9 โมงเช้า
ด้วย ABAC คุณสามารถมีนโยบายได้ไม่จำกัดจำนวนซึ่งรองรับสถานการณ์และเทคโนโลยีต่างๆ ได้มากมาย[ 7 ]
รุ่นอื่นๆ
ในอดีต รูปแบบการควบคุมการเข้าถึงประกอบด้วยการควบคุมการเข้าถึงแบบบังคับ (MAC) การควบคุมการเข้าถึงแบบเลือกได้ (DAC) และล่าสุดคือการควบคุมการเข้าถึงตามบทบาท (RBAC) รูปแบบการควบคุมการเข้าถึงเหล่านี้เน้นที่ผู้ใช้เป็นหลัก และไม่ได้คำนึงถึงพารามิเตอร์เพิ่มเติม เช่น ข้อมูลทรัพยากร ความสัมพันธ์ระหว่างผู้ใช้ (ผู้ร้องขอ) กับทรัพยากร และข้อมูลแบบไดนามิก เช่น เวลาของวัน หรือ IP ของผู้ใช้
ABAC พยายามแก้ไขปัญหานี้โดยกำหนดการควบคุมการเข้าถึงโดยอิงจากคุณลักษณะที่อธิบายถึงผู้ร้องขอ (ผู้ใช้) วัตถุหรือทรัพยากรเป้าหมาย การกระทำที่ต้องการ (ดู แก้ไข ลบ) และข้อมูลสภาพแวดล้อมหรือบริบท นี่คือเหตุผลที่การควบคุมการเข้าถึงเรียกว่าเป็นการควบคุมโดยอิงจากคุณลักษณะ
การนำไปใช้
ระบบ ABAC มีการใช้งานหลักๆ อยู่ 3 รูปแบบ ได้แก่:
- โอเอซิส XACML
- ภาษาย่อสำหรับการอนุญาต (ALFA )
- ระบบควบคุมการเข้าถึงรุ่นใหม่ (NGAC) ของNIST
XACMLหรือ eXtensible Access Control Markup Language กำหนดสถาปัตยกรรม (ร่วมกับ ALFA และ NGAC) ภาษาสำหรับนโยบาย และรูปแบบการร้องขอ/ตอบสนอง แต่ไม่ได้จัดการการจัดการแอตทริบิวต์ (การกำหนดแอตทริบิวต์ผู้ใช้ การกำหนดแอตทริบิวต์วัตถุ การกำหนดแอตทริบิวต์สภาพแวดล้อม) ซึ่งเป็นหน้าที่ของ เครื่องมือ IAM แบบดั้งเดิม ฐานข้อมูล และไดเร็กทอรี
บริษัทต่างๆ รวมถึงทุกหน่วยงานในกองทัพสหรัฐฯ ได้เริ่มใช้ ABAC แล้ว ในระดับพื้นฐาน ABAC จะปกป้องข้อมูลด้วยกฎ 'IF/THEN/AND' แทนที่จะกำหนดข้อมูลให้กับผู้ใช้ กระทรวงพาณิชย์ของสหรัฐฯ ได้กำหนดให้เป็นแนวปฏิบัติที่บังคับใช้ และการนำไปใช้กำลังแพร่หลายไปทั่วหน่วยงานภาครัฐและกองทัพหลายแห่ง[ 8 ]
แอปพลิเคชัน
แนวคิดของ ABAC สามารถนำไปประยุกต์ใช้ได้ในทุกระดับของเทคโนโลยีและโครงสร้างพื้นฐานขององค์กร ตัวอย่างเช่น ABAC สามารถใช้ได้ที่ไฟร์วอลล์ เซิร์ฟเวอร์ แอปพลิเคชัน ฐานข้อมูล และเลเยอร์ข้อมูล การใช้แอตทริบิวต์จะเพิ่มบริบทเพิ่มเติมเพื่อประเมินความถูกต้องของคำขอเข้าถึงใดๆ และช่วยในการตัดสินใจว่าจะอนุญาตหรือปฏิเสธการเข้าถึง
สิ่งสำคัญที่ควรพิจารณาเมื่อประเมินโซลูชัน ABAC คือการทำความเข้าใจถึงภาระงานที่อาจเกิดขึ้นต่อประสิทธิภาพและผลกระทบต่อประสบการณ์ของผู้ใช้ โดยทั่วไปแล้ว ยิ่งการควบคุมมีความละเอียดมากเท่าใด ภาระงานก็จะยิ่งสูงขึ้นเท่านั้น
ความปลอดภัยของ API และไมโครเซอร์วิส
ABAC สามารถใช้เพื่อกำหนดสิทธิ์การเข้าถึงแบบละเอียดตามคุณลักษณะให้กับเมธอดหรือฟังก์ชันของ API ได้ ตัวอย่างเช่น API ของธนาคารอาจเปิดเผยเมธอดหนึ่ง และapproveTransaction(transId)ABAC สามารถใช้เพื่อรักษาความปลอดภัยในการเรียกใช้เมธอดนั้นได้ ด้วย ABAC ผู้เขียนนโยบายสามารถเขียนได้ดังนี้:
- นโยบาย : ผู้จัดการสามารถอนุมัติธุรกรรมได้ไม่เกินวงเงินอนุมัติที่กำหนดไว้
- คุณลักษณะที่ใช้ : บทบาท, ตัวระบุการกระทำ, ประเภทวัตถุ, จำนวน, วงเงินอนุมัติ
ขั้นตอนจะเป็นดังนี้:
- ผู้ใช้ชื่ออลิซเรียกใช้เมธอด API
approveTransaction(123) - API จะรับการเรียกและตรวจสอบสิทธิ์ผู้ใช้
- ตัวดักจับใน API จะเรียกไปยังกลไกการอนุญาต (โดยทั่วไปเรียกว่าจุดตัดสินใจเชิงนโยบาย หรือ PDP) และถามว่า: อลิซสามารถอนุมัติธุรกรรม 123 ได้หรือไม่?
- PDP จะดึงนโยบาย ABAC และคุณลักษณะที่จำเป็นออกมา
- PDP จะตัดสินใจ เช่น อนุญาตหรือปฏิเสธ แล้วส่งผลลัพธ์กลับไปยังตัวดักจับ API
- หากผลการตัดสินเป็น "อนุญาต" ระบบ จะเรียกใช้ ตรรกะทางธุรกิจ ของ API ที่อยู่เบื้องหลัง มิฉะนั้น API จะส่งคืนข้อผิดพลาดหรือปฏิเสธการเข้าถึง
ความปลอดภัยของแอปพลิเคชัน
หนึ่งในข้อดีที่สำคัญของ ABAC คือ นโยบายการอนุญาตและคุณลักษณะต่างๆ สามารถกำหนดได้โดยไม่ขึ้นกับเทคโนโลยีใดๆ หมายความว่า นโยบายที่กำหนดไว้สำหรับ API หรือฐานข้อมูล สามารถนำมาใช้ซ้ำในพื้นที่แอปพลิเคชันได้ แอปพลิเคชันทั่วไปที่ได้รับประโยชน์จาก ABAC ได้แก่:
- ระบบจัดการเนื้อหา (CMS)
- ระบบวางแผนทรัพยากรองค์กร (ERP)
- แอปพลิเคชันที่พัฒนาขึ้นเองภายในประเทศ
- แอปพลิเคชันบนเว็บ
กระบวนการและขั้นตอนต่างๆ ที่อธิบายไว้ในส่วน API นั้นใช้ได้กับที่นี่เช่นกัน
ความปลอดภัยของฐานข้อมูล
การรักษาความปลอดภัยของฐานข้อมูลนั้นเป็นเรื่องเฉพาะของผู้จำหน่ายฐานข้อมูลมานานแล้ว เช่น Oracle VPD, IBM FGAC และ Microsoft RLS ซึ่งล้วนเป็นวิธีการเพื่อให้ได้มาซึ่งการรักษาความปลอดภัยแบบ ABAC ที่มีความละเอียดสูง
ตัวอย่างเช่น:
- นโยบาย: ผู้จัดการสามารถดูธุรกรรมในภูมิภาคของตนได้
- ปรับปรุงนโยบายใหม่โดยยึดข้อมูลเป็นศูนย์กลาง: ผู้ใช้ที่มีสิทธิ์
role = managerสามารถดำเนินการได้หาก เงื่อนไขSELECTเป็นไปตามที่กำหนดtable = TRANSACTIONSuser.region = transaction.region
ความปลอดภัยของข้อมูล
โดยทั่วไปแล้ว การรักษาความปลอดภัยของข้อมูลจะก้าวไปอีกขั้นหนึ่งมากกว่าการรักษาความปลอดภัยของฐานข้อมูลและควบคุมโดยตรงกับองค์ประกอบของข้อมูล ซึ่งมักเรียกว่าการรักษาความปลอดภัยแบบเน้นข้อมูลเป็นศูนย์กลาง ในฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม นโยบาย ABAC สามารถควบคุมการเข้าถึงข้อมูลในระดับตาราง คอลัมน์ ฟิลด์ เซลล์ และเซลล์ย่อย โดยใช้การควบคุมเชิงตรรกะพร้อมเงื่อนไขการกรองและการปกปิดตามคุณลักษณะ คุณลักษณะอาจเป็นข้อมูล ผู้ใช้ เซสชัน หรือเครื่องมือ เพื่อให้มีความยืดหยุ่นสูงสุดในการให้/ปฏิเสธการเข้าถึงองค์ประกอบข้อมูลเฉพาะแบบไดนามิก ใน ระบบ ข้อมูลขนาดใหญ่และระบบไฟล์แบบกระจาย เช่น Hadoop การใช้ ABAC ในระดับข้อมูลจะควบคุมการเข้าถึงโฟลเดอร์ โฟลเดอร์ย่อย ไฟล์ ไฟล์ย่อย และระดับที่ละเอียดกว่านั้น
ความปลอดภัยของข้อมูลขนาดใหญ่
การควบคุมการเข้าถึงตามคุณลักษณะยังสามารถนำไปใช้กับระบบ Big Data เช่น Hadoop ได้อีกด้วย สามารถใช้นโยบายที่คล้ายกับที่เคยใช้มาก่อนหน้านี้เมื่อดึงข้อมูลจาก Data Lake [ 9 ] [ 10 ]
ความปลอดภัยของเซิร์ฟเวอร์ไฟล์
ตั้งแต่ Windows Server 2012 เป็นต้นมา Microsoft ได้นำแนวทาง ABAC มาใช้ในการควบคุมการเข้าถึงไฟล์และโฟลเดอร์ ซึ่งทำได้โดยการควบคุมการเข้าถึงแบบไดนามิก (DAC) [ 11 ]และภาษาคำจำกัดความคำอธิบายความปลอดภัย (SDDL) SDDL สามารถมองได้ว่าเป็นภาษา ABAC เนื่องจากใช้เมตาเดตาของผู้ใช้ (การอ้างสิทธิ์) และของไฟล์/โฟลเดอร์เพื่อควบคุมการเข้าถึง
ดูเพิ่มเติม
- รายการควบคุมการเข้าถึง
- การควบคุมการเข้าถึงตามบริบท (CBAC)
- การรักษาความปลอดภัยที่เน้นข้อมูลเป็นศูนย์กลาง
- การควบคุมการเข้าถึงตามดุลยพินิจ (DAC)
- การควบคุมการเข้าถึงแบบกราฟ (GBAC)
- การควบคุมการเข้าถึงแบบอิงโครงสร้างตาข่าย (LBAC)
- การควบคุมการเข้าถึงภาคบังคับ (MAC)
- การควบคุมการเข้าถึงตามบทบาท (RBAC)
- การควบคุมการเข้าถึงตามความสัมพันธ์ (ReBAC)
- การควบคุมการเข้าถึงตามชุดกฎ (RSBAC)
- ความปลอดภัยตามความสามารถ
- การตรวจสอบสิทธิ์ตามความเสี่ยง
- ข้อมูลลับ
- อัตลักษณ์แบบสหพันธ์
- การสร้างเครือข่ายที่ขับเคลื่อนด้วยอัตลักษณ์
- การจัดการข้อมูลประจำตัว
- ระบบจัดการข้อมูลประจำตัว
- โปรโตคอลการเข้าถึงไดเร็กทอรีน้ำหนักเบา
- โอออธ
- ใบอนุญาต
- ภาษามาร์กอัปการยืนยันความปลอดภัย
- บริการโทเค็นความปลอดภัย
- การเข้าสู่ระบบครั้งเดียว
- ซอฟต์แวร์จัดสรรผู้ใช้
- XACML
ลิงก์ภายนอก
- การควบคุมการเข้าถึงตามคุณลักษณะ (ABAC) - ภาพรวม
- แบบจำลองการควบคุมการเข้าถึงตามคุณลักษณะแบบรวม (ABAC) ซึ่งครอบคลุม DAC, MAC และ RBAC
- รูปแบบการควบคุมการเข้าถึงตามคุณลักษณะ (ABAC) และการนำไปใช้ในโครงสร้างพื้นฐานบนคลาวด์ในรูปแบบบริการ (Cloud Infrastructure as a Service)
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การควบคุมการเข้าถึงตามคุณลักษณะ
การควบคุมการเข้าถึงตามคุณลักษณะ ( ABAC ) หรือที่รู้จักกันในชื่อ การควบคุมการเข้าถึงตามนโยบาย สำหรับ IAM...
คุณลักษณะ
คุณลักษณะต่างๆ สามารถเกี่ยวกับอะไรก็ได้และใครก็ได้ โดยทั่วไปแล้วจะแบ่งออกได้เป็น 4 ประเภทหลักๆ ดังนี้:
นโยบาย
นโยบายคือข้อความที่รวบรวมคุณลักษณะต่างๆ เพื่อแสดงถึงสิ่งที่สามารถเกิดขึ้นได้และสิ่งที่ไม่ได้รับอนุญาต นโยบายในระบบ ABAC อาจเป็นนโยบายอนุญาตหรือนโยบายปฏิเสธ นโยบายยังสามารถเป็นนโยบายระดับท้องถิ่นหรือระดับสากล และสามารถเขียนในลักษณะที่สามารถแทนที่นโยบายอื่นๆ...
รุ่นอื่นๆ
ในอดีต รูปแบบการควบคุมการเข้าถึงประกอบด้วย การควบคุมการเข้าถึงแบบบังคับ (MAC) การควบคุมการเข้าถึงแบบเลือกได้ (DAC) และล่าสุดคือ การควบคุมการเข้าถึงตามบทบาท (RBAC) รูปแบบการควบคุมการเข้าถึงเหล่านี้เน้นที่ผู้ใช้เป็นหลัก และไม่ได้คำนึงถึงพารามิเตอร์เพิ่มเติม...