Права доступа для баз геоданных в SQL Server

Права определяют, что какой-либо пользователь может делать с данными и с базой данных. Права должны предоставляться с учетом типа работ, выполняемых пользователем, работающим в организации. Участвует ли пользователь в администрировании базы геоданных? Требуется ли пользователю редактировать или создавать данные? Или должен ли пользователь только формировать запросы к данным?

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

Для администрирования прав доступа к базе данных SQL Server можно использовать инструменты или выражения Transact SQL.

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

Примечание:

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

Минимальные права доступа

Тип пользователяПрава доступа для баз данныхПрава доступа для наборов данныхПримечания

Пользователь, просматривающий данные

SELECT

Если все таблицы в базе данных доступны для чтения, вы можете назначить пользователям роль базы данных db_datareader, иначе предоставьте право SELECT для просмотра определенных таблиц и представлений.

Редактор данных

  • SELECT, INSERT, UPDATE и DELETE для других пользовательских наборов данных
  • EXECUTE для хранимых процедур, связанных с данными, которые будут редактироваться.

При использовании ArcGIS для выдачи прав INSERT (Вставка), UPDATE (Обновление) и DELETE (Удаление) к классам объектов или таблиц с традиционной версионностью, эти права автоматически выдаются в связанном версионном представлении. Эти права доступа необходимы пользователю для редактирования с помощью SQL и использования версионных представлений.

Создатель данных

  • CREATE TABLE
  • CREATE PROCEDURE
  • CREATE VIEW

Пользователи, создающие данные, должны иметь схему по умолчанию с тем же именем, как и их имя пользователя базы данных. Например, для пользователя с именем simon имя схемы по умолчанию должно быть simon. Если это не так, пользователь не сможет создать объекты базы, такие как классы объектов.

Администратор базы геоданных

Если администратором базы геоданных является пользователь с именем sde, и если этому пользователю в базе геоданных принадлежат только системные объекты, все что ему нужно – это подключение к базе геоданных, после того, как она создана.

SELECT, INSERT, UPDATE и DELETE для версионных наборов данных

Дополнительные права требуются для обновления базы геоданных или для предоставления пользователю sde возможности сброса или просмотра всех подключений.

Права доступа, необходимые для создания или обновления базы геоданных

В таблице ниже перечислены пользователи и права доступа, необходимые для создания или обновления баз геоданных в SQL Server.

Тип базы геоданныхПользователь и права доступа, необходимые для создания базы геоданныхПользователь и права доступа, необходимые для обновления базы геоданных

База геоданных в схеме sde

Пользователю sde требуются следующие права доступа:

  • CREATE FUNCTION
  • CREATE PROCEDURE
  • CREATE TABLE
  • CREATE VIEW

Для выполнения обновления пользователь sde должен быть добавлен в роль db_owner в базе данных.

Другим вариантом является выполнение обновления пользователем (не sde), который включен в роль базы данных db_owner или фиксированную серверную роль sysadmin.

Схема dbo

Пользователь dbo уже имеет права доступа, необходимые для создания базы геоданных в базе данных.

Пользователь dbo уже имеет права доступа, необходимые для выполнения обновления.

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

Дополнительные права доступа

Дополнительные права доступа к базе геоданных требуются для использования следующей функциональности:

  • Для удаления подключений к базе геоданных, администратор (пользователь sde) базы геоданных в схеме sde должен быть добавлен в фиксированную серверную роль processadmin с правами VIEW DEFINITION. Инструмент геообработки Создать многопользовательскую базу геоданных включает пользователя sde в эту роль и наделяет соответствующими привилегиями. Можно отозвать эти права и удалить пользователя из роли processadmin после создания базы геоданных, но если вы это сделаете, пользователь sde не сможет отключать пользователей от базы геоданных.
  • Пользователь-владелец XML-столбца должен быть наделен правами REFERENCES в полнотекстовом каталоге, используемом для индексирования XML-столбца.
  • В случае настройки базы геоданных для использования таблиц совместно используемых файлов журнала всем пользователям базы данных понадобятся права CREATE TABLE.