Три системы авторизации для надстроек SharePoint
В SharePoint надстройка SharePoint представляет собой такой же субъект удостоверения, как пользователь. Чтобы использовать ресурсы SharePoint, надстройка должна пройти проверку подлинности и авторизацию. Надстройка может использовать три системы авторизации. Эти системы не являются взаимоисключающими.
Общие сведения о трех системах авторизации и о том, в каких случаях следует использовать их
Низкий уровень доверия
Надстройку SharePoint, размещаемую у поставщика, можно зарегистрировать в службе контроля доступа (ACS) Microsoft Azure. Эта служба издает маркер доступа для надстройки. С его помощью надстройка может получать доступ к ресурсам в области клиентов или ферме SharePoint, в которой она установлена. Azure ACS — надежный издатель маркеров в "потоке" платформы OAuth 2.0, который включает SharePoint и удаленные компоненты надстройки. Надстройки, которые используют эту систему, можно продавать в Магазине Office. Система с низким уровнем доверия предназначена в основном для надстроек, удаленные компоненты которых размещены в облаке.
Важно!
Служба контроля доступа Azure (ACS), которая входит в состав Azure Active Directory (Azure AD), будет упразднена 7 ноября 2018 г. Это не влияет на модель надстроек SharePoint, использующую имя узла https://accounts.accesscontrol.windows.net
(на который также не влияет это прекращение работы службы). Дополнительные сведения см. в статье Влияние упразднения службы контроля доступа Azure на надстройки SharePoint.
Дополнительные сведения о том, как создавать надстройки SharePoint, использующие систему с низким уровнем доверия, см. в статье Создание надстроек SharePoint, использующих авторизацию с низким уровнем доверия.
Примечание.
У пользователя, который устанавливает надстройку, должна быть учетная запись Office 365. Это необходимо, чтобы можно было предоставить надстройке доступ к Azure ACS. Но пользователю не нужно использовать эту учетную запись для каких-либо других целей, а надстройку можно установить в локальной ферме SharePoint, выполнив несколько несложных задач по настройке в ферме.
Высокий уровень доверия
Надстройка, размещаемая у поставщика, может создать доверие с SharePoint с помощью цифровых сертификатов. Система с высоким уровнем доверия предназначена в основном для надстроек, удаленные компоненты которых размещены в локальной среде. Надстройку можно установить в ферме SharePoint, которая не подключена к Интернету. Вам не удастся установить надстройку в SharePoint Online либо продавать ее в Магазине Office.
Дополнительные сведения о том, как создать надстройку для SharePoint, использующую систему с высоким уровнем доверия, см. в статье Создание надстроек SharePoint, использующих авторизацию с высоким уровнем доверия.
Междоменная библиотека
Если бизнес-логика надстройки реализована на JavaScript, вы можете использовать междоменную библиотеку SharePoint либо вместо систем с низким или высоким уровнем доверия, либо в дополнение к ним. Эта библиотека также предназначена для сценариев, в которых у надстройки есть компоненты, размещаемые в облаке, но брандмауэр организации пользователя затрудняет реализацию системы с низким уровнем доверия. Браузер пользователя блокирует скрипты из других доменов, но библиотека инкапсулирует защищенную систему, позволяя обойти это ограничение. Надстройки, в которых используется эта библиотека, можно продавать в Магазине Office, а также устанавливать их в SharePoint Online или локальной среде SharePoint.
Дополнительные сведения том, как создавать надстройки SharePoint, в которых используется междоменная библиотека, см. в указанных ниже статьях.
Создание надстроек SharePoint, использующих междоменную библиотеку
Исправление междоменных проблем в надстройках SharePoint (публикация блога)
Общие сведения о платформе OAuth 2.0 и ее реализации в SharePoint
В двух из трех систем авторизации используется платформа OAuth 2.0. OAuth 2.0 — открытая платформа для авторизации. OAuth позволяет выполнять безопасную авторизацию на ПК, устройствах и в веб-приложениях стандартным способом. Благодаря OAuth пользователи могут разрешать приложениям действовать от их имени, не раскрывая имя пользователя и пароль.
Например, эта платформа дает пользователям возможность делиться своими личными ресурсами или данными (список контактов, документы, фотографии, видео и т. д.) на сайте с помощью другого сайта. При этом пользователю не нужно предоставлять свои учетные данные (обычно это имя пользователя и пароль) другому сайту.
OAuth дает пользователям возможность указывать маркеры доступа к данным, размещенным конкретным поставщиком служб (например, SharePoint). Каждый маркер предоставляет доступ к определенному поставщику ресурсов (например, веб-сайту SharePoint) и определенным ресурсам (например, документам в библиотеке документов SharePoint) в течение заданного времени (например, в течение 12 часов). Благодаря этому пользователь может предоставить стороннему веб- или классическому приложению доступ к сведениям, хранящимся в другом ресурсе или у другого поставщика служб (например, SharePoint). При этом пользователю не придется раскрывать свои имя пользователя или пароль и предоставлять доступ ко всем своим данным, хранящимся у поставщика служб.
SharePoint использует "потоки" передачи маркеров платформы OAuth 2.0 для указанных ниже целей.
Авторизация запросов надстройки SharePoint для доступа к ресурсам SharePoint.
Проверка подлинности надстроек в Магазине Office, в каталоге надстроек или в клиенте разработчика.
Дополнительные сведения о платформе OAuth и терминологии OAuth см. в статьях OAuth.net и Протокол авторизации в Интернете (oauth).
Резюмируем вышесказанное: существуют сервер ресурсов, на котором размещается защищенный ресурс, владелец ресурса, клиентское приложение, которому необходимо доступ к ресурсу, и сервер авторизации, который издает маркеры доступа к ресурсу, когда получает соответствующие инструкции от владельца ресурса.
В официальной документации по OAuth в основном рассматриваются сценарии, в которых имеется один владелец ресурса, предоставляющий доступ к ресурсу из клиентского приложения при каждом запуске этого приложения. Кроме того, предполагается, что лицо, использующее клиентское приложение, является владельцем ресурса.
В реализации для SharePoint учтено, что к ресурсу SharePoint, например списку, имеют доступ несколько пользователей. Кроме того, в реализации для SharePoint надстройки SharePoint получают доступ при установке, а не при каждом запуске. Более того, надстройку могут запускать другие пользователи, а не те, которые установили ее и предоставили ей доступ. Если надстройка не установлена в SharePoint, но получает доступ к ресурсам SharePoint (то есть является надстройкой SharePoint только в широком смысле), пользователь, запускающий надстройку, должен предоставлять ей разрешения при каждом запуске.
Таким образом, в реализации для SharePoint роли OAuth исполняют следующие компоненты:
Удаленный компонент надстройки SharePoint выполняет роль клиентского приложения.
Пользователи SharePoint являются владельцами ресурса.
SharePoint выполняет роль сервера ресурсов.
Azure ACS выполняет роль сервера авторизации при использовании системы с низким уровнем доверия. При использовании системы с высоким уровнем доверия сама надстройка (вместе с цифровым сертификатом) становится сервером авторизации.
Маркеры доступа — не то же, что маркеры входа
Как уже говорилось, чтобы получить доступ к ресурсам, надстройке нужно запросить маркер доступа у сервера авторизации OAuth, который владелец ресурса ранее указал в качестве доверенного издателя маркеров безопасности (STS). В то же время, службы маркеров безопасности WS-Federation и пассивного входа для языка разметки заявлений системы безопасности (SAML) изначально предназначались для создания маркеров входа.
В SharePoint служба маркеров безопасности OAuth не используется для издания маркеров входа, то есть эти маркеры не используются в качестве поставщиков удостоверений. Следовательно, служба маркеров безопасности OAuth не отображается на странице входа пользователя, в разделе Поставщик проверки подлинности в Центре администрирования или в средстве выбора людей в SharePoint.
С помощью команд Windows PowerShell администраторы SharePoint могут включать и отключать службу маркеров безопасности OAuth аналогично тому, как они включают и отключают доверенных поставщиков входа в SharePoint.