Использование службы Secure Store Sharepoint Server 2010 для обращения к внешним данным

Сегодня столкнулся с такой проблемой как получение данных с внешних источников с использованием технологии Business Data Connectivity.

image

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

Существует несколько типо подключений к внешним данным:

image

Я расскажу о SQL Server подключении. Подключение к SQL Server с помощью SharePoint Designer предоставляет Вам следующие параметры для проверки подлинности:

- Соединение по идентификации пользователя

- Соединение по удостоверению, олицетворенному Windows

- Соединение по олицетворенному другого пользователя

clip_image001

Когда Вы выбираете Windows авторизацию, то необходимо указать Secure Store Application ID. Что это такое?

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

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

  • Запускайте службу безопасного хранения в отдельном пуле приложений, который не используется другими службами.
  • Запускайте службу безопасного хранения на отдельном сервере приложений, который не используется другими службами.
  • Создавайте базу данных безопасного хранения на отдельном сервере приложений под управлением SQL Server. При этом не следует использовать установку SQL Server, в которой хранится база данных контента.
  • Перед созданием нового ключа шифрования необходимо создать резервную копию базы данных безопасного хранения. Кроме того, резервную копию такой базы данных следует создавать после ее создания, а также при каждом повторном шифровании учетных данных. После создания нового ключа его можно использовать для повторного шифрования учетных данных. Если не удается обновить ключ или утрачена парольная фраза, учетные данные будут недоступны для использования.
  • Создавать резервную копию ключа шифрования следует после начальной настройки службы безопасного хранения, а также после каждого повторного создания ключа.
  • Следует отдельно хранить носители с резервными копиями ключа шифрования и базы данных безопасного хранения. Если какой-либо пользователь получит копию базы данных и ключа, сохраненные в базе данных учетные данные могут быть раскрыты.

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

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

В Secure Store Application можно сопоставить на уровне группы или пользователя учетные данные, которые передаются в базу данных. Используя службу Secure Store можно подключиться к источнику данных, используя федеративную, делегированную или олицетвореную проверку подлинности. При подключении к системе среда выполнения BCS передает маппируемые учетные данные из службы Secure Store в источник данных.

Для настройки службы Secure Store необходимо запустить сайт Центр Администрирования и выбрать “Управление приложениями-службами”.

image

Если у Вас не создана служба Secure Store, то её нужно создать.

image

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

image

Далее необходимо указать фразу-пароль

image

Введённая фраза-пароль не будет сохранена. Она должна быть обязательно с учётом регистра. Эта фраза потребуется во время восстановления архивированной базы данных Secure Store.

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

image

image

Код конечного приложения Secure Store является уникальным идентификатором. После создания конечного приложения это свойство изменить невозможно.

Отображаемое имя используется только для вывода на экран.

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

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

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

 

Всё теперь при создании связи к внешнм данным указываем Secure Store Application ID.

image

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

image