Авторизация и аутентификация надстроек SharePoint
Когда пользователь входит в SharePoint, выполняется проверка маркера безопасности пользователя. Маркер издается поставщиком удостоверений. SharePoint поддерживает несколько типов проверки подлинности пользователей. Дополнительные сведения см. в статье Проверка подлинности, авторизация и безопасность в SharePoint.
Кроме того, надстройки SharePoint представляют собой субъекты безопасности, которые должны проходить проверку подлинности и авторизацию. Проверку подлинности и авторизацию надстроек можно выполнить несколькими разными способами. Дополнительные сведения см. в статье Три системы авторизации для надстроек SharePoint.
Политики авторизации: "Только для пользователей", "Только для надстроек" и "Для пользователей и надстроек"
Процесс авторизации проверяет, есть ли у прошедшего проверку подлинности субъекта (у пользователя, надстройки или и у того, и другого) разрешение на выполнение определенных операций или на доступ к конкретным ресурсам (например, к списку или к папке документов SharePoint).
В SharePoint используются политики авторизации трех указанных ниже типов.
Согласно политике "Только для пользователей" код вызова SharePoint должен включать только прошедшее проверку подлинности удостоверение пользователя.
Согласно политике "Только для надстроек" код вызова обязательно должен только прошедшее проверку подлинности удостоверение надстройки.
Согласно политике "Для пользователей и надстроек" код вызова должен включать прошедшие проверку подлинности удостоверения обоих типов.
Когда пользователь получает доступ к ресурсам SharePoint через пользовательский интерфейс SharePoint, а не через надстройку, SharePoint использует политику "Только для пользователей". Но для вызовов из надстройки SharePoint эта служба использует либо политику "Только для надстроек", либо политику "Для пользователей и надстроек".
Надстройка SharePoint определяет, какая политика используется, по типу маркера доступа, который включает в запросы для SharePoint. Если создан запрос "Для пользователей и надстроек", SharePoint требует, чтобы и у надстройки, и у пользователя было разрешение на доступ к ресурсам, к которым обращается надстройка. В случае использования запроса "Только для надстроек" SharePoint требует, чтобы у надстройки было разрешение на доступ к ресурсу, при этом неважно, есть ли у пользователя такое разрешение. (Надстройка SharePoint может выполнять вызовы "Только для надстроек", только если ей заранее предоставлено разрешение на это. Обычно такое разрешение предоставляется надстройке при ее установке.)
Дополнительные сведения о политиках авторизации и принципе их работы см. в статье Типы политик авторизации надстроек в SharePoint.
Разрешения и области запросов разрешений для надстроек
В файле манифеста надстройки SharePoint разработчик должен указать разрешения, которые требуются надстройке для доступа к ресурсам SharePoint за пределами сайта надстройки. (Надстройка автоматически получает разрешение на полный контроль над всем сайтом надстройки.) Если надстройка разработана для запуска в SharePoint, инфраструктура установки надстройки предлагает пользователю, устанавливающему надстройку, предоставить или отклонить необходимые разрешения. После предоставления разрешений пользователи веб-сайта могут использовать надстройку без повторного предоставления разрешений.
Если же надстройка разработана для запуска за пределами SharePoint, то есть не установлена в SharePoint, SharePoint предлагает пользователю, запускающему надстройку, предоставлять необходимые разрешения при каждом запуске надстройки. Надстройки на мобильных устройствах и надстройки Office — примеры надстроек, которые могут получать доступ к SharePoint, но не установлены в этой службе.
Только владелец веб-сайта может установить надстройку SharePoint на веб-сайте SharePoint (если только не создана настраиваемая роль, у которой есть права на установку надстройки). Пользователь может предоставить надстройке только те разрешения, которые есть у него самого. Пользователю не удастся установить надстройку, которой необходимы разрешения, отсутствующие у пользователя.
Пользователю также не удастся открыть запускаемую во внешней среде надстройку, для которой требуются разрешения, отсутствующие у пользователя. Но если надстройка SharePoint установлена в SharePoint, она может запросить разрешение для выполнения вызовов "Только для надстроек". Надстройка, у которой есть такое разрешение, может получать доступ к SharePoint способами, на применение которых у пользователя, открывающего надстройку, нет разрешений.
Администраторы клиентов SharePoint Online и ферм SharePoint также могут отзывать и предоставлять разрешения для надстроек.
В файле манифеста надстройки SharePoint указываются разрешения, которые необходимы ей для правильной работы. В запросах на получение разрешений указываются и права, необходимые надстройке, и область, в которой эти права нужны. Области указывают, к какому месту иерархии SharePoint относится запрос на разрешение.
SharePoint поддерживает четыре разных области контента: область клиентов, семейство веб-сайтов, веб-сайт и список. Кроме того, существуют особые области для выполнения поисковых запросов, доступа к данным таксономии, функциям работы с социальными медиа, функциям Microsoft Business Connectivity Services (BCS) и функциям Project Server 2013.
Дополнительные сведения см. в статье Разрешения для надстроек в SharePoint.
В каких случаях используется OAuth?
Возможно, вы уже знаете, что OAuth 2.0 играет важную роль при проверке подлинности и авторизации надстроек SharePoint. Тем не менее эта платформа необязательно используется для каждой надстройки SharePoint.
Если вы собираетесь создать надстройку SharePoint, выполняемую в удаленном веб-приложении и обменивающуюся данными с SharePoint при помощи серверного кода, необходимо использовать OAuth.
Если удаленное приложение расположено за пределами локальной среды, вам потребуется использовать систему авторизации с низким уровнем доверия, в которой служба Azure ACS является издателем маркеров.
Если удаленное приложение расположено в локальной среде, обычно используют систему с высоким уровнем доверия, в которой сама надстройка и цифровой сертификат выступают в качестве издателей маркеров доступа.
Не следует использовать OAuth для выполнения вызовов из кода JavaScript на странице сайта надстройки или из удаленной веб-страницы с использованием междоменной библиотеки. Дополнительные сведения о междоменной библиотеке см. в статье Создание надстроек SharePoint, использующих междоменную библиотеку.