DEV Community

Cover image for Authentication and Authorization
Shafia Rahman Chowdhury
Shafia Rahman Chowdhury

Posted on

7 1

Authentication and Authorization

Authentication এবং Authorization মৌলিকভাবে বিভিন্ন ফাংশন উপস্থাপন করে, যদিও প্রায়শই তারা interchangeably ব্যবহৃত হয়। এই আর্টিকেলে, আমরা দুটির আলোচনা, তুলনা ও বৈসাদৃশ্য করি তা দেখানোর জন্য যে তারা কীভাবে complementary উপায়ে অ্যাপ্লিকেশনগুলিকে রক্ষা করে। তবে, তার আগে আমরা আরেকটা জিনিস সম্পর্কে সাধারণ ধারণা জেনে নি। সেটি হলো Introduction to Identity and Access Management (IAM)

Identity and Access Management (IAM) কি?

IAM বোঝার জন্য, আপনাকে কিছু মৌলিক ধারণার সাথে পরিচিত হতে হবে:

  • একটি digital resource (ডিজিটাল রিসোর্স) হল একটি কম্পিউটার সিস্টেমে অ্যাপ্লিকেশন এবং ডেটার যে কোনো সমন্বয়/combination। ডিজিটাল রিসোর্সের উদাহরণগুলির মধ্যে রয়েছে ওয়েব অ্যাপ্লিকেশন, APIs, প্ল্যাটফর্ম, ডিভাইস বা ডেটাবেস।

  • আইএএম এর মূল হল Identity। কেউ আপনার ডিজিটাল রিসোর্সের অ্যাক্সেস চায়। এটি একজন customer, employee, member, participant এবং আরও অনেক কিছু হতে পারে। আইএএম-এ, একটি ব্যবহারকারী অ্যাকাউন্ট হচ্ছে একটি ডিজিটাল আইডেন্টিটি বা পরিচয়। ব্যবহারকারীর অ্যাকাউন্টগুলি non-human কেও represent করতে পারে, যেমন সফ্টওয়্যার, ইন্টারনেট অফ থিংস ডিভাইস বা রোবোটিক্স৷

Image description

Image description

  • Authentication হল একটি ডিজিটাল আইডেন্টিটি verification। যখন ইউজাররা authenticate করে তখন তারা ঐ সাইটে বা অ্যাপে এইটা prove করে যে তারা সেই ব্যবহারকারী যা তারা claim করে।

  • Authorization হল ব্যবহারকারী কোন রিসোর্স অ্যাক্সেস করতে পারে তা নির্ধারণ করার প্রসেস।

IAM কি করে?

আইডেন্টিটি এবং অ্যাক্সেস ম্যানেজমেন্ট আপনাকে ব্যবহারকারীর validation এবং resource অ্যাক্সেসের উপর নিয়ন্ত্রণ দেয়:

  • কিভাবে ব্যবহারকারীরা আপনার সিস্টেমের একটি অংশ হয়ে ওঠে
  • ব্যবহারকারীর কোন তথ্য সংরক্ষণ করতে হবে
  • কিভাবে ব্যবহারকারীরা তাদের আইডেন্টিটি প্রমাণ করতে পারেন
  • কখন এবং কত frequently ব্যবহারকারীদের তাদের পরিচয় authenticate করতে হবে
  • কোন ব্যাবহারকারী কোন রিসোর্স অ্যাকসেস করতে পারবে এবং কোন রিসোর্স পারবে না তা নির্ধারণ করা

Authentication এবং Authorization

Authentication এবং Authorization এই দুইটা টার্ম একজন ইউজারের কাছে কনফিউজিং মনে হয়। এইটা হওয়াটা খুবই স্বাভাবিক। কারণ, এই দুটিই একজন ইউজারের কাছে একই experience মনে হয় যখন সে কোনো সিস্টেম ব্যাবহার করে। তবে, এগুলি দুটি পৃথক প্রক্রিয়া: authentication ব্যবহারকারীর পরিচয় প্রমাণ করে,আর অন্যদিকে authorization নির্দিষ্ট রিসোর্সগুলিতে ব্যবহারকারীর অ্যাক্সেসকে grant করে বা deny করে।

আপনি একটি অফিস বিল্ডিংয়ের নিরাপত্তা ব্যবস্থা হিসাবে Authentication এবং Authorization এর কথা ভাবতে পারেন। ব্যবহারকারীরা হল সেই ব্যক্তি যারা বিল্ডিংয়ে প্রবেশ করতে চান। লোকেরা যে সম্পদগুলি অ্যাক্সেস করতে চায় সেগুলি হল বিল্ডিংয়ের area গুলি: মেঝে, কক্ষ এবং আরও অনেক কিছু৷

Authentication: আপনি যখন বিল্ডিংয়ে প্রবেশ করবেন, আপনাকে অবশ্যই আপনার ফটো আইডি ব্যাজটি নিরাপত্তারক্ষীকে দেখাতে হবে। প্রহরী ব্যাজের ছবির সাথে আপনার মুখের তুলনা করে।যদি তারা মিলে যায়, গার্ড আপনাকে দরজা দিয়ে বিল্ডিংয়ের বিভিন্ন এলাকায় প্রবেশ করার চেষ্টা করতে দেয়। আপনি কোন কক্ষে প্রবেশ করতে পারবেন তা গার্ড আপনাকে বলে না; তারা শুধুমাত্র প্রমাণ চায় যে আপনি নিজেকে যে লোক হিসেবে দাবি করেছেন, সে লোকটা আপনি কিনা। এটি হল authentication: ব্যবহারকারীর পরিচয় নিশ্চিত করা।

Image description

Authorization: এই scenario-তে, কল্পনা করুন যে আপনি যে কোম্পানিতে চাকরি করেন সেটি একটি বিল্ডিংয়ে অবস্থিত। সাথে আরও অনেকের কোম্পানীও আছে ঐ বিল্ডিংয়ে। বিল্ডিংয়ের লিফট এবং দরজাগুলিতে অ্যাক্সেসের জন্য কিছু key-sensors রয়েছে। আপনার ব্যাজের সিকিউরিটি-চিপ আপনাকে শুধুমাত্র প্রথম তলায় অ্যাক্সেস দেয়, যেটি আপনার কোম্পানির জন্য বরাদ্ধ। আপনি অন্য কোনো ফ্লোরে প্রবেশ করতে আপনার ব্যাজ সোয়াইপ করলে, আপনার অ্যাক্সেস ডিনাই করা হবে। ঠিক একইভাবে, আপনি আপনার অফিসে শুধুমাত্র আপনার ডেস্ক access করতে পারেন। কিন্তু আপনার সহকর্মীদের ডেস্ক আক্সেসে আপনার পারমিশন নেই। আবার, আপনি সরবরাহ রুম প্রবেশ করতে পারেন কিন্তু সার্ভার রুম না। এটিই হল Authorization: পরিচয়ের উপর ভিত্তি করে বিভিন্ন রিসোর্সগুলিতে অ্যাক্সেস প্রদান এবং অস্বীকার করা।

Image description

এখন authentication এবং authorization এর পার্থক্যগুলির একটা কুইক রিভিউ দেখে ফেলিঃ

Image description

সংক্ষেপে, একটি resource এর অ্যাক্সেস authentication এবং authorization উভয় দ্বারা protected। আপনি যদি আপনার পরিচয় প্রমাণ করতে না পারেন, তাহলে আপনাকে কোনো রিসোর্সে প্রবেশের অনুমতি দেওয়া হবে না। এবং এমনকি যদি আপনি আপনার পরিচয় প্রমাণ করতে পারেন, আপনি যদি সেই রিসোর্সের জন্য অনুমোদিত(authorized) না হন, তাহলেও আপনাকে অ্যাক্সেস থেকে বঞ্চিত করা হবে।

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more →

Top comments (0)

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay