মঞ্জুরি অনুমতি স্ট্যাকিং অস্বীকার


9

ভূমিকার জন্য db_denycustomer, আমি চাই গ্রাহক টেবিলের কেবলমাত্র কলাম কোডটি নির্বাচনযোগ্য এবং অন্য কোনওটিই নয়। সুতরাং আমি এটি করেছি:

DENY SELECT ON dbo.customer TO db_denycustomer
GRANT SELECT ON dbo.customer (code) TO db_denycustomer

... এবং এটা ঠিক কাজ করে। শান্ত! তবে, কেন ?

আমি সম্পর্কিত নিবন্ধগুলিতে যা পড়েছি তা হ'ল অনুমতি স্ট্যাক, তবে DENYঅগ্রাধিকার নেয়। বিপরীতে, আমার ক্ষেত্রে এটি দেখে মনে হয় যে শেষ অনুমতি "ক্যোয়ারী" অগ্রাধিকার নিয়েছে। অবশ্যই নিশ্চিত, আমি যদি তাদের বিপরীত ক্রমে চালিত করি তবে পরবর্তীকর্তারা DENYকোড কলামটিও গোপন করে।

আপনি এই সম্পর্কে বিস্তারিত বলতে পারেন?

আমি ব্যবহারকারীর ডিফল্ট db_datawriterএবং db_datareaderভূমিকাগুলিও এর সাথে অন্তর্ভুক্ত করেছি।

উত্তর:


10

এটি পিছনের সামঞ্জস্যের জন্য সরবরাহিত নথিভুক্ত আচরণ । ডকুমেন্টেশন অংশ:

সতর্কতা একটি সারণী-স্তরের DENY কলাম-স্তরের গ্রান্টের তুলনায় অগ্রাধিকার গ্রহণ করে না। অনুমতি শ্রেণিবদ্ধের এই অসঙ্গতি পশ্চাদপদ সামঞ্জস্যের জন্য সংরক্ষণ করা হয়েছে।

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