Skip To Content

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

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

Примечание:

Этот рабочий процесс интеграции безопасности с базой данных Oracle был удален в версии 10.7. Ознакомьтесь с разделами Доступ и авторизация в ArcGIS Server для получения информации о рекомендуемых настройках безопасности.

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

  1. Создание учетной записи в базе данных для автора карты.
  2. Создание учетных записей в базе данных для пользователей веб-сервиса ArcGIS.
  3. Создание документа и публикация его в ArcGIS 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 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 Server

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

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

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

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

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

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

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