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

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

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

В первой секции данного раздела перечислены пакеты прав доступа, необходимые для всех пользователей. Эти права доступа должны быть предоставлены роли public для создания или обновления баз геоданных. Однако они могут быть предоставлены всем отдельным пользователям после создания или обновления базы геоданных, если вы хотите запретить им роль public.

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

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

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

Для администрирования прав доступа можно использовать Oracle Enterprise Manager. Вы также можете использовать выражения SQL для предоставления или отмены прав.

Права доступа пакетов

Права доступа на выполнение требуются для следующих пакетов:

  • dbms_lob
  • dbms_lock
  • dbms_pipe
  • dbms_utility
  • dbms_sql
  • utl_raw

Права на выполнение этих пакетов должны быть предоставлены роли public для создания или обновления базы геоданных.

GRANT EXECUTE ON dbms_pipe TO public;
GRANT EXECUTE ON dbms_lock TO public;
GRANT EXECUTE ON dbms_lob TO public;
GRANT EXECUTE ON dbms_utility TO public;
GRANT EXECUTE ON dbms_sql TO public;
GRANT EXECUTE ON utl_raw TO public;

Подсказка:

Права доступа на выполнение: dbms_utility, dbms_sql и utl_raw предоставлены роли public в Oracle по умолчанию. Однако вам необходимо предоставить права на выполнение к этим пакетам, если вы явно запретили их для роли public.

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

Внимание:

Вы не можете предоставить права доступа на выполнение для роли и предоставить эту роль всем пользователям, поскольку права доступа, полученные через роли пользователей, не применимы, если используются пакеты Oracle.

После предоставления прав доступа на выполнение отдельным пользователям, перекомпилируйте схему sde:

EXEC dbms_utility.compile_schema( 'SDE' );

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

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

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

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

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

  • CREATE SESSION

SELECT для объектов базы данных

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

  • CREATE SESSION

SELECT, INSERT, UPDATE и DELETE для наборов данных, принадлежащим другим пользователям.

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

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

  • CREATE SEQUENCE
  • CREATE SESSION
  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW

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

  • CREATE PROCEDURE
  • CREATE SEQUENCE
  • CREATE SESSION
  • CREATE TABLE
  • CREATE TRIGGER

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

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

Для создания или обновления базы геоданных в Oracle, администратору базы геоданных должны быть предоставлены права доступа, перечисленные в таблицах далее. Основания для прав доступа или групп прав доступа также приведены в таблицах. Некоторые из этих прав доступа могут быть запрещены после того, как создание или обновление завершено, как указано в поле Цель и как показано в минимальных правах доступа администратора базы геоданных, приведенных в предыдущей таблице.

В первой таблице приведен список прав доступа, необходимых для пользователя sde для создания базы геоданных.

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

Права доступа сгруппированы по цели, которой они служат при создании и обновлении базы геоданных.

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

Права доступаНазначение
  • CREATE SESSION

Подключитесь к Oracle.

  • CREATE TABLE
  • CREATE TRIGGER

Создает репозиторий базы геоданных.

  • CREATE SEQUENCE

Создает последовательности для генерации ID. Данные права доступа могут быть запрещены после создания базы геоданных.

  • CREATE PROCEDURE

Создает пакеты для управления содержанием системных таблиц базы геоданных.

  • EXECUTE ON DBMS_CRYPTO

Разрешает создание функции участника карты для типа ST_Geometry, который вызывается в случае выполнения пространственного объединения или пересечения.

  • CREATE INDEXTYPE
  • CREATE LIBRARY
  • CREATE OPERATOR
  • CREATE PUBLIC SYNONYM
  • CREATE TYPE
  • CREATE VIEW
  • DROP PUBLIC SYNONYM

Создает тип данных ST_Geometry и типы, используемые для оптимизации запросов. CREATE VIEW необходим для создания системных представлений (видов): GDB_Items_vw и GDB_ItemRelationships_vw. Данные права доступа могут быть запрещены после создания базы геоданных.

  • ADMINISTER DATABASE TRIGGER

Позволяет создать триггеры событий базы данных, необходимые для изменения таблиц ST_GEOMETRY_COLUMNS и ST_GEOMETRY_INDEX, если таблица со столбцом ST_Geometry была удалена, изменена или переименована с использованием SQL. Данные права доступа могут быть запрещены после создания базы геоданных.

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

Права доступаНазначение
  • CREATE SESSION

Подключитесь к Oracle.

  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW

Обновляет репозиторий (хранилище) базы геоданных. Право доступа CREATE VIEW может быть запрещено после обновления.

  • CREATE PROCEDURE

Обновляет пакеты для управления содержанием системных таблиц базы геоданных.

  • CREATE SEQUENCE

Обновляет последовательности генерации ID. Данные права доступа могут быть запрещены после обновления.

  • EXECUTE ON DBMS_CRYPTO

Обновляет функцию создания члена карты для типа ST_Geometry, который вызывается в случае выполнения пространственного объединения или пересечения.

  • CREATE INDEXTYPE
  • CREATE LIBRARY
  • CREATE OPERATOR
  • CREATE PUBLIC SYNONYM
  • CREATE TYPE
  • DROP PUBLIC SYNONYM

Обновляет тип данных ST_Geometry, а также типы, используемые для оптимизации запросов. Данные права доступа могут быть запрещены после обновления.

  • ALTER ANY INDEX
  • CREATE ANY INDEX
  • CREATE ANY TRIGGER
  • CREATE ANY VIEW
  • DROP ANY INDEX
  • DROP ANY VIEW
  • SELECT ANY TABLE

Обновить содержимое базы геоданных.

  • ADMINISTER DATABASE TRIGGER

Позволяет создать триггеры событий базы данных, необходимые для изменения таблиц ST_GEOMETRY_COLUMNS и ST_GEOMETRY_INDEX, если таблица с ST_Geometry была удалена, изменена или переименована с использованием SQL. Данные права доступа могут быть запрещены после обновления.

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

Многие организации предпочитают использовать преимущества дополнительных объектов Oracle для дальнейшего улучшения возможностей их баз геоданных. Некоторые дополнительные общие права доступа для администратора базы геоданных и их цели перечислены в таблице далее. Права доступа сгруппированы по цели, которой они служат.

Дополнительные права доступа Oracle администратора базы геоданных

Права доступаПредоставленоНазначение
  • ALTER SESSION
  • PLUSTRACE

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

Включает трассировку SQL, объект SQL*Plus AUTOTRACE и изменение установочных параметров, определенных для данного сеанса, для улучшения производительности и решения проблем; создает роль PLUSTRACE с помощью запуска ORACLE_HOME/sqlplus/admin/plustrce.sql.

  • ALTER ANY INDEX
  • ANALYZE_ANY
  • SELECT ANY DICTIONARY

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

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

Это применимо в организациях, где администратор базы геоданных не является администратором базы Oracle.

  • CREATE DATABASE LINK
  • CREATE MATERIALIZED VIEW
  • CREATE VIEW

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

Применяется для интеграции базы геоданных с другими непространственными базами данных в многопользовательской базе данных.

  • RESTRICTED SESSION

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

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

  • UNLIMITED TABLESPACE

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

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

  • ALTER SYSTEM
  • SELECT_CATALOG_ROLE

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

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

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

SELECT ON DBA_ROLES

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

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

INHERIT PRIVILEGES ON <пользователь>

Или

INHERIT ANY PRIVILEGES ON <пользователь>

sde

Эти дополнительные права применяются только в Oracle 12c или более поздних версиях. Необходимо предоставить это право пользователю sde, чтобы разрешить импорт Data Pump схемы пользователя sde, выполняемый другим пользователем, например, системным или Oracle sys.

Это право не применяется к владельцам базы геоданных в пользовательской схеме.