กลับไปหน้าบทความ

อ่าน 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 มีสถาปัตยกรรมที่แนะนำดังต่อไปนี้:

  1. PEP หรือ Policy Enforcement Point คือส่วนที่รับผิดชอบในการปกป้องแอปพลิเคชันและข้อมูลที่คุณต้องการใช้ ABAC PEP จะตรวจสอบคำขอและสร้างคำขออนุญาต จากนั้นจึงส่งคำขออนุญาตนั้นไปยัง PDP
  2. PDP หรือ Policy Decision Point คือสมองของสถาปัตยกรรมระบบ ส่วนนี้จะประเมินคำขอที่เข้ามาเทียบกับนโยบายที่ได้กำหนดค่าไว้ PDP จะส่งคืนการตัดสินใจอนุญาต/ปฏิเสธ นอกจากนี้ PDP อาจใช้ PIPs เพื่อดึงข้อมูลเมตาที่ขาดหายไป
  3. PIP หรือ Policy Information Point ทำหน้าที่เชื่อมโยง PDP กับแหล่งข้อมูลคุณลักษณะภายนอก เช่น LDAP หรือฐานข้อมูลต่างๆ

คุณลักษณะ

คุณลักษณะต่างๆ สามารถเกี่ยวกับอะไรก็ได้และใครก็ได้ โดยทั่วไปแล้วจะแบ่งออกได้เป็น 4 ประเภทหลักๆ ดังนี้:

  1. คุณลักษณะของผู้ใช้งาน: คุณลักษณะที่อธิบายถึงผู้ใช้งานที่พยายามเข้าถึงข้อมูล เช่น อายุ การอนุมัติ แผนก บทบาท ตำแหน่งงาน
  2. คุณลักษณะของการกระทำ: คุณลักษณะที่อธิบายการกระทำที่กำลังพยายามทำ เช่น อ่าน ลบ ดู อนุมัติ
  3. คุณลักษณะของวัตถุ: คุณลักษณะที่อธิบายถึงวัตถุ (หรือทรัพยากร) ที่กำลังเข้าถึง เช่น ประเภทของวัตถุ (เวชระเบียน บัญชีธนาคาร) แผนก การจำแนกประเภทหรือระดับความละเอียดอ่อน สถานที่ตั้ง
  4. คุณลักษณะตามบริบท (สภาพแวดล้อม): คุณลักษณะที่เกี่ยวข้องกับเวลา สถานที่ หรือลักษณะไดนามิกของสถานการณ์การควบคุมการเข้าถึง[ 7 ]

นโยบาย

นโยบายคือข้อความที่รวบรวมคุณลักษณะต่างๆ เพื่อแสดงถึงสิ่งที่สามารถเกิดขึ้นได้และสิ่งที่ไม่ได้รับอนุญาต นโยบายในระบบ ABAC อาจเป็นนโยบายอนุญาตหรือนโยบายปฏิเสธ นโยบายยังสามารถเป็นนโยบายระดับท้องถิ่นหรือระดับสากล และสามารถเขียนในลักษณะที่สามารถแทนที่นโยบายอื่นๆ ได้ ตัวอย่างเช่น:

  1. ผู้ใช้สามารถดูเอกสารได้หากเอกสารนั้นอยู่ในแผนกเดียวกับผู้ใช้
  2. ผู้ใช้สามารถแก้ไขเอกสารได้หากเป็นเจ้าของเอกสารและเอกสารอยู่ในโหมดร่าง
  3. ห้ามเข้าใช้งานก่อน 9 โมงเช้า

ด้วย ABAC คุณสามารถมีนโยบายได้ไม่จำกัดจำนวนซึ่งรองรับสถานการณ์และเทคโนโลยีต่างๆ ได้มากมาย[ 7 ]

รุ่นอื่นๆ

ในอดีต รูปแบบการควบคุมการเข้าถึงประกอบด้วยการควบคุมการเข้าถึงแบบบังคับ (MAC) การควบคุมการเข้าถึงแบบเลือกได้ (DAC) และล่าสุดคือการควบคุมการเข้าถึงตามบทบาท (RBAC) รูปแบบการควบคุมการเข้าถึงเหล่านี้เน้นที่ผู้ใช้เป็นหลัก และไม่ได้คำนึงถึงพารามิเตอร์เพิ่มเติม เช่น ข้อมูลทรัพยากร ความสัมพันธ์ระหว่างผู้ใช้ (ผู้ร้องขอ) กับทรัพยากร และข้อมูลแบบไดนามิก เช่น เวลาของวัน หรือ IP ของผู้ใช้

ABAC พยายามแก้ไขปัญหานี้โดยกำหนดการควบคุมการเข้าถึงโดยอิงจากคุณลักษณะที่อธิบายถึงผู้ร้องขอ (ผู้ใช้) วัตถุหรือทรัพยากรเป้าหมาย การกระทำที่ต้องการ (ดู แก้ไข ลบ) และข้อมูลสภาพแวดล้อมหรือบริบท นี่คือเหตุผลที่การควบคุมการเข้าถึงเรียกว่าเป็นการควบคุมโดยอิงจากคุณลักษณะ

การนำไปใช้

ระบบ ABAC มีการใช้งานหลักๆ อยู่ 3 รูปแบบ ได้แก่:

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 ผู้เขียนนโยบายสามารถเขียนได้ดังนี้:

  • นโยบาย : ผู้จัดการสามารถอนุมัติธุรกรรมได้ไม่เกินวงเงินอนุมัติที่กำหนดไว้
  • คุณลักษณะที่ใช้ : บทบาท, ตัวระบุการกระทำ, ประเภทวัตถุ, จำนวน, วงเงินอนุมัติ

ขั้นตอนจะเป็นดังนี้:

  1. ผู้ใช้ชื่ออลิซเรียกใช้เมธอด APIapproveTransaction(123)
  2. API จะรับการเรียกและตรวจสอบสิทธิ์ผู้ใช้
  3. ตัวดักจับใน API จะเรียกไปยังกลไกการอนุญาต (โดยทั่วไปเรียกว่าจุดตัดสินใจเชิงนโยบาย หรือ PDP) และถามว่า: อลิซสามารถอนุมัติธุรกรรม 123 ได้หรือไม่?
  4. PDP จะดึงนโยบาย ABAC และคุณลักษณะที่จำเป็นออกมา
  5. PDP จะตัดสินใจ เช่น อนุญาตหรือปฏิเสธ แล้วส่งผลลัพธ์กลับไปยังตัวดักจับ API
  6. หากผลการตัดสินเป็น "อนุญาต" ระบบ จะเรียกใช้ ตรรกะทางธุรกิจ ของ API ที่อยู่เบื้องหลัง มิฉะนั้น API จะส่งคืนข้อผิดพลาดหรือปฏิเสธการเข้าถึง

ความปลอดภัยของแอปพลิเคชัน

หนึ่งในข้อดีที่สำคัญของ ABAC คือ นโยบายการอนุญาตและคุณลักษณะต่างๆ สามารถกำหนดได้โดยไม่ขึ้นกับเทคโนโลยีใดๆ หมายความว่า นโยบายที่กำหนดไว้สำหรับ API หรือฐานข้อมูล สามารถนำมาใช้ซ้ำในพื้นที่แอปพลิเคชันได้ แอปพลิเคชันทั่วไปที่ได้รับประโยชน์จาก ABAC ได้แก่:

  1. ระบบจัดการเนื้อหา (CMS)
  2. ระบบวางแผนทรัพยากรองค์กร (ERP)
  3. แอปพลิเคชันที่พัฒนาขึ้นเองภายในประเทศ
  4. แอปพลิเคชันบนเว็บ

กระบวนการและขั้นตอนต่างๆ ที่อธิบายไว้ในส่วน 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 เนื่องจากใช้เมตาเดตาของผู้ใช้ (การอ้างสิทธิ์) และของไฟล์/โฟลเดอร์เพื่อควบคุมการเข้าถึง

ดูเพิ่มเติม

  • การควบคุมการเข้าถึงตามคุณลักษณะ (ABAC) - ภาพรวม
  • แบบจำลองการควบคุมการเข้าถึงตามคุณลักษณะแบบรวม (ABAC) ซึ่งครอบคลุม DAC, MAC และ RBAC
  • รูปแบบการควบคุมการเข้าถึงตามคุณลักษณะ (ABAC) และการนำไปใช้ในโครงสร้างพื้นฐานบนคลาวด์ในรูปแบบบริการ (Cloud Infrastructure as a Service)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Attribute-based_access_control&oldid=1358161373 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การควบคุมการเข้าถึงตามคุณลักษณะ

การควบคุมการเข้าถึงตามคุณลักษณะ ( ABAC ) หรือที่รู้จักกันในชื่อ การควบคุมการเข้าถึงตามนโยบาย สำหรับ IAM...

คุณลักษณะ

คุณลักษณะต่างๆ สามารถเกี่ยวกับอะไรก็ได้และใครก็ได้ โดยทั่วไปแล้วจะแบ่งออกได้เป็น 4 ประเภทหลักๆ ดังนี้:

นโยบาย

นโยบายคือข้อความที่รวบรวมคุณลักษณะต่างๆ เพื่อแสดงถึงสิ่งที่สามารถเกิดขึ้นได้และสิ่งที่ไม่ได้รับอนุญาต นโยบายในระบบ ABAC อาจเป็นนโยบายอนุญาตหรือนโยบายปฏิเสธ นโยบายยังสามารถเป็นนโยบายระดับท้องถิ่นหรือระดับสากล และสามารถเขียนในลักษณะที่สามารถแทนที่นโยบายอื่นๆ...

รุ่นอื่นๆ

ในอดีต รูปแบบการควบคุมการเข้าถึงประกอบด้วย การควบคุมการเข้าถึงแบบบังคับ (MAC) การควบคุมการเข้าถึงแบบเลือกได้ (DAC) และล่าสุดคือ การควบคุมการเข้าถึงตามบทบาท (RBAC) รูปแบบการควบคุมการเข้าถึงเหล่านี้เน้นที่ผู้ใช้เป็นหลัก และไม่ได้คำนึงถึงพารามิเตอร์เพิ่มเติม...