2008-11-01

Безопасность и разграничение доступа в ArcGIS Server 9.3 for .NET [Раздел 4. Защита при Интернет-подключениях]

Разграничение доступа при Интернет-подключениях выполняется путем назначения прав доступа пользователям и группам пользователей (Roles). Назначение прав доступа к сервисам представляется возможным только для всех видов доступа сразу (SOAP, REST, OGC), то есть, либо у пользователя есть доступ к сервису, либо его нет. Аналогично, можно разрешить или запретить доступ к веб-приложению (создаваемому при помощи Manager), нельзя разграничивать доступ к отдельным операциям.

ArcGIS Server поддерживает следующие системы управления пользователями:

·         Windows Domain. Описание настройки прав доступа.

·         Microsoft SQL Server. Описание настройки прав доступа.

·         Управление пользователями через ASP.NET Membership framework (СУБД, XML, Active Directory, LDAP)

Возможные способы аутентификации ArcGIS Server 9.3 for .NET (аутентификация — сервис контроля доступа, осуществляющий проверку регистрационной информации пользователя):

·         Windows authentication (стандартная Windows-аутентификация). При таком способе аутентификации возможна работа только Windows-пользователей, а ответственным за аутентификацию является веб-сервер (IIS). При подключении к серверу, находящемуся в той же локальной сети, данные аутентификации передаются автоматически, то есть окно ввода идентификационной информации не отображается.

·         HTTP Basic and Digest (аутентификация по HTTP). Аналогично Windows authentication, при таком способе аутентификации возможна работа только Windows-пользователей, а ответственным за аутентификацию является веб-сервер (IIS). Диалог ввода идентификационной информации отображается всегда.

·         Token-based authentication (аутентификация на основе уникального ключа). Только для веб-сервисов, не пригодна для веб-приложений. Способ аутентификации подходит для всех видов систем управления пользователями. Подробнее об использовании ключей.

·         Forms-based authentication (форма ввода идентификационной информации). Применяется для веб-приложений.

Поддерживать несколько способов аутентификации возможно при помощи создания нескольких инстанций веб-сервера, привязанных к одному ГИС-серверу.

Для повышения безопасности при Интернет-подключениях рекомендуется использовать шифрование Secure Sockets Layer (SSL).

Основной каталог для хранения информации о настройках безопасности ГИС-сервера — <ArcGIS WebInstance>\Security [2]. При изменении настроек безопасности в приложении Manager, они сохраняются в файле web.config в этом каталоге и дублируются в одноименные файлы в каталогах Rest, Services, Tokens, а также в web.config всех защищаемых веб-приложений.

4.1 Разграничение доступа к веб-сервисам

Для разрешения или запрещения веб-доступа к сервису можно воспользоваться приложением Manager. Следует выбрать нужный сервис в разделе Manage Services, редактировать его свойства (команда Edit) и перейти на закладку Capabilities. Переключатель Enable web access определяет, разрешен ли веб-доступ к сервису.

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

Внимание! Настройки доступа к веб-сервисам, описанные в этом разделе, влияют только на пользователей, подключающихся через Интернет (по ссылке http://<server>/<instance>/services [2]). Права доступа для локальных пользователей (подключаются по имени SOM-машины) определяются по правилам, описанным в разделе Защита при локальных подключениях.

Для разграничения доступа к веб-сервисам следует:

1.   Настроить каталог пользователей и ролей в ArcGIS Server, используя раздел Security приложения Manager.

2.   Определить пользователей, имеющих возможность доступа к каждому сервису по отдельности (или к каталогу сервисов). Services > Manage Services > Редактировать Permissions в приложении Manager.

3.   Включить Security for GIS Services в разделе Security > Settings приложения Manager. Этот шаг можно выполнять только после выполнения шагов 1 и 2, в противном случае, новые разрешения не будут применены. Важно отметить, что отключить Security for GIS Services в приложении Manager нельзя. Однако это можно сделать вручную при помощи редактирования конфигурационных файлов.

4.1.1 Определение разрешенных операций

Каждый сервис может быть ограничен предоставлением только определенного типа операций. Перечень предоставляемых операций распространяется на всех клиентов сервиса.

Для определения типов операций сервиса можно воспользоваться приложением Manager. Следует выбрать нужный сервис в разделе Manage Services, редактировать его свойства (команда Edit) и перейти на закладку Capabilities. Переключатель Enable web access должен быть включен. Также можно определить типы предоставляемых сервисом операций сразу при создании сервиса.

Для сервисов Map service возможно разрешать/ запрещать группы операций Map, Query, Data, которые включают в себя следующие команды:

Map

Query

Data

GetDocumentInfo

GetLegendInfo

GetMapCount

GetMapName

GetDefaultMapName

GetServerInfo

GetSupportedImageReturnTypes

ExportMapImage

IsFixedScaleMap

ToMapPoints

FromMapPoints

HasSingleFusedMapCache

GetTileCacheInfo

GetMapTile

HasLayerCache

GetLayerTile

GetVirtualCacheDirectory

GetCacheName

ComputeScale

ComputeDistance

Identify

QueryFeatureCount

QueryFeatureIDs

QueryHyperlinks

GetSQLSyntaxInfo

Find

QueryFeatureData

По умолчанию доступны все виды операций.

Для сервисов Geocode возможно разрешать/ запрещать группы операций Geocode, ReverseGeocode, которые включают в себя следующие команды:

Geocode

ReverseGeocode

GeocodeAddress

GeocodeAddresses

StandardizeAddress

FindAddressCandidates

GetAddressFields

GetCandidateFields

GetIntersectionCandidateFields

GetStandardizedFields

GetStandardizedIntersectionFields

GetResultFields

GetDefaultInputFieldMapping

GetLocatorProperties

ReverseGeocode

По умолчанию доступны все виды операций.

Для сервисов Geodata возможно разрешать/ запрещать группы операций Query, Extraction, Replication, которые включают в себя следующие команды:

Query

Extraction

Replication

Get_Versions

Get_DefaultWorkingVersion

Get_DataElements

Get_MaxRecordCount

TableSearch

GetNextResultPortion

Get_Replicas

Get_WrappedWorkspaceType

ExpandReplicaDatasets

ExtractData

CreateReplica

ExportAcknowledgement

ExportReplicaDataChanges

ImportAcknowledgement

ImportReplicaDataChanges

ReExportReplicaDataChanges

UnregisterReplica

ImportData

По умолчанию доступны группы операций Query и Extraction.

Для сервисов Globe возможно разрешать/ запрещать группы операций Globe, Animation, Query, которые включают в себя следующие команды:

Globe

Animation

Query

Get_Version

Get_LayerCount

Get_LayerInfos

Get_LegendInfos

Get_Config

Get_MQT

Get_Configuration

Get_Tile

Get_Symbols

Get_Textures

Get_VirtualCacheDirectory

Get_Animation

Identify

Find

По умолчанию доступны все виды операций.

4.1.2 Размещение сервисов по каталогам

Организовав структуру каталогов для сервисов (новая возможность в ArcGIS Server 9.3), можно определять права доступа к целым группам сервисов. Для организации структуры каталогов сервисов можно воспользоваться приложениями ArcGIS Server Manager (раздел Services) или ArcGIS Catalog (раздел GIS Servers —> <server>).

При назначении правил доступа для каталога сервисов, все включенные в этот каталог сервисы унаследуют соответствующие права, а предыдущие настройки будут утрачены. Подробнее о наследовании разрешений.

Важно отметить, что созданные каталоги уже нельзя переименовать, а созданные сервисы переносить в другой каталог. Следует продумать структуру каталогов заранее. Однако, предположительно, это можно сделать «вручную», «поколдовав» над директорией, где находятся описание всех сервисов: <ArcGIS>\server\user\cfg\ [2].

Подробнее о размещении сервисов по каталогам.

4.1.3 Настройка прав доступа при помощи редактирования конфигурационных файлов

Настройки прав доступа к сервисам хранятся в директории <ArcGIS>\server\user\cfg\ [2] в XML-файлах с расширением .SEC. Сервис может иметь собственный конфигурационный файл настроек безопасности с именем <service>.<service_type>.sec, или наследовать настройки безопасности своего каталога, которые хранятся в файлах Folder.sec.

Настройка прав доступа может быть осуществлена при помощи редактирования конфигурационных файлов .SEC, однако рекомендуется использовать для этих целей приложение Manager.

По заявлениям ESRI, редактирование .SEC-файла незамедлительно приводит к изменению настроек безопасности [1]. Однако Manager отражает изменения только после перезапуска SOM.

При помощи редактирования конфигурационного файла можно, как и при помощи приложения Manager, разрешить или запретить доступ к сервису группам пользователей (Roles), размещенным на сервере и в домене. Важно корректно указывать названия групп пользователей.

Пример конфигурационного файла:

<Permissions>

        <Allowed>

                <Principal>Editors</Principal>

                <Principal>Managers</Principal>

        </Allowed>

        <Denied>

                <Principal>Users</Principal>

        </Denied>

</Permissions>

Подробнее о конфигурационных файлах .SEC.

4.2   Разграничение доступа к веб-приложениям

Права доступа к веб-приложениям различных пользователей и групп пользователей определяются при помощи приложения Manager, или при помощи инструмента Web Site Administration Tool (WSAT) в Microsoft Visual Studio.

Для разграничения доступа к веб-приложениям следует:

1.   Настроить каталог пользователей и ролей в ArcGIS Server, используя раздел Security приложения Manager.

2.   Определить возможность доступа к каждому приложению по отдельности. Applications > Web Applications > Редактировать Permissions в приложении Manager.

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

 


Скачать PDF-версию с оригинальным оформлением. © Для использования опубликованных на ресурсе материалов достаточно упоминания имени автора и адреса первоисточника. Дата обновления: 2008-11-01.

Комментариев нет: