Права доступа в базах геоданных SQL Server
Права определяют, что пользователь может делать с данными и с базой данных. Права должны предоставляться с учетом типа работ, выполняемых пользователем, работающим в организации. Участвует ли пользователь в администрировании базы геоданных? Требуется ли пользователю редактировать или создавать данные? Будет ли пользователь только формировать запросы к данным?
Права доступа пользователей устанавливаются на разных уровнях. Этот раздел содержит описание прав доступа к базе данных и набору данных для основных типов пользователей: просматривающих данные, редакторов данных, создателей данных и администраторов базы геоданных.
- В первом разделе перечислены минимальные права, необходимые для каждого типа пользователей.
- Во втором разделе перечислены права, необходимые для создания или обновления базы геоданных. , перечислены в последнем разделе.
Для администрирования прав доступа к базе данных можно использовать инструменты SQL Server или выражения Transact SQL.
Права доступа к наборам данных должны быть предоставлены или отозваны владельцем набора данных с помощью диалогового окна Права доступа или инструмента геообработки Изменить права доступа , который доступен в ArcGIS for Desktop . Инструкции см. в разделе Предоставление и отзыв прав доступа к наборам данных.
Примечание:Привилегия CONNECT предоставляется на уровне базы данных для роли public по умолчанию. Если вы отзываете эту привилегию у public, вы должны явно предоставить право CONNECT конкретным ролям и/или учетным записям.
Минимальные привилегии
Пользователь, имеющий право просматривать данные
Если все таблицы в базе данных доступны для чтения, вы можете назначить пользователям роль базы данных db_datareader, иначе предоставьте право SELECT для просмотра определенных таблиц и представлений.
- SELECT, INSERT, UPDATE и DELETE для других пользовательских наборов данных
- EXECUTE для хранимых процедур, связанных с данными, которые будут редактироваться.
Если пользователь редактирует версионные данные через версионное представление, ему должны быть выданы также права SELECT (Выборка), UPDATE (Обновление), INSERT (Вставка) и DELETE (Удаление) в версионном представлении. При использовании диалогового окна Права доступа (Privileges) в ArcGIS для выдачи прав SELECT (Выборка), UPDATE (Обновление), INSERT (Вставка) и DELETE (Удаление) версионных классов объектов, эти права автоматически выдаются в соответствующем версионном представлении.
Пользователь, имеющий право на создание данных
- CREATE TABLE
- CREATE PROCEDURE
- CREATE VIEW
Пользователи, создающие данные, должны иметь схему по умолчанию с тем же именем, как и их имя пользователя базы данных. Например, для пользователя с именем simon имя схемы по умолчанию должно быть simon. Если это не так, пользователь не сможет создать объекты базы, такие как классы объектов.
Администратор базы геоданных
Если администратором базы геоданных является пользователь с именем sde, и если этому пользователю в базе геоданных принадлежат только системные объекты, все что ему нужно – это подключение к базе геоданных, после того, как она создана. Однако, если базу геоданных необходимо обновить, или пользователю sde нужно сбросить подключения или просмотреть всех пользователей базы данных, требуются дополнительные права.
SELECT, INSERT, UPDATE и DELETE для версионных наборов данных
Права доступа, необходимые для создания или обновления базы геоданных
В таблице ниже перечислены пользователи и привилегии, необходимые для создания или обновления баз геоданных в SQL Server.
База геоданных в схеме sde
Пользователю sde требуются следующие права доступа:
- CREATE FUNCTION
- CREATE PROCEDURE
- CREATE TABLE
- CREATE VIEW
Для выполнения обновления пользователь sde должен быть добавлен в роль db_owner в базе данных.
Другим вариантом является выполнение обновления пользователем (не sde), который включен в роль базы данных db_owner или фиксированную серверную роль sysadmin.
Примечание:Базы геоданных, созданные в версиях, предшествующих 10.1, и имеющие имя sde, относятся к модели с несколькими пространственными базами данных. Поэтому для обновления базы геоданных необходимо войти в систему в качестве пользователя sysadmin.
Пользователь dbo уже имеет права доступа, необходимые для создания базы геоданных в базе данных.
Пользователь dbo уже имеет права доступа, необходимые для выполнения обновления.
Другим вариантом является выполнение обновления пользователем, который включен в роль базы данных db_owner.
Модель с несколькими пространственными базами данных (всегда в схеме sde)
Не используется: начиная с версии ArcGIS 10.1 нельзя создавать базу геоданных с несколькими пространственными базами данных.
Базу геоданных должен обновлять пользователь (не sde), который включен в фиксированную серверную роль sysadmin. Пользователи sysadmin имеют необходимые права доступа для выполнения обновления.
Дополнительные привилегии
Дополнительные права доступа к базе геоданных требуются для использования следующей функциональности: