Поделиться через


Обзор системы безопасности служб Business Connectivity Services (SharePoint Foundation 2010)

 

Применимо к: SharePoint Foundation 2010

Последнее изменение раздела: 2016-11-30

В этой статье описывается архитектура системы безопасности сервера и клиента Microsoft Business Connectivity Services, поддерживаемые среды безопасности, режимы проверки подлинности для подключения внешних типов контента к внешним системам, параметры авторизации хранимых объектов и общие методы настройки безопасности Microsoft Business Connectivity Services.

Содержание:

  • Об этой статье

  • Архитектура безопасности Business Connectivity Services

  • Обзор проверки подлинности Business Connectivity Services

  • Обзор разрешений Business Connectivity Services

  • Обеспечение безопасности служб Business Connectivity Services

Об этой статье

В Microsoft Business Connectivity Services включены возможности проверки подлинности пользователей для предоставления доступа к внешним системам и настройки разрешений для работы с данными из внешних систем. Службы Microsoft Business Connectivity Services очень гибкие и могут приспособиться к различным методам обеспечения безопасности в поддерживаемых приложениях Microsoft Office 2010 и веб-браузере.

Архитектура безопасности Business Connectivity Services

В этом разделе описывается архитектура безопасности Microsoft Business Connectivity Services.

Заметка о безопасностиSecurity Note
Для всех каналов между клиентскими компьютерами и интерфейсными серверами рекомендуется использовать протокол SSL. Протокол SSL или IPSec также рекомендуется использовать при взаимодействии между серверами, на которых установлено приложение Microsoft SharePoint Foundation 2010, и внешними системами. Исключением является невозможность использования SSL при передаче сообщений во внешние системы с помощью протокола SOAP 1.1 или при подключении к базе данных сервера SQL. Однако в этих случаях для защиты обмена данными можно использовать протокол IPSec.

Доступ к внешним данным

Когда пользователь получает доступ к внешним данным из браузера, используются три системы: компьютер пользователя, вошедшего в систему, ферма веб-сервера и внешняя система.

Архитектура безопасности BCS из веб-браузера

  1. В браузерах пользователи обычно работают с внешними данными во внешних списках или используя веб-части.

  2. Среда выполнения сервера BDC на интерфейсных серверах использует данные из службы Служба подключения к бизнес-данным для подключения к внешним системам и выполнения операций над ними.

  3. Служба безопасного хранения надежно сохраняет наборы учетных данных для внешних систем и связывает их с отдельными пользователями или их группами.

    Важно!

    Служба безопасного хранения не входит в состав SharePoint Foundation 2010. Если нужно безопасное хранение в SharePoint Foundation 2010, необходимо предоставить пользовательский поставщик безопасного хранения.

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

  5. Службы Microsoft Business Connectivity Services могут передавать учетные данные в базы данных и веб-службы, настроенные на использование проверки подлинности на основе утверждений. Обзор проверки подлинности на основе удостоверений см. в статье Планирование способов проверки подлинности (SharePoint Foundation 2010).

Обзор проверки подлинности Business Connectivity Services

Microsoft Business Connectivity Services можно настроить для передачи запросов проверки подлинности внешним системам с использованием следующих методов:

  • Учетные данные. Обычно они имеют форму сочетания "имя/пароль". Для некоторых внешних систем также могут потребоваться дополнительные учетные данные, например значение ПИН-кода.

  • Утверждения. Маркеры языка SAML можно передавать службам на основе утверждений, которые предоставляют внешние данные.

Настройка Business Connectivity Services для применения проверки подлинности на основе учетных данных

Службы Microsoft Business Connectivity Services могут использовать учетные данные, предоставляемые пользователем, для проверки подлинности запросов на получение внешних данных. Поддерживаются следующие методы, с помощью которых пользователи могут предоставить учетные данные для доступа к внешним данным:

  • Проверка подлинности Windows:

    • Проверка подлинности Windows с запросом и подтверждением (NTLM)

    • Microsoft Negotiate

  • Проверка подлинности, отличная от проверки подлинности Windows

    • На основе форм

    • Дайджест-проверка

    • Стандартная

При настройке Microsoft Business Connectivity Services для передачи учетных данных разработчик решения добавляет данные о режиме проверки подлинности во внешние типы контента. Режим проверки подлинности дает Microsoft Business Connectivity Services сведения о том, как обрабатывать входящие запросы проверки подлинности пользователей и сопоставлять их с набором учетных данных, который можно передать внешней системе контента. Например, режим проверки подлинности может указывать, какие учетные данные пользователя передаются напрямую во внешнюю систему данных. Либо он может указывать, что учетные данные пользователя следует сопоставлять с учетной записью, которая хранится в службе безопасного хранения, и затем передавать их внешней системе.

Режим проверки подлинности связывается с внешним типом контента следующими способами:

  • При создании внешнего типа контента в Microsoft SharePoint Designer.

  • Если внешняя система — веб-служба, можно использовать страницы администрирования Microsoft Business Connectivity Services, чтобы указать режим проверки подлинности.

  • Задать режим проверки подлинности можно, непосредственно изменяя XML-файл, определяющий внешний тип контента.

В следующей таблице описываются режимы проверки подлинности Microsoft Business Connectivity Services.

Режим проверки подлинности Описание

Сквозной режим

Передает учетные данные вошедшего в систему пользователя внешней системе. Учетные данные пользователя должны быть известны внешней системе.

Примечание

Если веб-приложение не настроено на проверку подлинности с использованием учетных данных Windows, внешней системе вместо учетных данных пользователя передается учетная запись "NT Authority/Анонимный вход".

Этот режим на страницах администрирования служб Microsoft Business Connectivity Services и в SharePoint Designer 2010 называется Удостоверение пользователя.

RevertToSelf

Когда пользователь обращается к внешним данным в браузере, этот режим игнорирует учетные данные пользователя и отправляет учетную запись удостоверения пула приложений, в котором работает среда выполнения BCS на веб-сервере, во внешнюю систему. Когда пользователь получает доступ к данным в клиентском приложении Office, этот режим работает так же, как и режим сквозной проверки подлинности, так как Microsoft Business Connectivity Services на клиенте работают с использованием учетных данных пользователя.

Этот режим на страницах администрирования служб Microsoft Business Connectivity Services и в SharePoint Designer 2010 называется Удостоверение службы подключения к бизнес-данным.

Примечание

По умолчанию режим RevertToSelf отключен. Перед созданием или импортом моделей, в которых используется режим RevertToSelf, его необходимо включить с помощью Windows PowerShell. Дополнительные сведения см. в разделе Режим проверки подлинности RevertToSelf. Режим RevertToSelf в размещенных средах не поддерживается.

Учетные данные Windows

Для внешних веб-служб и баз данных этот режим использует службу безопасного хранения для сопоставления учетных данных пользователя с набором учетных данных Windows во внешней системе.

Этот режим на страницах администрирования служб Microsoft Business Connectivity Services и в SharePoint Designer 2010 называется Олицетворение удостоверения Windows.

Учетные данные

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

Важно!

Для поддержания безопасности при проверке подлинности в этом режиме настоятельно рекомендуется, чтобы канал передачи данных между Microsoft Business Connectivity Services и внешней системой был защищен протоколом SSL или IPSec.

Этот режим на страницах администрирования служб Microsoft Business Connectivity Services и в Office SharePoint Designer называется Олицетворение настраиваемого удостоверения.

RDBCredentials

Для внешних баз данных в этом режиме применяется служба безопасного хранения, сопоставляющая учетные данные пользователя с набором учетных данных, предоставленных источником, отличным от Windows. Для поддержания безопасности при проверке подлинности в этом режиме настоятельно рекомендуется, чтобы канал передачи данных между Microsoft Business Connectivity Services и внешней системой был защищен протоколом SSL или IPSec.

Этот режим на страницах администрирования служб Microsoft Business Connectivity Services и в Office SharePoint Designer называется Олицетворение настраиваемого удостоверения.

DigestCredentials

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

Этот режим на страницах администрирования служб Microsoft Business Connectivity Services и в SharePoint Designer 2010 называется Олицетворение настраиваемого удостоверения — сводка.

На следующем рисунке показаны режимы проверки подлинности Microsoft Business Connectivity Services при использовании учетных данных.

Проверка подлинности Business Connectivity Services

  • В сквозном режиме проверки подлинности (с удостоверением пользователя) (A) учетные данные пользователя, вошедшего в систему, передаются непосредственно внешней системе.

  • В режиме RevertToSelf (с удостоверением модели подключения к бизнес-данным) (B) учетные данные пользователя, вошедшего в систему, заменяются учетными данными учетной записи процесса, в котором работают службы Microsoft Business Connectivity Services, после чего они передаются внешней системе.

  • Тремя режимами, использующими службу безопасного хранения, являются WindowsCredentials (олицетворение удостоверения Windows), RdbCredentials (олицетворение настраиваемого удостоверения) и Credentials. В этих режимах учетные данные пользователя сопоставляются с набором учетных данных внешней системы, а службы Microsoft Business Connectivity Services передают их внешней системе. Администраторы могут сопоставлять учетные данные пользователя с уникальной учетной записью внешней системы или сопоставлять набор пользователей, прошедших проверку, с учетной записью из одной группы.

Настройка Business Connectivity Services для применения проверки подлинности на основе утверждений

Microsoft Business Connectivity Services могут предоставлять доступ к внешним данным на основе входящих маркеров безопасности, а также передавать маркеры внешней системе. Маркер безопасности состоит из набора проверочных утверждений о пользователе, а применение маркеров безопасности называется "проверкой подлинности на основе утверждений". В SharePoint Foundation включена служба маркеров безопасности, которая выдает эти маркеры.

На следующем рисунке показано, как служба маркеров безопасности и служба безопасного хранения работают вместе при проверке подлинности на основе утверждений.

Проверка подлинности на основе утверждений в BCS

  1. Пользователь выполняет операцию над внешним списком, для которого применяется проверка подлинности на основе утверждений.

  2. Клиентское приложение запрашивает маркер безопасности у службы маркеров безопасности.

  3. На основе запрошенного удостоверения пользователя служба маркеров безопасности выдает маркер, который содержит набор утверждений и идентификатор целевого приложения. Служба маркеров безопасности возвращает маркер клиентскому приложению.

  4. Клиент передает маркер безопасности службе безопасного хранения.

  5. Служба безопасного хранения изучает маркер безопасности и использует идентификатор целевого приложения для передачи набора учетных данных, которые применяются к внешней системе.

  6. Клиент получает учетные данные и передает их внешней системе для выполнения запрошенной операции (такой как получение или обновление внешних данных).

Обзор разрешений Business Connectivity Service

Разрешения в Microsoft Business Connectivity Services связывают отдельную учетную запись, учетную запись группы или утверждение с одним или несколькими уровнями разрешений для объекта в хранилище метаданных. При правильной установке разрешений для объектов в Microsoft Business Connectivity Services решения более безопасно используют внешние данные. При планировании стратегии разрешений рекомендуется предоставлять такие разрешения каждому пользователю или группе, которые им нужны, чтобы учетные данные обеспечивали наименьшие права, необходимые для выполнения соответствующих задач.

Предупреждение

Правильная установка разрешений в Microsoft Business Connectivity Services является одним из элементов общей стратегии безопасности. Также важна защита данных во внешних системах. То, как это делается, зависит от модели безопасности и возможностей внешней системы, что выходит за рамки данной статьи.

Примечание

Для определения правил авторизации в службах Business Connectivity Services используются разрешения на объекты метаданных и разрешения во внешней системе. Например, триммер безопасности позволяет запретить отображение внешних данных в результатах поиска пользователя. Однако если пользователь каким-либо путем получит URL-адрес заблокированных внешних данных, он сможет получить к ним доступ при наличии необходимых разрешений на объект метаданных и во внешней системе. Чтобы гарантированно запретить пользователям доступ к внешним данным, необходимо задать соответствующие разрешения и в службах Business Connectivity Services, и во внешней системе.

Для чего можно задать разрешения?

Каждый экземпляр службы Служба подключения к бизнес-данным (или в случае размещения каждый раздел) содержит хранилище метаданных, включая все модели, внешние системы, внешние типы контента, методы и их экземпляры, заданные для этого хранилища. Эти объекты хранятся в иерархии, как показано на следующем рисунке:

Иерархия хранения метаданных

Примечание

На рисунке выше метки в скобках являются именами объектов, определенных в схеме метаданных Microsoft Business Connectivity Services. Метки, которые не находятся в скобках, являются именами объектов в пользовательском интерфейсе службы Служба подключения к бизнес-данным. Полное обсуждение схемы метаданных Microsoft Business Connectivity Services, а также подробные указания по выполнению различных задач разработки см. в разделе, посвященном пакету средств разработки программного обеспечения Microsoft SharePoint 2010 (https://go.microsoft.com/fwlink/?linkid=166117&clcid=0x419).

Иерархия объектов в хранилище метаданных определяет, какие объекты могут передавать свои разрешения другим объектам. На рисунке каждый объект, для которого можно задать разрешения и затем их передать при необходимости, отмечен сплошной линией. Каждый объект, который принимает разрешения от родительского объекта, отмечен пунктирной линией. Например, на рисунке показано, что внешнюю систему (LobSystem) можно защитить, задав для нее разрешения, но объекту Action нельзя задать разрешения напрямую. Объекты, которым нельзя задать разрешения, получают разрешения от родительских объектов. Например, объект Action получает разрешение от внешнего типа контента (Entity).

Заметка о безопасностиSecurity Note
При передаче разрешений объекта в хранилище метаданных параметры разрешений всех дочерних объектов этого элемента заменяются разрешениями родительского объекта. Например, если разрешения передаются от внешнего типа контента, все методы и экземпляры методов этого типа контента получают новые разрешения.

Для хранилища метаданных и объектов, которые в нем содержатся, можно задать четыре уровня разрешений.

  • Изменение

    Заметка о безопасностиSecurity Note
    Разрешение "Правка" следует рассматривать как высокопривилегированное. Обладающий этим разрешением злоумышленник может похитить учетные данные или повредить ферму серверов. В производственной системе разрешение "Правка" рекомендуется предоставлять только тем пользователям, которым можно доверить полномочия администратора.
  • Выполнение

  • Выбирается в клиентах

  • Задать разрешения

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

Объект Определение Разрешения на изменение Разрешения на выполнение Разрешения на выбор в клиентах Разрешения на предоставление разрешений

Хранилище метаданных

Набор XML-файлов, хранимых в службе Служба подключения к бизнес-данным, каждый из которых содержит определения моделей, внешних типов контента и внешних систем.

Пользователь может создавать новые внешние системы.

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

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

Пользователь может задавать разрешения для любого объекта в хранилище метаданных, передавая их от самого хранилища.

Модель

XML-файл, который содержит наборы описаний одного или нескольких внешних типов контента, связанных с ними внешних систем и сведения, связанные с используемой средой, например свойства проверки подлинности.

Пользователь может изменять файл модели.

Разрешение "Запуск" к моделям не применимо.

Разрешение "Доступно для выбора в клиентах" к моделям не применимо.

Пользователь может задавать разрешения для модели.

Внешняя система

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

Пользователь может изменять внешнюю систему. При использовании этого параметра внешняя система и все экземпляры внешней системы, которые она содержит, становятся видимыми в SharePoint Designer.

Хотя для самой внешней системы нет разрешения на выполнение, этот параметр можно использовать для распространения разрешений на выполнение на дочерние объекты в хранилище метаданных.

Хотя для самой внешней системы нет разрешения на выбор в клиентах, этот параметр можно использовать для распространения этих разрешений на дочерние объекты в хранилище метаданных.

Пользователь может задавать разрешения для внешней системы.

Внешний тип контента

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

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

Пользователь может выполнять операции над внешним типом контента.

Пользователь может создавать внешние списки внешнего типа контента.

Пользователь может задавать разрешения для внешнего типа контента.

Способ

Операция, связанная с внешним типом контента.

Пользователь может изменять метод.

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

Для метода нет разрешений на выбор в клиентах.

Пользователь может задавать разрешения для метода.

Экземпляр метода

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

Пользователь может изменять экземпляр метода.

Пользователь может выполнять экземпляр метода.

Для экземпляра метода нет разрешений на выбор в клиентах.

Пользователь может задавать разрешения для экземпляра метода.

Особые разрешения для службы подключения к бизнес-данным

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

  • Администраторы фермы имеют полные разрешения для работы со службой Служба подключения к бизнес-данным. Это необходимо, например, для обслуживания или восстановления экземпляра службы. Однако следует знать, что у администраторов фермы нет разрешений на выполнение любого объекта в хранилище метаданных и это право явно дается администратором экземпляра службы Служба подключения к бизнес-данным при необходимости.

  • Пользователи Windows PowerShell — это администраторы фермы, которые могут выполнять команды в службе Служба подключения к бизнес-данным.

  • Учетные записи пула приложений на интерфейсных серверах имеют те же разрешения, что и администраторы фермы службы Служба подключения к бизнес-данным. Это необходимо для создания пакетов развертывания на основе Microsoft Business Connectivity Services.

  • Пользователям SharePoint Designer в большинстве случаев нужно дать разрешения на операции со всеми хранилищами метаданных: изменение, выполнение и выбор в клиентах. Пользователям SharePoint Designer не следует давать разрешения на установку разрешений. Если необходимо, можно ограничить разрешения пользователей SharePoint Designer до подмножества хранилища метаданных.

    Предупреждение

    Для обеспечения безопасности решения SharePoint Designer следует использовать для создания внешних типов контента в тестовой среде, в которой разрешения на изменение можно давать всем. При развертывании тестового решения в производственной среде удалите эти разрешения, чтобы обеспечить целостность внешних данных.

Типичные задачи и связанные с ними разрешения

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

Задача Разрешения

Создание объекта в хранилище метаданных

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

Удаление объекта из хранилища метаданных

Чтобы удалить объект метаданных, у пользователя должны быть разрешения на изменение этого объекта. Чтобы удалить объект и всех его потомков (например, при удалении внешнего типа контента и всех его методов), разрешение на изменение требуется и для всех дочерних объектов.

Добавление внешнего типа контента в модель

Чтобы добавить внешний тип контента в модель, у пользователя должны быть разрешения на изменение модели.

Импорт моделей

Для импорта модели в хранилище метаданных у пользователя должны быть разрешения на изменения хранилища метаданных. Если для модели не заданы явные разрешения, пользователю, который их импортировал, даются разрешения на изменение модели.

Экспорт моделей

Для экспорта модели из хранилища метаданных у пользователя должны быть разрешения на изменения модели и всех внешних систем, которые она содержит.

Создание пакета развертывания

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

Задание первоначальных разрешений для хранилища метаданных.

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

Обеспечение безопасности служб Business Connectivity Services

В данном разделе рассматриваются дополнительные меры по обеспечению безопасности служб Business Connectivity Services

Учетная запись службы

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

Взаимодействие между серверами

Обеспечение безопасности при взаимодействии между приложением Служба подключения к бизнес-данным и внешними системами позволяет защитить от компрометации конфиденциальные данные. Для защиты данных, передаваемых между серверами с SharePoint Foundation 2010 и внешними системами, необходимо использовать шифрованный канал связи. В качестве одного из способов защиты связи можно использовать IPsec. При выборе способа защиты необходимо учитывать особенности конкретных каналов связи, а также достоинства и недостатки каждого способа.

Приложения, в которых используется класс FileBackedMetadataCatalog

По соображениям безопасности в SharePoint Foundation 2010 по умолчанию отключен режим проверки подлинности RevertToSelf. Однако это не мешает приложениям, в которых используется класс FileBackedMetadataCatalog, импортировать модели и выполнять вызовы с применением проверки подлинности RevertToSelf. Это может привести к повышению полномочий для пользователей в результате предоставления прав учетной записи пула приложений. Перед установкой приложений в производственной системе убедитесь, что в них не используется класс FileBackedMetadataCatalog и режим проверки подлинности RevertToSelf.