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

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

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

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

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

Примечание:

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

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

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

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

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

SELECT

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

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

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

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

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

  • CREATE TABLE
  • CREATE PROCEDURE
  • CREATE VIEW

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

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

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

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

Дополнительные права требуются для предоставления пользователю sde возможности сброса или просмотра всех подключений в SQL Server, Amazon Relational Database Service (RDS) for SQL Server и Google Cloud SQL for SQL Server.

Чтобы разрешить пользователю sde переносить подключения из Microsoft Azure SQL Managed Instance, дополнительные права не требуются.

Пользователь sde не может переносить подключения в Azure SQL Database.

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

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

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

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

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

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

Если опции базы данных READ_COMMITTED_SNAPSHOT и ALLOW_SNAPSHOT_ISOLATION не заданы как ON до создания базы геоданных, у пользователя sde должно быть право ALTER.

Для баз геоданных в Microsoft Azure SQL Database также необходимо право VIEW DATABASE STATE.

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

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

Схема dbo

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

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

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

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

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

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