এসকিউএল সার্ভার গ্রান্ট

Esaki U Ela Sarbhara Granta



এই প্রবন্ধে, আপনি বুঝতে পারবেন কিভাবে SQL সার্ভারে GRANT স্টেটমেন্ট ব্যবহার করে একজন প্রিন্সিপালকে নিরাপদে অনুমতি দিতে হয়।

SQL সার্ভার নিরাপদ এবং প্রধান

একটি সুরক্ষিত বলতে এসকিউএল সার্ভার ডেটাবেস ইঞ্জিন অনুমোদন সিস্টেম অ্যাক্সেস নিয়ন্ত্রণ করে এমন সংস্থানগুলিকে বোঝায়। একটি উদাহরণ একটি ডাটাবেস টেবিল হবে.

প্রিন্সিপাল বলতে এমন কোনো সত্তাকে বোঝায় যার যেকোনো SQL সার্ভার রিসোর্সে অ্যাক্সেস প্রয়োজন। উদাহরণস্বরূপ, একটি টেবিলে অনুমতির জন্য অনুরোধ করা ব্যবহারকারী একজন প্রধান।







SQL সার্ভার অনুদান বিবৃতি

নিম্নলিখিত SQL সার্ভারে GRANT কমান্ডের সিনট্যাক্স দেখায়:



অনুমতি দিন
ON সুরক্ষিত থেকে প্রধান;

কমা দ্বারা পৃথক করা তালিকা হিসাবে আপনি প্রিন্সিপালকে যে অনুমতি দিতে চান তা আপনাকে নির্দিষ্ট করতে হবে।



অন ​​কীওয়ার্ড আপনাকে নিরাপত্তাযোগ্য নির্দিষ্ট করার অনুমতি দেয় যার উপর অনুমতি প্রয়োগ করা হয়। অবশেষে, TO কীওয়ার্ড আপনাকে টার্গেট প্রিন্সিপাল সেট করতে সক্ষম করে।





উদাহরণস্বরূপ, ব্যবহারকারী তৈরি করুন বিবৃতি ব্যবহার করে ব্যবহারকারী তৈরি করা সেই ব্যবহারকারীর জন্য অনুমতিগুলিকে সংজ্ঞায়িত করে না। অতএব, সেই ব্যবহারকারীর জন্য অনুমতি সেট করতে GRANT বিবৃতি ব্যবহার করা অপরিহার্য।

চল একটি উদাহরণ দিই।



উদাহরণ লগইন তৈরি করুন

আসুন দৃষ্টান্তের উদ্দেশ্যে একটি নমুনা লগইন তৈরি করে শুরু করি। ক্যোয়ারীটি নিচে দেওয়া হল:

লগইন লিনাক্সহিন্ট তৈরি করুন
পাসওয়ার্ড='পাসওয়ার্ড' সহ;

উপরের কমান্ডটি ব্যবহারকারীর নাম linuxhint এবং নির্দিষ্ট পাসওয়ার্ড সহ একটি ব্যবহারকারী তৈরি করা উচিত।

নমুনা ডাটাবেস তৈরি করুন

আমরা একটি ডাটাবেস তৈরি করতে পারি যেখানে ব্যবহারকারী থাকবেন একবার আমরা একটি লগইন সংজ্ঞায়িত করলে। প্রশ্নগুলি দেখানো হয়েছে:

সমাধানকারী বিদ্যমান থাকলে ডাটাবেস ড্রপ করুন;

ডাটাবেস সমাধানকারী তৈরি করুন;

সমাধানকারী ব্যবহার করুন;

ড্রপ টেবিল যদি বিদ্যমান এন্ট্রি আছে;

টেবিল এন্ট্রি তৈরি করুন(
আইডি শূন্য পরিচয় নয় (1,
1) প্রাথমিক কী,
সার্ভার_নাম varchar(50),
সার্ভার_ঠিকানা varchar(255) শূন্য নয়,
কম্প্রেশন_মেথড varchar(100) ডিফল্ট 'কোনটি নয়',
সাইজ_অন_ডিস্ক ফ্লোট নাল নয়,
size_compressed float,
মোট_রেকর্ড শূন্য নয়,
init_date তারিখ
);
সন্নিবেশ
মধ্যে
ENTRIES(সার্ভার_নাম,
সার্ভার ঠিকানা,
কম্প্রেশন পদ্ধতি,
ডিস্কের স্থানের পরিমান,
আকার_সংকুচিত,
মোট রেকর্ড,
শুরুর_তারিখ)
মান
('MySQL','localhost:3306','lz77',90.66,40.04,560000,'2022-01-02'),
('Redis','localhost:6307','Snappy',3.55,998.2,100000,'2022-03-19'),
('PostgreSQL','localhost:5432','pglz',101.2,98.01,340000 ,'2022-11-11'),
('Elasticsearch','localhost:9200','lz4',333.2,300.2,1200000,'2022-10-08'),
('MongoDB','localhost:27017','Snappy',4.55,4.10,620000,'2021-12-12'),
('Apache Cassandra','localhost:9042','zstd',300.3,200.12,10000000,'2020-03-21');

লগইন করার জন্য একটি ব্যবহারকারী তৈরি করুন

একবার আমরা ডাটাবেস এবং টেবিল তৈরি করার পরে, আমরা linuxhint লগইনের জন্য একজন ব্যবহারকারী তৈরি করতে পারি:

সমাধানকারী ব্যবহার করুন
ব্যবহারকারী লিনাক্সহিন্ট তৈরি করুন
linuxhint লগইন করার জন্য;

নতুন ব্যবহারকারী হিসেবে লগইন করুন

এর পরে, আসুন নতুন তৈরি ব্যবহারকারী হিসাবে লগ ইন করি। কমান্ডটি দেখানো হয়েছে:

setuser 'linuxhint';

একবার লগ ইন করার পরে, আমরা নির্বাচন কমান্ডটি চালিয়ে টেবিলগুলি দেখার চেষ্টা করতে পারি:

এন্ট্রি থেকে * নির্বাচন করুন;

উপরের ক্যোয়ারী চালানোর ফলে একটি ত্রুটি ফিরে আসবে:

বার্তা 229, স্তর 14, রাজ্য 5, লাইন 379৷
'এন্ট্রি', ডাটাবেস 'রিজলভার', স্কিমা 'dbo' অবজেক্টে SELECT অনুমতি প্রত্যাখ্যান করা হয়েছে।

এর কারণ হল linuxhint ব্যবহারকারীর SELECT অনুমতি সহ ডাটাবেসে কোনো অনুমতি নেই।

ব্যবহারকারীকে অনুমতি দিন

ব্যবহারকারীকে টেবিলে সংরক্ষিত তথ্য দেখতে দেওয়ার জন্য আমাদের SELECT অনুমতি দিতে হবে।

এর জন্য, আপনাকে SQL সার্ভার প্রশাসনিক অ্যাকাউন্ট দিয়ে লগইন করতে হবে।

পরবর্তী, এইভাবে ক্যোয়ারী চালান:

লিনাক্সহিন্টে এন্ট্রি নির্বাচন করার অনুমতি দিন;

একবার কার্যকর করা হলে, linuxhint ব্যবহারকারী হিসাবে লগইন করুন এবং SELECT স্টেটমেন্ট ব্যবহার করুন।

এন্ট্রি থেকে * নির্বাচন করুন;

এই ক্ষেত্রে, কমান্ডটি টেবিলটি ফেরত দেয় কারণ ব্যবহারকারীর SELECT অনুমতি রয়েছে

আপনি ব্যবহারকারীকে অন্যান্য অনুমতিও বরাদ্দ করতে পারেন, যেমন সন্নিবেশ করা এবং মুছে ফেলা:

linuxhint-এ এন্ট্রিতে সন্নিবেশ মঞ্জুর করুন, মুছে দিন;

এই ক্ষেত্রে, linuxhint ব্যবহারকারীর এন্ট্রি টেবিলে SELECT, INSERT এবং DELETE অনুমতি থাকতে হবে।

উপসংহার

এই পোস্টে, আমরা SQL সার্ভারে GRANT কমান্ডের ব্যবহার অন্বেষণ করেছি। কমান্ড আপনাকে একটি প্রদত্ত অধ্যক্ষকে অনুমতি প্রদান করতে দেয়।