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