Предоставить разрешение на базу данных SQL

Вопрос или проблема

У меня есть настольное приложение, к которому пользователи должны получать доступ через RDP на своем ПК. Я установил приложение от имени администратора на Windows Server 2022 и сделал его доступным для других пользователей RDP. Все пользователи видят ярлык на рабочем столе, когда они входят в систему через RDP.

Приложение использует базу данных SQL Server, а подключение управляется файлом app.config в приложении.

connectionString="Data Source=localhost;Initial Catalog=DB;Integrated Security=True

Я могу запускать приложение, используя свою учетную запись администратора.

Однако при использовании обычной учетной записи пользователя они могут запустить приложение, но оно не подключается к базе данных. Возвращается ошибка ‘вход в БД не удался для ad\thisuser’.

Я включил удаленное подключение для базы данных и активировал соединение TCP/IP (х although я уверен, что это не было необходимо).

Как мне предоставить пользователям разрешение на подключение к базе данных?

Это решение не сработало для меня: включить разрешение на удаленное подключение

(Windows Server 2022, SQL Server 2019)

Хотя я думаю, что есть лучшие ответы, но вот как я это сделал:

Используя учетные данные администратора, перейдите в SSMS > Обозреватель объектов > Сервер > Базы данных > [myDB]

Разверните Безопасность > Пользователи > Новый пользователь…

В разделе Выберите страницу

  • Общие:

В основном окне,

  • Тип пользователя: Пользователь Windows
  • Имя пользователя: Введите или выберите пользователя, например, AD\User1.

Вернитесь к разделу Выберите страницу

  • Безопасные объекты

В основном окне

  • Поиск… > Добавить объекты > Все объекты типов.

  • Нажмите ОК

Диалоговое окно Выбор типов объектов, выберите Базы данных

В разделе Разрешения для [DatabaseName], убедитесь, что выбраны как минимум:

  • Выбор

  • Вставка

  • Удаление

  • Подключение

  • Выполнение

  • Обновление

Нажмите ОК, чтобы завершить

Я буду рад, если это будет улучшено, особенно если это можно сделать для целой группы. Когда я пытался сгруппировать пользователей, я получил ошибку, что имя входа недопустимо.

Ответ или решение

Для решения проблемы с доступом пользователей к базе данных SQL Server через приложение, установленное на Windows Server 2022, необходимо удостовериться, что права доступа для пользователей настроены корректно. Ниже описан подробный процесс предоставления доступа к SQL Server.

Шаг 1: Подключение к SQL Server Management Studio (SSMS)

  1. Откройте SQL Server Management Studio (SSMS), используя учетные данные администратора.
  2. Подключитесь к вашему серверу базы данных.

Шаг 2: Создание нового пользователя в базе данных

  1. В Object Explorer (Обозревателе объектов) разверните сервер и перейдите к папке Databases (Базы данных).
  2. Найдите вашу базу данных и разверните её.
  3. Перейдите в папку Security (Безопасность) и щелкните правой кнопкой мыши на Users (Пользователи).
  4. Выберите New User… (Новый пользователь).

Шаг 3: Настройка пользователя

В диалоговом окне создания нового пользователя выполните следующие действия:

Вкладка General (Общие)

  • User Type: выберите Windows User.
  • Username: введите имя пользователя в формате AD\User1 или выберите его из списка.

Вкладка Securables (Объекты безопасности)

  1. Нажмите Search… (Поиск…) и выберите Add Objects (Добавить объекты), затем All Object Types (Все типы объектов).
  2. В новом диалоговом окне выберите Databases (Базы данных) и нажмите OK.
  3. Убедитесь, что выбрана ваша база данных.

Правила доступа

Для предоставления необходимых прав доступа выберите следующие разрешения:

  • Select
  • Insert
  • Delete
  • Execute
  • Update
  • Connect

Эти разрешения необходимы для выполнения всех основных операций с данными в приложении.

Шаг 4: Сохранение настроек

Нажмите OK, чтобы завершить создание пользователя. После этого пользователь получит доступ к базе данных с указанными правами.

Шаг 5: Групповой доступ

Для предоставления доступа сразу группе пользователей необходимо убедиться, что:

  1. Группа создана и включена в Active Directory.
  2. В SSMS создайте нового пользователя таким же образом, как описано выше, но укажите группу в поле Username. В формате вы можете использовать AD\GroupName.

Если вы получаете ошибку о недопустимом имени пользователя, убедитесь, что группа правильно настроена в Active Directory и существует в вашей организации.

Дополнительные советы

  • Проверьте, что у учетной записи SQL Server включены необходимые роли и разрешения для доступа к серверу.
  • Убедитесь, что учетная запись пользователя находится в нужной группе безопасности, и права на уровне сервера также предоставлены.
  • Рассмотрите возможность использования "SQL Server Authentication" для упрощения управления доступом (если это возможно с точки зрения безопасности).

Заключение

Следуя данным инструкциям, вы сможете эффективно предоставить доступ к SQL Server для пользователей вашего приложения. Эти шаги обеспечат необходимую безопасность данных и гибкость в управлении пользователями. Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться за поддержкой.

Оцените материал
Добавить комментарий

Капча загружается...