Необходимые права доступа к базе данных

Insights в ArcGIS Enterprise
Insights desktop
Примечание:

Подключения к базам данных поддерживаются в Insights in ArcGIS Enterprise и Insights desktop.

Существует два типа операций с данными в ArcGIS Insights:

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

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

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

Примечание:

Эти подключение только для чтения. Insights не разрешает создание или изменение данных в базе данных.

Данные будут скопированы в размещенное хранилище данных развертывания, если у вас нет необходимых прав доступа базы данных на кэширование данных.

Google BigQuery

В BigQuery права доступа применяются к пользователям через роли. Пользователь, который создает подключение базы данных к BigQuery, должен иметь права доступа основных ролей (Editor, Owner или Viewer) или эквивалентные права доступа в Пользовательской роли.

Microsoft SQL Server

Тип операцииТребуемые права доступаЦель

Без кэширования данных

CONNECT

Это право доступа позволяет пользователям подключаться к базе данных.

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

SELECT в таблицах других пользователей

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

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

С кэшированием данных

Примечание:

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

ALTER для схемы

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

CREATE TABLE

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

Примеры

Следующий код SQL – пример того, как права доступа предоставляются базам данных SQL Server. Администраторы баз данных могут на основе этих примеров настроить предоставление прав доступа пользователям баз данных в своей организации.

Предоставление прав доступа на чтение-запись:

use <databaseName>;
GO

GRANT CREATE TABLE TO <userName>;
GRANT ALTER ON SCHEMA::dbo TO <userName>;

EXEC sp_addrolemember N'db_datareader', N'<userName>';
EXEC sp_addrolemember N'db_datawriter', N'<userName>';
GO

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

use <databaseName>;
GO

EXEC sp_addrolemember N'db_datareader', N'<userName>';
GO

Предоставление прав доступа SELECT только на чтение определенных таблиц:

use <databaseName>;
GO

GRANT SELECT ON OBJECT::<schema>.<tableName1> TO <userName>;
GRANT SELECT ON OBJECT::<schema>.<tableName2> TO <userName>;

Oracle

Тип операцииТребуемые права доступаЦель

Без кэширования данных

Роль CONNECT или CREATE SESSIONS

Роль CONNECT или CREATE SESSION позволяет пользователям подключаться к базе данных.

Начиная с Oracle 10g Release 2 (10.2), роль CONNECT наделена правами доступа только CREATE SESSION.

SELECT в таблицах других пользователей

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

С кэшированием данных

Примечание:

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

CREATE TABLE*

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

*Резервирует соответствующую QUOTA для пользователя в табличном пространстве с помощью команды ALTER USER <username> QUOTA <size> ON <tablespace>.

CREATE SEQUENCE

Право доступа CREATE SEQUENCE позволяет Insights генерировать пространственные индексы.

Примеры

Следующий код SQL – пример того, как права доступа предоставляются базам данных Oracle. Администраторы баз данных могут на основе этих примеров настроить предоставление прав доступа пользователям баз данных в своей организации.

Предоставление прав доступа на чтение-запись:

GRANT CONNECT TO <userName>; 
GRANT CREATE TABLE TO <userName>; 
ALTER USER <userName> QUOTA <size> ON USERS; 
GRANT CREATE SEQUENCE TO <userName>;

Предоставление прав доступа только на чтение:

GRANT CONNECT TO <userName>; 
GRANT SELECT ON <schema>.<tableName> TO <userName>;

PostgreSQL

Тип операцииТребуемые права доступаЦель

Без кэширования данных

CONNECT к базе данных

Это право доступа позволяет пользователям подключаться к базе данных.

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

USAGE для схем пользователей или SELECT для таблиц пользователей

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

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

С кэшированием данных

Примечание:

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

CREATE для схемы

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

Примеры

Следующий код SQL – пример того, как права доступа предоставляются базам данных PostgreSQL. Администраторы баз данных могут на основе этих примеров настроить предоставление прав доступа пользователям баз данных в своей организации.

Предоставление прав доступа на чтение-запись:

GRANT CONNECT ON DATABASE <databaseName> TO <userName>;
GRANT USAGE ON SCHEMA <schemaName>TO <userName>;
GRANT CREATE ON SCHEMA <schemaName> TO <userName>;

Предоставление прав доступа только на чтение:

GRANT CONNECT ON DATABASE <databaseName> TO <userName>;
GRANT USAGE ON SCHEMA <schemaName>TO <userName>;   -- Give the access to all tables in the schema
GRANT SELECT ON <tableName> TO <userName>;  -- Or give the access to a specific table

SAP HANA

Тип операцииТребуемые права доступаЦель

Без кэширования данных

SELECT ON sys.st_geometry_columns и sys.st_spatial_reference_systems

Эти права необходимы для чтения метаданных ST_Geometry для пространственных операций.

SELECT ON <table1>,<table2>, <tablen>

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

С кэшированием данных

Примечание:

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

CREATE TABLE

DROP TABLE

Или пользователь должен быть стандартным пользователем HANA.

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

Примеры

Следующий код SQL – пример того, как права доступа предоставляются базам данных SAP HANA. Администраторы баз данных могут на основе этих примеров настроить предоставление прав доступа пользователям баз данных в своей организации.

Стандартный пользователь с правами на чтение-запись имеет все необходимые права для использования Insights.

Нестандартные пользователи:

GRANT SELECT ON SCHEMA <schemaName> to <userName>;   -- executed by the schema owner 

GRANT SELECT ON sys.st_geometry_columns TO <userName>;   -- executed by SYSTEM account
GRANT SELECT ON sys.st_spatial_reference_systems TO <userName>;

Snowflake

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

Необходимые права доступаЦель

USAGE для <база данных>

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

USAGE для <схемы>

Требуется для доступа к таблицам из схемы.

Схема по умолчанию - PUBLIC.

SELECT для <таблицы>

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

USAGE для <хранилища>

Требуется для выполнения запросов в указанном хранилище.

Примеры

Следующий код SQL – пример того, как права доступа предоставляются базам данных Snowflake. Администраторы баз данных могут на основе этих примеров настроить предоставление прав доступа пользователям баз данных в своей организации.

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

grant USAGE on DATABASE <databaseName> to role <roleName>;
grant USAGE on SCHEMA <schemaName> to role <roleName>;
grant SELECT ON ALL TABLES IN DATABASE <databaseName> to role <roleName>;
grant USAGE on WAREHOUSE <warehouseName> to role <roleName>;

Что дальше

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