Права доступа для баз геоданных в 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
  • У каждого пользователя должно быть право CONTROL для схемы с именем, совпадающим с именем пользователя, и эта схема должна быть схемой пользователя по умолчанию.

Имена схем должны совпадать с именами отдельных пользователей. Вы не можете использовать отдельную схему для всех создателей данных. Например, для пользователя с именем 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

У пользователя sde должно быть право CONTROL для схемы sde, и эта схема должна быть схемой sde пользователя по умолчанию.

Если опции базы данных 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-столбца.