Пользовательские права доступа в базах геоданных SQL Server
В таблицах этого раздела перечислены минимальные необходимые права, предоставляемые основным типам пользователей: пользователи, просматривающие данные, создающие данные, а также администратор базы геоданных.
В первой таблице указаны минимальные привилегии, требующиеся для каждого типа пользователя.
Во второй таблице перечислены привилегии, необходимые для создания или обновления базы геоданных.
Дополнительные, необязательные привилегии для использования различной функциональности базы геоданных, перечислены в последнем разделе.
Для администрирования прав доступа к базе данных можно использовать приложение SQL Server Management Studio. Для предоставления или отзыва привилегий можно использовать также выражения Transact SQL.
Права на набор данных должны быть предоставлены или отозваны владельцем набором данных с помощью диалогового окна Права (Privileges) или инструмента геообработки Изменить права (Change Privileges), который доступен в ArcGIS for Desktop. Инструкции см. в разделах Предоставление и отзыв прав на наборы данных и Изменение прав.
Привилегия CONNECT предоставляется на уровне базы данных для роли public по умолчанию. Если вы отзываете эту привилегию для public, вы должны явно предоставить право CONNECT конкретным ролям и/или пользователям баз данных.
Минимальные привилегии
Тип пользователя |
Привилегии в базе данных |
Привилегии для наборов данных |
Примечания |
---|---|---|---|
Пользователь, имеющий право просматривать данные |
SELECT |
Если все таблицы в базе данных доступны для чтения, вы можете назначить пользователям роль базы данных db_datareader, иначе предоставьте право SELECT для просмотра определенных таблиц и представлений. |
|
Редактор данных |
|
Если все таблицы в базе данных доступны для редактирования, вы можете назначить пользователям роли db_datareader и db_datawriter и предоставить права EXECUTE на уровне базы данных. |
|
Пользователь, имеющий право на создание данных |
|
Имена пользователей-владельцев данных в базе данных должны совпадать с именем их схемы по умолчанию. Например, для пользователя с именем simon имя схемы по умолчанию должно быть simon. Если это не так, пользователь не сможет создать объекты базы геоданных, такие как классы объектов. |
|
Администратор базы геоданных |
Если администратором базы геоданных является пользователь с именем sde, и если этому пользователю в базе геоданных принадлежат только системные объекты, все что ему нужно - это подключение к базе геоданных, после того, как она создана. Однако, если базу геоданных необходимо обновить, или пользователю sde нужно сбросить подключения или просмотреть всех пользователей базы данных, требуются дополнительные права. |
SELECT, INSERT, UPDATE и DELETE для версионных наборов данных |
Права доступа, необходимые для создания или обновления базы геоданных
В таблице ниже перечислены пользователи и привилегии, необходимые для создания или обновления баз геоданных в SQL Server.
Тип базы геоданных |
Пользователь и привилегии, необходимые для создания базы геоданных |
Пользователь и привилегии, необходимые для обновления базы геоданных |
---|---|---|
База геоданных в схеме sde |
Пользователю sde требуются следующие права доступа:
|
Для выполнения обновления пользователь sde должен быть добавлен в роль db_owner в базе данных. Другим вариантом является выполнение обновления пользователем (не sde), который включен в роль базы данных db_owner или фиксированную серверную роль sysadmin. Примечание: Базы геоданных, созданные в версиях, предшествующих 10.1, и имеющие имя sde, относятся к модели с несколькими пространственными базами данных. Поэтому для обновления базы геоданных необходимо войти в систему в качестве пользователя sysadmin. |
Схема dbo |
Пользователь dbo уже имеет права доступа, необходимые для создания базы геоданных в базе данных. |
Пользователь dbo уже имеет права доступа, необходимые для выполнения обновления. Другим вариантом является выполнение обновления пользователем, который включен в роль базы данных db_owner. |
Модель с несколькими пространственными базами данных (всегда в схеме sde) |
Не используется: начиная с версии ArcGIS 10.1 нельзя создавать базу геоданных с несколькими пространственными базами данных. |
Базу геоданных должен обновлять пользователь (не sde), который включен в фиксированную серверную роль sysadmin. Пользователи sysadmin имеют необходимые права доступа для выполнения обновления. |
Дополнительные привилегии
Дополнительные права доступа к базе геоданных требуются для использования следующей функциональности:
- Для удаления подключений к базе геоданных, администратор (пользователь sde) базы геоданных в схеме sde должен быть добавлен в фиксированную серверную роль processadmin с правами VIEW DEFINITION. Инструмент геообработки Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase) включает пользователя sde в эту роль и наделяет соответствующими привилегиями. Можно отозвать эти привилегии и удалить пользователя из роли processadmin после создания базы геоданных, но если вы это сделаете, пользователь sde не сможет отключать пользователей от базы геоданных.
- Если вы хотите, чтобы пользователи, добавляющие данные, имели возможность видеть существующих пользователей и роли в базе данных, им необходимо присвоить права VIEW DEFINITION. (Эти привилегии назначаются автоматически, если пользователи создаются с помощью инструмента геообработки Создать пользователя базы данных (Create Database User).)
- Пользователь-владелец XML-столбца должен быть наделен привилегиями REFERENCES в полнотекстовом каталоге, используемом для индексирования XML-столбца.
- Всем пользователям, которые будут создавать в базе данных схему XML с помощью SDE API, должны быть предоставлены привилегии CREATE XML SCHEMA COLLECTION.
- В случае настройки базы геоданных для использования таблиц совместно используемых файлов журнала (shared log) всем пользователям базы данных понадобятся привилегии CREATE TABLE.