Sql Server: как запретить пользователям доступ к связанным серверам - PullRequest
4 голосов
/ 29 июня 2010

Я бы хотел запретить доступ к запросам на связанных серверах группе пользователей.Я поместил их в роль и назначил определенные разрешения для разрешения на уровне объекта для этой группы.Я в растерянности после поиска в BOL и в сети, как ДЕНЬ получить доступ к связанным серверам.

РЕДАКТИРОВАТЬ:

Я решил использовать профилировщик, чтобы точно проверить, что SSMS вызывает при отображении связанныхсерверы и убедитесь, что DENY был выпущен на этом системном представлении / SP.Оказывается, он вызывает sys.servers, но Sql Server не учитывает ACL в этом системном представлении - это относится к другим системным представлениям (например, sys.dm_db_index_physical_stats).

Ответы [ 5 ]

8 голосов
/ 23 апреля 2014

Вот обходной путь, о котором я только что подумал:

В диалоговом окне Свойства связанного сервера, вкладка Свойства;добавьте пользователей, которым вы не хотите получить доступ к связанному серверу.Затем назначьте им фиктивную комбинацию пользователь / пароль, которая будет отклонена на целевом сервере.

6 голосов
/ 29 июня 2010

Afaik, ссылающийся на связанный сервер, не контролируется списками контроля доступа (ACL).Другими словами, вы не можете предоставить разрешение GRANT / DENY / REVOKE на использование связанного сервера.Вы, безусловно, можете контролировать разрешение на изменение связанного сервера с помощью разрешения ALTER ANY LINKED SERVER.

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

0 голосов
/ 26 февраля 2019

Возьмите ваш оператор транзакции, поместите его в пакет служб SSIS «Выполнение задачи SQL»

В свойствах безопасности сервера ссылок добавьте идентификатор пользователя (на вашем сервере), к которому вы хотите получить доступ к серверу ссылок, в верхний раздел вместе с uid и pw для связанного сервера и нажмите переключатель «не будет выполнено»

когда вы планируете свою работу в агенте сервера sql, выберите пакет ssis и используйте свой прокси (db / security / credentials) в строке run as на шаге задания.

0 голосов
/ 20 июня 2015

AFACS, на связанных серверах отсутствует надлежащий контроль доступа. Я хотел бы сделать следующее:

  1. Создание учетных данных для подключения к удаленному серверу
  2. Создать новый связанный сервер: а. Укажите роль сервера, группу AD или безопасность в качестве локального пользователя. б. Укажите учетные данные в качестве удаленного пользователя
  3. Добавление имен входа в роль сервера или группу AD для управления доступом.
0 голосов
/ 29 июня 2010

Тип аутентификации имеет значение.Когда вы связываете серверы, они должны быть связаны с помощью Kerberos, и тогда вы можете контролировать доступ на связанном сервере.В противном случае ваша группа всегда будет проходить аутентификацию по учетным данным, указанным в ссылке.

...