কীভাবে এসকিউএল সার্ভার ২০১২-তে কেবল পঠনযোগ্য সার্ভারের ভূমিকা তৈরি করবেন?


15

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

আমি একটি সার্ভারের ভূমিকাটি তৈরি করার চেষ্টা করছি যা কেবল পঠনযোগ্য এবং যে কোনও ডাটাবেস পড়তে পারে।

ব্যবহারকারীর ডাটাবেসগুলি পড়ার জন্য কোনও ব্যবহারকারী-সংজ্ঞায়িত সার্ভারের ভূমিকা তৈরি করার কোনও উপায় আছে কি? বা ব্যবহারকারী হিসাবে প্রতি ব্যবহারকারী ম্যাপিংয়ের মাধ্যমে আমাকে এটি করতে হবে?

উত্তর:


16

একটি উত্তর শুধু কারণ এটি একটি মন্তব্যের জন্য অতি দীর্ঘ, এবং কারণ এটি হিসাবে এই পোস্ট করার হবে বেশ তাড়াতাড়ি অন্য ব্যবহারকারীদের কাছে প্রাসঙ্গিক হতে।

এসকিউএল সার্ভার ২০১৪ এ কিছু নতুন সার্ভার-স্তরের অনুমতি যুক্ত করেছে যা ঠিক এই ধরণের দৃশ্যে সহায়তা করবে - সেগুলি নিরীক্ষণ করে মনে রেখে তৈরি করা হয়েছিল, তবে এই ধরণের প্রয়োজনীয়তাটিও এই বিলের সাথে মানানসই বলে মনে হয়। আপনি কেবল একটি সার্ভার-স্তরের লগইনে নিম্নলিখিত দুটি অনুমতি যুক্ত করতে পারেন:

CONNECT ANY DATABASE

SELECT ALL USER SECURABLES

প্রাক্তন, যেমনটি এটি শোনাচ্ছে, লগইনটিকে কোনও ডাটাবেসের সাথে সংযোগ করতে দেয়। এর সুন্দর জিনিসটি এটি ভবিষ্যতে তৈরি হওয়া ডেটাবেসগুলির জন্যও অনুমতি দেবে (আপনি যদি স্পষ্টভাবে অস্বীকার না করে থাকেন তবে এই অনুমতিযুক্ত লগইনগুলি থেকে আপনি নির্দিষ্ট ব্যবহারকারীর ডাটাবেসগুলিকে কীভাবে সুরক্ষা দিতে পারবেন)। পরেরটি SELECTলগইনকে তাদের যে কোনও ডাটাবেসে অ্যাক্সেস রয়েছে সেগুলি পড়ার ক্রিয়াকলাপ সম্পাদন করার অনুমতি দেয় - যাতে তারা টেবিল, দর্শন, ইউডিএফ ইত্যাদি থেকে পারে তবে তারা কোনও UPDATEক্রিয়াকলাপ করতে সক্ষম হবে না (যদি এই অনুমতিটি বুঝতে পারে তবে আমি পরীক্ষা করে দেখিনি) সঞ্চিত পদ্ধতি ডিএমএল সম্পাদন করে)। আপনি যদি পুরো সার্ভারে একটি লগইনকে ওপেন-ওপেন পড়ার অ্যাক্সেস দিতে চান বা আরও সূক্ষ্মতর CONNECTহতে চান তবে নির্দিষ্ট ডেটাবেসে traditionalতিহ্যবাহী সুযোগ - সুবিধাগুলি দিতে পারেন , এবং SELECT ALL USER SECURABLESডানদিক দিয়েকেবলমাত্র সেই ডাটাবেসের জন্যই কাজ করে যেখানে লগইনটিতে স্পষ্টরূপে অ্যাক্সেস থাকে।

2014 নিরাপত্তা পরিবর্তন এখানে নথিভুক্ত করা হয় - ভাল, আংশিকভাবে; তারা ডাটাবেস-স্তরের অনুমতি সম্পর্কে ভুলে গিয়েছিল ALTER ANY DATABASE EVENT SESSION- যদিও এটি এখানে প্রাসঙ্গিক নয়।


আগত সার্ভারগুলির জন্য এই বর্ধিত উত্তরের জন্য ধন্যবাদ। এই অপারেশন / চেকটি সার্ভার স্তরে রয়েছে। ডিবি সামঞ্জস্যতা স্তর সম্পর্কে কোনও মন্তব্য আছে কি? সুতরাং ডিবি সিএল যদি 2012 হয় তবে 2014 এর বৈশিষ্ট্যটি কি এখনও কাজ করবে?
স্ন্যাপজ্যাগ

@ স্নাপজ্যাগ সামঞ্জস্যতা স্তরের সুরক্ষা বৈশিষ্ট্যগুলির কোনও প্রভাব নেই, এটি বেশিরভাগ ক্ষেত্রে কীভাবে টি-এসকিউএল বিশ্লেষণ করা হয় এবং অপ্টিমাইজার কীভাবে কী কী পরিকল্পনা উত্পন্ন করে তা নিয়ে।
অ্যারন বার্ট্র্যান্ড

@ অ্যারনবার্ট্র্যান্ড আপনি কি জানেন যে কোনও সার্ভার-স্তরীয় ভূমিকাতে কোনও ডাটাবেসেও আপডেটের অনুমতি দেওয়ার জন্য যদি আমরা অনুমতি দিতে পারি তবে তা কি জানেন? (সিসাদমিন স্থির ভূমিকা অবশ্যই নিশ্চিত করতে পারে তবে আমরা কি এটি ব্যবহারকারীর সংজ্ঞায়িত সার্ভারের ভূমিকার জন্য করতে পারি?)
ম্যাক্সওয়েট

@ ম্যাক্সিওয়েট না, দুঃখিত, এটি করার কোনও তুচ্ছ উপায় সম্পর্কে চিন্তা করতে পারে না।
অ্যারন বারট্র্যান্ড

FWIW এটি অ্যাজুরে এসকিউএল ডেটাবেস-এর জন্য কাজ করবে না। [NameOfUserOrGroup] নিরাপদ শ্রেণীর 'সার্ভার' এসকিউএল সার্ভারের এই সংস্করণে সমর্থিত নয়, কোনও ডেটাবেসের সাথে যোগাযোগ করুন।
ডেজেমস

8

কোনও সার্ভার-স্তরের 'কোনও ডাটাবেস পড়ুন' অনুমতি নেই এবং সার্ভার-স্তরের ভূমিকাগুলি ডাটাবেস-স্তরের অনুমতি দেওয়া যায় না

হ্যাঁ, আপনাকে পৃথকভাবে ডাটাবেসে ব্যবহারকারীদের মানচিত্র করতে হবে। আপনি যদি অ্যাক্টিভ ডিরেক্টরি ব্যবহার করছেন, আপনি উইন্ডোজ গ্রুপ তৈরি করতে পারেন, তারপরে সেই গোষ্ঠীকে এসকিউএল সার্ভারে লগইন দিন, তারপরে সেই গোষ্ঠীর জন্য সমস্ত ডাটাবেসে db_datareader প্রয়োগ করুন (যদিও আপনাকে প্রতিটি ডাটাবেসে ব্যবহারকারী তৈরি করতে হবে)।

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