Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 7117|Відповідь: 2

[Джерело] Новим користувачам SQL Server дозволено отримувати доступ лише до певних баз даних

[Копіювати посилання]
Опубліковано 22.05.2022 12:26:37 | | | |
Вимоги: Вебсайт використовує SQL Server як постійне сховище і потребує налаштування адреси бази даних, облікового запису, пароля та конфігурації рядків з'єднанняДля користувачів SA, привілеї трохи занадто великіЯ хочу створити нового користувача, який дозволить усі дозволи лише певній базі даних.
У цій статті використовується інструмент SQL Server Management Studio для підключення до бази даних SQL Server 2019 як приклад.

Відкрийте SQL Server Management Studio і увійдіть за допомогою автентифікації Windows (або використовуйте свій обліковий запис SA).


Спочатку створіть нову базу даних TestDB за допомогою наступної команди:

Натисніть ліве меню [Безпека] --- [Вхід], потім правою кнопкою миші "Увійти" і виберіть [Новий вхід], як показано нижче:




У вкладці «Загальне» введіть ім'я входу, пароль, підтверджуйте пароль і виберіть базу даних за замовчуванням, як показано на наступному рисунку:



Перейдіть на карту користувача, перевірте цільову базу даних [TestDB] і надайте публічні db_owner дозволи (щоб новий користувач itsvse міг мати адміністраторські права на базі даних TestDB), як показано на рисунку нижче:



Нарешті, натисніть OK.

Ми намагаємося використовувати новоствореного користувача для входу в базу даних, як показано на наступному рисунку:




Хоча ви можете бачити інші бази даних, при спробі отримати до них доступ ви отримаєте таку помилку:

Назва: Microsoft SQL Server Management Studio
------------------------------

Тест бази даних недоступний. (Об'єктДослідник)

------------------------------
Кнопку:

Ти впевнений
------------------------------


Нарешті, додайте опис дозволів:

'db_owner' — має повні права на доступ до бази даних, включно з дозволами на видалення бази даних
'db_accessadmin' — дає користувачу бази даних лише дозвіл створювати інших користувачів бази, але не дозволяє створювати зареєстрованих користувачів.
'db_securityadmin' — Керувати повними правами, власністю на об'єкти, ролями та членством у ролях
'db_ddladmin' — може видавати всі DDL (Create, Alter і Drop), але не GRANT, REVOKE або DENY
'db_backupoperator' — Дозвіл на резервне копіювання та відновлення бази даних [резервне копіювання та відновлення також можна робити через SQL Sever Management Studio]
'db_datareader' — може вибрати всі дані з будь-якої таблиці користувачів у базі даних
'db_datawriter' — може змінювати всі дані в будь-якій таблиці користувачів у базі даних
'db_denydatareader' — не може запитувати жодні дані в жодній таблиці користувачів у базі даних
'db_denydatawriter' — не може змінювати жодних даних у жодній користувацькій таблиці бази даних

(Кінець)





Попередній:Плагін інтернаціоналізації jQuery Datatables
Наступний:Практичне використання GitHub Actions для компіляції прошивки OpenWRT
Опубліковано 22.05.2022 15:21:07 |
Приходь і вчися знову
 Орендодавець| Опубліковано 11.02.2025 17:03:54 |
SQL-скрипт виглядає так:


Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com