সাধারণ অ্যাট্রিবিউট-ভিত্তিক অ্যাক্সেস কন্ট্রোল (ABAC) বাস্তবায়নের জন্য প্রস্তাবিত রোডম্যাপ কী?


12

এসিএল এবং আরবিএসি সম্পর্কে পড়ার সময় আমি এটিকে সহজেই বুঝতে পারি বলে মনে হয় - এমন কোনও ব্যবহারকারীর নাম বা ভূমিকা আছে যা সম্পদে অ্যাক্সেস দেওয়া হয়। আমি সেগুলি কীভাবে বাস্তবায়ন করতে পারি তাও দেখতে পাচ্ছি।

অর্থাত্ এই চিত্রটি আমার জন্য এসিএল এবং আরবিএসি সম্পর্কে একটি স্পষ্ট দৃষ্টিভঙ্গি দেয় (যেমন আমি উপরের ভিত্তিতে ডেটাবেস টেবিলগুলি ডিজাইন করতে পারি): এখানে চিত্র বর্ণনা লিখুন ( প্রেসবুকের চিত্র সৌজন্যে )

আমি যার সাথে লড়াই করছি তা হ'ল এবাক। আমি এখনও অবধি পাওয়া বিভিন্ন চিত্র হ্যান্ড-ওয়েভই বা অত্যধিক জটিল বা তৃতীয় পক্ষের বাহ্যিক সত্ত্বাকে অনুমোদনের পরামর্শ দেয়। বা অদ্ভুত বৈশিষ্ট্যের উদাহরণ দিন আমি কীভাবে ব্যবহার করব তা পুরোপুরি নিশ্চিত নই।

সূচনা উদাহরণ

সুতরাং আসল জীবনের কিছু দিয়ে আমাকে শুরু করুন। বলুন আমার 70-200 জনের সাথে একটি সংস্থা রয়েছে। এবং সুরক্ষার জন্য আমার সম্পদ অনেকগুলি বিভিন্ন পৃষ্ঠা সহ একটি ওয়েবসাইট various আমি নির্দিষ্ট লোকদের নির্দিষ্ট সম্পদে অ্যাক্সেসের অনুমতি দিতে চাই।

উদাহরণস্বরূপ, আমি চাই যে কোনও ব্যক্তির Leslieকাছে বলা একটি ওয়েব পৃষ্ঠায় অ্যাক্সেস রয়েছে Price Managerএবং সে কেবলমাত্র Travelসেই পৃষ্ঠায় দাম গোষ্ঠীর জন্য দামগুলি পরিচালনা করতে দেয় তবে Productএকই পৃষ্ঠায় গ্রুপের দামগুলি পরিচালনা করতে সক্ষম হয় না । কীভাবে আমি এটিএবিসি ব্যবহার করে এটি বাস্তবায়ন করব?

এতদূর পোকার জন্য, আমার অনুমান যে আমি Leslieকিছু বৈশিষ্ট্য বরাদ্দ করতে পারি (তবে কোনটি এবং এই বৈশিষ্ট্যগুলি কী?) এবং তারপরে সেগুলি সঞ্চয় করে একটি ডাটাবেস টেবিল রাখতে পারি। তারপরে আমি এমন একটি ইঞ্জিন ডিজাইন করতে পারি যা এই বৈশিষ্ট্যগুলিকে দেখায় (তবে Leslieআরবিএসি- তে যেমন "ভূমিকা" হিসাবে দেখায় না ) এবং পৃষ্ঠাটি অ্যাক্সেস দিতে হবে কিনা তা সেখান থেকেই সিদ্ধান্ত নিয়েছি। ইঞ্জিনটি দেখতে কেমন হবে? এটি / যদি অন্য কোনও অবরুদ্ধ হয় তবে এটি কি সাধারণ? অন্যকিছু?

পরে যদি লেসলি তার অবস্থান পরিবর্তন করে এবং কারও কাছে তার অ্যাক্সেস পরিবর্তন করতে হবে? যদি তার অ্যাক্সেস থেকে সরানো Productএবং বাতিল করা দরকার হয় তবে এটি দেখতে কেমন হবে Travel? কীভাবে কোড করা হবে যদি তার প্রয়োজন হয় যে এই Price Managerপৃষ্ঠাটিতে সম্পূর্ণরূপে অ্যাক্সেস প্রত্যাহার করা উচিত এবং এর ফলে আর কোনওটির অ্যাক্সেস নেই Travel, বা Product?

আমার ক্ষেত্রে সম্পদটি কেবল এটি পুনরায় চালু করার জন্য Price Manager, এবং কোনও ব্যবহারকারী সেই পৃষ্ঠায় বিভিন্ন দামের গোষ্ঠীগুলিতে অ্যাক্সেস করতে পারে যেমন Travelদাম, Productমূল্য ইত্যাদি pr

আমি যা খুঁজছি তা হল বিশদটি পরিষ্কার করার জন্য এবং বাস্তবায়নের দিকে যেখানে আমি যেতে পারি এবং অনুমান না করেই এটি বাস্তবায়ন করার পক্ষে যুক্তিসঙ্গতভাবে সম্পূর্ণ রোডম্যাপ। যেমন এটি ধারণাগতভাবে সম্পন্ন হতে পারে এবং / অথবা যেখানে আমি একটি ডাটাবেস কাঠামো ভিজ্যুয়ালাইজ করতে পারি তার নির্দিষ্ট উদাহরণ থাকতে পারে etc.

বোনাস: অপেক্ষাকৃত ছোট অনুমতি প্রয়োজনের জন্য যেমন ABAC একটি সঠিক উপায় 70০-২০০ লোকের পরিচালনা এবং প্রায় ১৫০ - ৪৫০ সম্পদের অ্যাক্সেস? পরিবর্তে এটি কি এসিএল / আরবিএসি আটকে রাখা ভাল?

উত্তর:


18

একটি ABAC বাস্তবায়ন ACL / RBAC এর চেয়ে জটিল। কিছু ফ্রেমওয়ার্কগুলি পরবর্তীতে মোকাবেলা করার জন্য আপনাকে অবকাঠামোগুলির বিট দেয়। লোক এবং সম্পদগুলি যদি তুলনামূলকভাবে ছোট এবং নির্দিষ্ট সংখ্যক ভূমিকা / বিভাগের অধীনে গোষ্ঠীভুক্ত করা যায় তবে তবে এসিএল / আরবিএসি সাথে থাকা ভাল। অনুমতিগুলি যদি ব্যক্তি থেকে পৃথক পৃথকভাবে পৃথক হয় তবে ABAC আরও ভাল এবং আরও নমনীয় সমাধান সরবরাহ করতে পারে।

আপনি যদি প্রথমে এব্যাকের পথে নামার সিদ্ধান্ত নেন তবে আপনাকে XACML স্ট্যান্ডার্ডটি পড়তে এবং বুঝতে কিছুটা সময় ব্যয় করতে হবে । নথিতে প্রদত্ত উদাহরণগুলি XACML সামঞ্জস্যপূর্ণ সিনট্যাক্স ব্যবহার করে এবং এগুলি প্রথমে চিবানো বেশ শক্ত। আমি অনুমান করছি যে আপনি একটি মানসম্পন্ন সামঞ্জস্যপূর্ণ সমাধান বাস্তবায়ন করতে চান না তাই আপনার কেবল এ থেকে সাধারণ ধারণাগুলির প্রয়োজন।

ধারণা

এক্সএএমএমএল প্রায় 4 টি ধারণা এবং তাদের বৈশিষ্ট্যগুলি ঘুরে বেড়ায়: বিষয় , ক্রিয়া , সংস্থান এবং পরিবেশ । আরও কয়েকটি রয়েছে তবে এগুলি সবচেয়ে গুরুত্বপূর্ণ। তাদের উপরে অন্য সব কিছু নির্মিত। যদি আমি এই ধারণার সঙ্গে একটি বাক্য গঠন কর ছিল এটা লাইন বরাবর কিছু হতে পারে: বিষয় সঞ্চালন ক্রিয়া উপর সম্পদ একটি নির্দিষ্ট মধ্যে পরিবেশ । আপনার দৃশ্যে এটি প্রয়োগ করা এমন কিছুতে অনুবাদ করবে:

  • লেসলি প্রাইস ম্যানেজার ওয়েব পৃষ্ঠাটি খুলল।
  • লেস্লি প্রাইস ম্যানেজার ওয়েব পৃষ্ঠা ব্যবহার করে একটি ভ্রমণের দাম তৈরি করে।

গুণাবলী সংগ্রহ

আমাদের প্রথমে যা করতে হবে তা হ'ল উপরে বর্ণিত ধারণাগুলির প্রাসঙ্গিক বৈশিষ্ট্যগুলি সংগ্রহ করা। আদর্শভাবে, আপনার কোনও নির্দিষ্ট বৈশিষ্ট্য নির্ধারণ করা উচিত নয় কারণ এক্সএসিএমএল আপত্তিজনক হওয়ার চেষ্টা করে এবং কেবল সিস্টেম প্রাকৃতিকভাবে সরবরাহ করে তার উপর নির্ভর করে। এবং তাই আমাদের আছে:

বিষয়

যে কোনও অভিনেতা, সে আপনার সিস্টেমে কোনও ব্যক্তি বা পরিষেবা হোক। আমাদের বিষয় লেসলি l লেসলিকে স্বতন্ত্রভাবে সনাক্ত করার জন্য কোন বৈশিষ্ট্যের প্রয়োজন? সম্ভবত উল্লেখযোগ্য হলোঃ first name, last name, e-mail, ssn, company id, position(s)

কর্ম

বিষয়গুলি দ্বারা সম্পাদিত যে কোনও ক্রিয়া। মানক সিআরইউডি অপারেশন বা আরও জটিল কিছু হতে পারে। আমাদের কর্ম open/viewএবং হয় create। আপনি যে ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক ব্যবহার করছেন তার উপর ভিত্তি করে এই ক্রিয়াগুলির বৈশিষ্ট্যগুলি ভিন্ন হতে পারে। রিসোর্সে উঠলে আমরা এ বিষয়ে আরও কথা বলব।

সংস্থান

খুব স্ব স্ব বর্ণনাকারী। আমাদের সংস্থানগুলি হ'ল price manager page, travel pricesএবং the newly created price। আপনি যদি সত্যিই চান তবে আরও কিছু থাকতে পারে। আপনি এমন ক্রিয়াগুলি লুকিয়ে রাখতে চাইতে পারেন যা ব্যবহারকারীরা সম্পাদন করতে পারে না। যেমন। create price buttonএকটি সম্পদ যে দেখানো যেতে পারে / ব্যবহারকারী থাকার তৈরি করতে অনুমতি আছে কিনা তার উপর ভিত্তি করে লুকানো হতে পারে। যেহেতু কোনও ব্যবহারকারীর জন্য দামের তালিকা দেখার একমাত্র উপায় এই পৃষ্ঠার মাধ্যমে হতে পারে এটি স্ট্যাকটি আরও নিচে না রেখে এই স্তরে অনুমোদন প্রয়োগ করা সম্ভবত ভাল ধারণা হবে।

বিশেষত একটি ডেটাবেস থেকে আসে এমনগুলিতে বিশেষত সম্পদের অ্যাক্সেস কার্যকর করা সবচেয়ে জটিল। সূক্ষ্ম দানযুক্ত বিকল্পটি সারির স্তরের সুরক্ষা। কিছু ডাটাবেস এর জন্য একটি নির্দিষ্ট ডিগ্রি সমর্থন করে। কিছু এক্সএসিএমএল বাস্তবায়নকারী এসকিউএল সুপারসেট তৈরি করতে চলে গেছে। এটি সত্যিই আপনার অনুমোদনের প্রয়োজনের উপর নির্ভর করে তবে আপনি যা করতে চান না তা হ'ল একটি টেবিল থেকে সমস্ত কিছু টানুন এবং তারপরে কী প্রদর্শন করবেন তা স্থির করুন। আপনি অনুমতি সেটগুলি দ্বারা সংস্থানগুলি গোষ্ঠীভুক্ত করতে পারেন, এপিআইয়ের পিছনে এগুলি বিমূর্ত করতে পারেন এবং এপিআই প্রান্তে অনুমোদন প্রয়োগ করতে পারেন।

পরিবেশ

আমি এটি সঠিকভাবে সংজ্ঞায়িত করতে পারি না (এক্সএক্সএমএল এরও একটি সঠিক সংজ্ঞা নেই) তবে আসুন আমরা এটি বলি যে এটি "বুদবুদ" যেখানে এটি ঘটে থাকে। এর মধ্যে রয়েছে: web application, web server, operating system, browser, office। আপনি মত বৈশিষ্ট্য নিষ্কাশন পারে: ip address, time of day, user locale, user agent, operating system version। আপনি আপনার অ্যাপ্লিকেশন দ্বারা সমর্থিত নয় এমন পরিবেশগুলি (যেমন, পুরানো ব্রাউজারগুলি, পুরানো অপারেটিং সিস্টেমগুলি, আপনার নেটওয়ার্কের বাইরের কম্পিউটারগুলি, ব্যবসায়িক সময়ের বাইরে অ্যাক্সেস) থেকে ব্যবহারকারীদের অ্যাক্সেস অবরুদ্ধ করতে এটি ব্যবহার করতে পারেন।

অনুমোদনের অনুরোধ

একবার আমরা সমস্ত প্রয়োজনীয় বৈশিষ্ট্য সংগ্রহ করে নেওয়ার পরে আমরা এগুলিকে একটি অনুমোদনের অনুরোধে গুচ্ছাম এবং এটিকে এমন একটি সত্তার কাছে ফরোয়ার্ড করব যা এই বৈশিষ্ট্যের মানগুলির ভিত্তিতে অনুমোদনের সিদ্ধান্ত নিতে পারে। এক্সএএমসিএল ভাষায় আপনি এই বৈশিষ্ট্যগুলি সংগ্রহ করে এবং তারপরে যে সিদ্ধান্তগুলি কার্যকর করেন সে স্থানটিকে নীতি প্রয়োগকারী পয়েন্ট (পিইপি) বলা হয় এবং পয়েন্টগুলি গ্রহণের সিদ্ধান্তকে পলিসি সিদ্ধান্ত পয়েন্ট (পিডিপি) বলা হয়। যে অবস্থানগুলি থেকে অ্যাট্রিবিউট মানগুলি প্রাপ্ত হয় তাদের নীতি তথ্য পয়েন্ট (পিআইপি) বলা হয় s পিইপি, পিডিপি এবং পিআইপিগুলি আপনার প্রয়োগের একটি অংশ হতে পারে তারা বাহ্যিক সিস্টেম হতে পারে। এক্সএক্সএমএল স্ট্যান্ডার্ডে তারা কীভাবে একে অপরের সাথে যোগাযোগ করে তার একটি চিত্র আপনি খুঁজে পেতে পারেন।

সিদ্ধান্ত প্রক্রিয়া

সিদ্ধান্ত গ্রহণের প্রক্রিয়া নিয়মের উপর ভিত্তি করে । বিধিগুলি নীতিগুলিতে গোষ্ঠীভুক্ত করা যেতে পারে যা নীতি সেটগুলিতে আরও গোষ্ঠীভুক্ত হতে পারে । এগুলির প্রত্যেকের একটি লক্ষ্য রয়েছে । কোনও অনুমোদনের অনুরোধে কোনও বিধি প্রযোজ্য কিনা তা সিদ্ধান্ত নিতে লক্ষ্য ব্যবহার করা হয়। এটিকে ফিল্টার হিসাবে ভাবুন। লক্ষ্যটিতে অ্যাট্রিবিউটের নাম এবং মান ব্যবহার করে নির্মিত শর্তাদি রয়েছে। উদাহরণস্বরূপ, আপনার আবেদনের নিয়মগুলি এমন কিছুতে বিভক্ত করা যেতে পারে:

ওয়েব অ্যাপ্লিকেশন (নীতি সেট)
| - লক্ষ্য: প্রয়োগ-নাম == "ওয়েব অ্যাপ্লিকেশন"
`- সংস্করণ 1.0 (নীতি সেট)
    | - লক্ষ্য: প্রয়োগ-সংস্করণ == "1.0"
    `- মূল্য পরিচালক দেখুন (নীতি)
        | - লক্ষ্য: ওয়েব-পৃষ্ঠা-নাম == "মূল্য পরিচালক" && ক্রিয়া-নাম == "দেখুন"
        `- লেসেলি দামের পরিচালক দেখতে পারেন (নিয়ম)
            | - লক্ষ্য: বিষয়-নাম == "লেসেলি"
            `- অনুমতি: অনুমতি

অনুমোদনের অনুরোধে গুণমানের মানগুলির তুলনায় পিডিপি উপরের সেটের সমস্ত কিছুর সাথে মিলবে। এটির সাথে মেলে এমন নিয়ম না থাকলে কী হয় তা আপনার পিডিপি বাস্তবায়নের উপর নির্ভর করে। একবার পিডিপি (ক সিদ্ধান্ত হয়েছে allow, denyবা not-applicableএটা PEP যা দেওয়া বা রিসোর্স এক্সেস আত্মত্যাগী দ্বারা এটি উপর কাজ করে ফিরে পাঠায়)। প্রতিক্রিয়াটির সাথে সাথে পিডিপি একটি তালিকা প্রেরণ করতে পারে obligationsএবং advicesপিইপিকে অবশ্যই প্রয়োগের প্রক্রিয়াটি পূরণ করতে হবে বা করা উচিত। কীভাবে নিয়মগুলি সংরক্ষণ করা হয় তার উপর নির্ভর করে (পাঠ্য ফাইল বা ডাটাবেস) কোনও প্রশাসক মানানসই পাঠ্য সম্পাদক বা কাস্টম সম্পাদনা অ্যাপ্লিকেশনটি উপযুক্ত দেখতে দেখতে এটি পরিবর্তন করতে পারেন। দাম ব্যবস্থাপকের কাছে লেসলির অ্যাক্সেস প্রত্যাহার করা থেকে সহজেই অনুমতি পরিবর্তন শুরু allowকরেdenyঅনুমোদিত, পিইপি তার কাজ করে।

প্রয়োগ

এটি আপনার প্রযুক্তি স্ট্যাকের উপর নির্ভরশীল। কিছু ওয়েব ফ্রেমওয়ার্কগুলিতে প্রাকৃতিক প্রয়োগকারী পয়েন্ট থাকে (যেমন, এএসপি.নেট এমভিসিতে অ্যাট্রিবিউট ফিল্টার রয়েছে)। আপনার ব্যবসায়ের স্তরগুলিকে এ জাতীয় প্রয়োগ পয়েন্টগুলি সংজ্ঞায়িত করতে হতে পারে। পরিষেবা (প্রয়োগের মাইক্রোসার্ভেসিস) শেষ পয়েন্ট বা ইউআই স্তরে প্রয়োগ প্রয়োগ করা আমার পক্ষে আরও সহজ মনে হয়েছে।

অন্যান্য লাভ

এটি বাস্তবায়নের একটি দুর্দান্ত পার্শ্ব প্রতিক্রিয়া হ'ল আপনি মোটামুটি সমৃদ্ধ নিরীক্ষণের ট্রেইলটি শেষ করেন যা অন্য উদ্দেশ্যে ব্যবহৃত হতে পারে।


খুব সহায়ক উত্তর
21-24 এ 21
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.