Skip To Content

Интеграция безопасности ArcGIS for Server с базой данных Oracle

Когда пользователь создает запрос к ГИС-ресурсу, который использует данные базы Oracle, ArcGIS for Server может передать удостоверение пользователя базе данных, давая ей возможность контролировать доступ на основе удостоверения пользователя. В настоящее время такая возможность не доступна для других систем баз данных. Этот объект в настоящее время доступен только для картографических сервисов.

Когда используется безопасность на уровне базы данных, пользователю могут быть предоставлены права для доступа к таблицам (и/или столбцам и строкам) в базе данных в дополнение или взамен прав доступа к веб-сервисам ArcGIS for Server. Следуйте приведенным ниже инструкциям, чтобы сконфигурировать интегрированную безопасность для базы данных Oracle.

  1. Создание учетной записи в базе данных для автора карты.
  2. Создание учетных записей в базе данных для пользователей веб-сервиса ArcGIS.
  3. Создание документа и публикация его на ArcGIS for Server.
  4. Включение интегрированной безопасности базы данных.
  5. Тестирование интегрированной безопасности.

Создание учетной записи в базе данных для автора карты

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

CREATE USER <map author> IDENTIFIED BY <map author password>
 DEFAULT TABLESPACE <tablespace_name>
 TEMPORARY TABLESPACE <temp_tablespace_name>;

 GRANT CONNECT, RESOURCE TO <map author>;

Дополнительную информацию и требования к созданию пользователей см. в документации по Oracle.

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

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

CREATE USER <ArcGIS Web user> IDENTIFIED by <ArcGIS Web user>
DEFAULT TABLESPACE <tablespace_name>
TEMPORARY TABLESPACE <temp_tablespace_name>;

GRANT CONNECT,RESOURCE to <ArcGIS Web user>;

ALTER USER <ArcGIS Web user> GRANT CONNECT THROUGH <map author>;
Примечание:
При создании имен пользователей в базе данных следует использовать строчные буквы, поскольку ArcGIS for Server передает имена пользователей в базу данных в нижнем регистре. При использовании Microsoft Active Directory в качестве хранилища удостоверений следует заключать имя пользователя в двойные кавычки. Например:
CREATE USER "<domain name>\<user name>" IDENTIFIED by <user name>

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

--Role for displaying boundary layers
CREATE ROLE sel_boundary_role NOT IDENTIFIED;
GRANT SELECT ON <map author>.States TO sel_boundary_role;
GRANT SELECT ON <map author>.Counties TO sel_boundary_role;

GRANT sel_boundary_role to <user one>;

-- Role for displaying transportation layer
CREATE ROLE sel_trans_role NOT IDENTIFIED;
GRANT SELECT,UPDATE,INSERT,DELETE ON <map author>.Roads TO sel_trans_role;

GRANT sel_trans_role to <user two>;

Также можно сконфигурировать права для отдельных строк (объектов) и столбцов (полей атрибутов) в базе данных Oracle. Дополнительные сведения см. в документации по базе данных Oracle.

Создание документа и публикация его на ArcGIS for Server

Для создания документа можно использовать ArcMap. При добавлении ресурсов базы геоданных необходимо использовать регистрационные данные учетной записи автора карты в базе данных, описанные в статье Определение автора карты. Опубликуйте карту на ArcGIS for Server. Помните, что функции картографического сервиса, например, WMS и KML, будут накладывать те же ограничения безопасности, что и в случае со стандартными веб-сервисами ArcGIS (SOAP/REST).

Включение интегрированной безопасности для Oracle

После определения учетных записей базы данных необходимо создать пользователей и роли в хранилище удостоверений ArcGIS for Server, которые полностью соответствуют пользователям и ролям в Oracle. Как добавить нового пользователям см. в статье Добавление нового пользователя в Менеджере. Как добавить новую роль, см. в статье Добавление новой роли в Менеджере.

После создания пользователей и ролей в хранилище удостовреений ArcGIS for Server необходимо сконфигурировать ArcGIS for Server, чтобы он передавал удостоверение пользователя в базу данных Oracle. Чтобы включить интегрированную безопасность базы данных, выполните следующие действия:

  1. Откройте директорию администратора (http://gisserver.domain.com:6080/arcgis/admin) и войдите в качестве основного администратора сайта или как пользователь с правами доступа.
  2. Щелкните система (system) > свойства (properties) > обновить (update).
  3. В текстовом окне Свойства (Properties) введите JSON, указанные ниже:
    {"pushIdentityToDatabase" : "true" }
  4. Щелкните Обновить (Update), чтобы сохранить изменения.

Тестирование интегрированной безопасности

Создайте картографическое веб-приложение, использующее веб-сервис ArcGIS, созданный с поддержкой интегрированной безопасности. Откройте веб-приложение в веб-браузере. В веб-приложении должны отобразиться только слои/объекты, к которым пользователю были предоставлены права доступа. Можно повторить тест, создав новое картографическое веб-приложение, использующее регистрационные данные другого пользователя.