এসকিউএল সার্ভার - একটি সম্পূর্ণ স্কিমা বনাম বস্তুটিকে অনুমতি দেওয়া হচ্ছে?


25

এসকিউএল সেভারে ডেটাবেস অনুমতিগুলির পরিচালনার জগতে যখন আসে তখন আমি খুব সবুজ।

আসুন একটি উদাহরণ সহজ রাখা যাক।

বলুন অ্যাকাউন্ট 'অ্যাডমিন' স্কিমার এ, বি এবং সি এর মালিক is

স্কিমার এ, বি এবং সি এর অধীনে তৈরি হওয়া যে কোনও বস্তুর (টেবিল / ভিউ) সম্পূর্ণ অধিকার (আপডেট / মুছুন / সন্নিবেশ / নির্বাচন / পরিবর্তন) করতে চান এমন আরও একটি অ্যাকাউন্ট 'মিনিয়ন' রয়েছে

এটা কি সম্ভব? অথবা প্রতিবার এই স্কিমার অধীনে আপনি কোনও টেবিল / ভিউ যুক্ত করার সময় আপনাকে কী অনুদানের বিবৃতি কার্যকর করতে হবে? (আমার কাছে কিছুটা নির্বোধ বলে মনে হচ্ছে)।

উত্তর:


36

আপনি GRANTবিদ্যমান সমস্ত কিছু এবং সেই স্কিমায় বিদ্যমান সমস্ত কিছুর জন্য কার্যকর স্কীমা অনুমতিগুলি করতে পারেন ।

অনুদান স্কিমার অনুমতি

GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA :: <schema> TO <user>;

তারপরেও, আপনি যদি সেই স্কিমার মধ্যে কোনও নির্দিষ্ট অবজেক্টের অনুমতি অস্বীকার করতে চান তবে আপনি এটি করতে পারেন।

অবজেক্টের অনুমতি অস্বীকার করা

DENY INSERT ON OBJECT::<schema>.<object> TO <user>;

1
স্কিমা বা ব্যবহারকারীর নামটিতে যদি বিশেষ অক্ষর থাকে তবে বর্গাকার বন্ধনীও ব্যবহার করুন। যেমন.... SCHEMA :: [schema] TO [company-name/joshua.duxbury]
জোশুয়া ডক্সবাড়ি

আজুরে কাজ করে না, কোন ধারণা কেন? (কমান্ডগুলি কাজ করে, তবে এসএসএমএস আসে এবং বলে যে "আপনি ডিবি মালিক নন। ব্লা ব্লাহ ব্লাহ। আপনি টেবিলটি সংরক্ষণ করতে পারবেন না" এবং যথেষ্ট পরিমাণে নিশ্চিত, আপনি পারবেন না ('গ্রাহক' এর 'ডেটাবেস', '<ডিবি নাম>', 'দ্য ইউজারআইডি,' টেবিল তৈরি করুন ', এবং স্টেট_ডেস্কের অনুমতিগুলি দেখায়) এমন কি আরও কিছু জাদু রয়েছে যা দরকার? নাকি আযুর কেবল ডিবো দ্বারা ব্যবহারযোগ্য?
ট্রেডারহুট গেমস

13

কিছুটা আরও সরল করার জন্য, আপনি যে কাজটি সন্ধান করছেন তা করতে আপনি ভূমিকা ব্যবহার করতে পারেন।

একবার আপনি ভূমিকার জন্য অনুমতিগুলি নিযুক্ত করলে, আপনি কেবল ব্যবহারকারীদের ভূমিকায় যুক্ত করতে পারেন। এইভাবে আপনাকে স্বতন্ত্র ব্যবহারকারীদের জন্য অনুমতিগুলি পরিচালনা করতে হবে না। ব্যবহারকারীরা ভূমিকার জন্য অনুমোদিত অনুমতিগুলির উত্তরাধিকারী হয়।

আপনাকে শুরু করার জন্য নীচে একটি উদাহরণ দেওয়া হল:

 -- Create the database role
CREATE ROLE TableSelector AUTHORIZATION [dbo]
GO
 ---- Grant access rights to a specific schema in the database
GRANT 
      SELECT, INSERT, UPDATE, DELETE, ALTER 

ON SCHEMA::dbo
      TO TableSelector 
GO

-- Add an existing user to the new role created 
EXEC sp_addrolemember 'TableSelector', 'MyDBUser'
GO

-- Revoke access rights on a schema from a role 
DENY ALTER  -- you can customize here ...
ON SCHEMA::dbo
      TO TableSelector 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.