Интеграция безопасности ArcGIS for Server с базой данных Oracle
В этом разделе
- Создание учетной записи в базе данных для автора карты
- Создание учетных записей в базе данных для пользователей веб-сервиса ArcGIS
- Создание документа и публикация его на ArcGIS for Server
- Включение интегрированной безопасности для Oracle
- Тестирование интегрированной безопасности
Когда пользователь создает запрос к ГИС-ресурсу, который использует данные базы Oracle, ArcGIS for Server может передать удостоверение пользователя базе данных, давая ей возможность контролировать доступ на основе удостоверения пользователя. В настоящее время такая возможность не доступна для других систем баз данных. Этот объект в настоящее время доступен только для картографических сервисов.
Когда используется безопасность на уровне базы данных, пользователю могут быть предоставлены права для доступа к таблицам (и/или столбцам и строкам) в базе данных в дополнение или взамен прав доступа к веб-сервисам ArcGIS for Server. Следуйте приведенным ниже инструкциям, чтобы сконфигурировать интегрированную безопасность для базы данных Oracle.
- Создание учетной записи в базе данных для автора карты.
- Создание учетных записей в базе данных для пользователей веб-сервиса ArcGIS.
- Создание документа и публикация его на ArcGIS for Server.
- Включение интегрированной безопасности базы данных.
- Тестирование интегрированной безопасности.
Создание учетной записи в базе данных для автора карты
Для поддержки интегрированной безопасности автор документа карты должен иметь требуемые права доступа в базе данных. Необходимо будет задать учетную запись в базе данных, используемую для создания документа карты. Как администратор базы данных создайте и назначьте права доступа пользователю, который будет автором карты:
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. Чтобы включить интегрированную безопасность базы данных, выполните следующие действия:
- Откройте директорию администратора (http://gisserver.domain.com:6080/arcgis/admin) и войдите в качестве основного администратора сайта или как пользователь с правами доступа.
- Щелкните система (system) > свойства (properties) > обновить (update).
- В текстовом окне Свойства (Properties) введите JSON, указанные ниже:
{"pushIdentityToDatabase" : "true" }
- Щелкните Обновить (Update), чтобы сохранить изменения.
Тестирование интегрированной безопасности
Создайте картографическое веб-приложение, использующее веб-сервис ArcGIS, созданный с поддержкой интегрированной безопасности. Откройте веб-приложение в веб-браузере. В веб-приложении должны отобразиться только слои/объекты, к которым пользователю были предоставлены права доступа. Можно повторить тест, создав новое картографическое веб-приложение, использующее регистрационные данные другого пользователя.