একটি 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
অনুমোদিত, পিইপি তার কাজ করে।
প্রয়োগ
এটি আপনার প্রযুক্তি স্ট্যাকের উপর নির্ভরশীল। কিছু ওয়েব ফ্রেমওয়ার্কগুলিতে প্রাকৃতিক প্রয়োগকারী পয়েন্ট থাকে (যেমন, এএসপি.নেট এমভিসিতে অ্যাট্রিবিউট ফিল্টার রয়েছে)। আপনার ব্যবসায়ের স্তরগুলিকে এ জাতীয় প্রয়োগ পয়েন্টগুলি সংজ্ঞায়িত করতে হতে পারে। পরিষেবা (প্রয়োগের মাইক্রোসার্ভেসিস) শেষ পয়েন্ট বা ইউআই স্তরে প্রয়োগ প্রয়োগ করা আমার পক্ষে আরও সহজ মনে হয়েছে।
অন্যান্য লাভ
এটি বাস্তবায়নের একটি দুর্দান্ত পার্শ্ব প্রতিক্রিয়া হ'ল আপনি মোটামুটি সমৃদ্ধ নিরীক্ষণের ট্রেইলটি শেষ করেন যা অন্য উদ্দেশ্যে ব্যবহৃত হতে পারে।