Общие сведения об архитектуре приложений и клиентов

Применимо к: Архитектор

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

SharePoint Embedded — это хранилище только для API, созданное на базе Microsoft 365. Ваше приложение обеспечивает взаимодействие с пользователем. Files и документы хранятся в контейнерах и доступны через Microsoft Graph.

Краткий обзор архитектуры

SharePoint Embedded разделяет три понятия:

  • Приложение, которое вызывает Microsoft Graph.
  • Тип контейнера, определяющий доступ к приложениям, поведение и отчетность по выставлению счетов.
  • Контейнеры и файлы, находящиеся внутри границы клиента Microsoft 365.

SharePoint Embedded хранит все файлы и документы в контейнерах.

Приложения создают контейнеры и содержимое контейнеров в клиенте Microsoft 365.

Приложения создают контейнеры и содержимое контейнеров, а также управляют и взаимодействуют с ними с помощью Microsoft Graph.

Схема архитектуры SharePoint Embedded. Приложение SharePoint Embedded вызывает Microsoft Graph, который подключается к хранилищу внутри клиента Microsoft 365. Внутри клиента тип контейнера группирует стек контейнеров, и каждый контейнер содержит файлы и документы.

Рис. 1. Приложение вызывает Microsoft Graph, а Graph считывает и записывает файлы в контейнерах, которые живут внутри границы клиента Microsoft 365.

Клиент разработчика и потребляющий клиент

SharePoint Embedded использует две роли клиента.

Роль клиента Смысл Типичная ответственность
Клиент разработчика Клиент Microsoft Entra ID, в котором создается тип контейнера. Владеть Microsoft Entra ID регистрации приложения и управлять типом контейнера.
Потребляющий клиент Клиент Microsoft Entra ID, в котором используется тип контейнера. Размещение контейнеров и содержимого для пользователей приложения.

Один и тот же клиент Microsoft Entra ID может быть как клиентом разработчика, так и клиентом- потребляющим для заданного типа контейнера.

Например, корпоративное бизнес-приложение (LOB) может принадлежать корпоративному клиенту и использоваться в том же клиенте.

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

Важно!

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

Владение приложением

Приложение SharePoint Embedded — это Microsoft Entra ID регистрация приложения.

Являясь владельцем или гостевым приложением типа контейнера, приложение имеет доступ к контейнерам этого типа контейнера.

Для SharePoint Embedded требуется связь 1:1 между приложением-владельцем и типом контейнера.

То есть:

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

Примечание.

Другим приложениям можно предоставить доступ к тому же типу контейнера, но тип контейнера по-прежнему имеет только одно собственное приложение.

Типы контейнеров

Тип контейнера — это ресурс SharePoint Embedded.

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

Он также определяет выбранные варианты поведения для всех контейнеров этого типа.

Каждый контейнер включает свой тип контейнера в качестве неизменяемого свойства.

Используйте тип контейнера, чтобы ответить на следующие вопросы об архитектуре:

  • Какому приложению принадлежит это семейство контейнеров?
  • Какой клиент отвечает за выставление счетов?
  • Какие параметры поведения применяются ко всем контейнерам этого типа?

Дополнительные сведения см. в статье Общие сведения о типах контейнеров и контейнерах.

Ресурс регистрации типа контейнера

Регистрация типа контейнера также является ресурсом SharePoint Embedded.

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

Используйте регистрацию типа контейнера, чтобы ответить на следующие вопросы об архитектуре:

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

Дополнительные сведения см. в статье Общие сведения о типах контейнеров и контейнерах.

Контейнеры

Контейнер — это базовая единица хранения в SharePoint Embedded.

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

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

Каждый контейнер предоставляет место для хранения файлов. Вы можете представить его как библиотеку документов только API в SharePoint Online с различиями, характерными для SharePoint Embedded.

Контейнеры могут хранить много файлов и несколько терабайт содержимого с учетом ограничений SharePoint Embedded.

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

Где живут файлы

Когда клиент использует приложение SharePoint Embedded, SharePoint Embedded создает раздел хранилища в этом клиенте Microsoft 365.

В секции нет пользовательского интерфейса SharePoint Online.

Документы в секции доступны через API-интерфейсы и интерфейсы содержимого, предоставляемого приложением.

Files остаются внутри границы клиента Microsoft 365 потребителя.

Используемые параметры Microsoft 365 клиента применяются к документам приложений, включая поддерживаемые политики безопасности и соответствия требованиям Microsoft Purview.

Сведения о планировании системы управления см. в статье Планирование безопасности, соответствия требованиям и управления.

Регистрация типов контейнеров

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

Владеющее приложение выполняет регистрацию типа контейнера.

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

Полные требования к регистрации см. в разделе Регистрация разрешений приложения типа контейнера хранилища файлов.

Отношения доступа

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

Владеющее приложение получает разрешения для своего типа контейнера при создании типа контейнера. Однако он может взаимодействовать с контейнерами своего типа только после регистрации в используемом клиенте.

На следующей схеме показан выделенный шаблон. В одном клиенте развертываются три приложения: два приложения независимого поставщика программного обеспечения (ISV) (App 1 и App 2) и одно бизнес-приложение (LOB) (App 3). Каждому приложению принадлежит отдельный тип контейнера и он может получить доступ только к стеку контейнеров для того типа контейнера, который ему принадлежит.

Схема шаблона выделенного доступа. Три приложения (App 1, App 2 и App 3) имеют отдельный тип контейнера, и каждое приложение может получить доступ только к собственному стеку контейнеров. Ни одно приложение не может связаться с контейнерами другого приложения.

Рис. 2. Выделенный доступ. Каждое приложение владеет одним типом контейнеров и достигает только собственных контейнеров.

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

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

Схема шаблона общего доступа. Приложения 1 и Приложение 2 подключаются к одному типу контейнеров и его стеку контейнеров. Приложению 1 принадлежит тип контейнера, а приложению 2 предоставляется гостевой доступ к одному и тому же типу контейнера.

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

Спланируйте модель доступа с разрешениями приложений и пользовательскими разрешениями контейнера.

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

Общие шаблоны архитектуры

Бизнес-приложение Enterprise

В корпоративном бизнес-приложении:

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

Используйте эту модель, когда приложение создано для внутреннего использования в одной организации.

Мультитенантное приложение ISV

В приложении независимого поставщика программного обеспечения:

  • Клиент ISV является владельцем регистрации приложения.
  • Клиент ISV создает тип контейнера.
  • Клиенты клиентов используют приложение.
  • Контейнеры и файлы хранятся в каждом клиенте клиента.
  • Параметры клиента клиента применяются к содержимому этого клиента.

Используйте эту модель, если одно приложение используется несколькими клиентами.

На следующей схеме показан пример работы. Contoso — это is ISV, создающий приложение для управления персоналом в SharePoint Embedded и развернутый в компании Fabrikam, аудиторской фирме. Компания Fabrikam также создала собственное приложение для аудита бизнес-приложений. Каждое приложение имеет свой собственный тип контейнера: contoso принадлежит приложение отдела кадров и его тип контейнера, а Fabrikam — приложение аудита и его тип контейнера. Fabrikam является потребляющим клиентом для обоих приложений, поэтому оба стека контейнеров хранятся в клиенте Microsoft 365 Fabrikam. Fabrikam владеет всеми данными, хранящимися в клиенте Microsoft 365, включая данные приложения отдела кадров.

Схема примера рабочего поставщика программного обеспечения. Приложение Contoso по управлению персоналом и его тип контейнера находятся в клиенте, владеющем компанией Contoso. Приложение Contoso по управлению персоналом и бизнес-приложение fabrikam для аудита бизнес-объектов работают в клиенте Fabrikam, потребляющем стек контейнеров каждого приложения, хранится отдельно.

Рис. 4. Приложение ISV (Contoso) и бизнес-приложение (Fabrikam) имеют тип контейнера и хранят контейнеры в одном и том же арендаторе (Fabrikam).

Сведения о выборе модели см. в статье Выбор модели приложения: однотенантная или мультитенантная.

Контрольный список планирования

  • Определите клиент разработчика.
  • Определите каждый потребляющий клиент.
  • Подтвердите, где находится регистрация приложения Microsoft Entra ID.
  • Убедитесь, что регистрация приложения является владельцем типа контейнера.
  • Решите, требуется ли другим гостевым приложениям доступ.
  • Определите, где создаются контейнеры.
  • Убедитесь, что содержимое должно оставаться в используемом клиенте.
  • Планирование регистрации типа контейнера для каждого потребляющего клиента.
  • Планирование выставления счетов для типа контейнера.
  • Планирование проверки подлинности и согласие администратора.
  • Планирование обязанностей по обеспечению безопасности и соответствия требованиям.

Дальнейшие действия

Выберите модель приложения, которая соответствует вашим отношениям с клиентом и клиентом. Выберите модель приложения: с одним клиентом или с несколькими клиентами.