*********************************************************************************************************************************
Что такое Lightning Web Security?
Lightning Web Security (LWS) — это новая клиентская архитектура безопасности для компонентов Lightning. Данная новая архитектура имеет меньше ограничений, но больше функциональных возможностей, а также предоставляет надежные средства обеспечения безопасности для принудительного применения изоляции пространств имен. Результатом является надежная и удобная защита компонентов Lightning.
Архитектура безопасности Lightning Locker используется по умолчанию для всех компонентов Lightning. Lightning Web Security (LWS) изначально заменяет архитектуру Lightning Locker для веб-компонентов Lightning, а Salesforce добавляет поддержку для компонентов Aura в нескольких выпусках.
Наверх
Какую проблему решает Lightning Web Security?
Lightning Web Security препятствует доступу компонентов Lightning к данным компонентов из других пространств имен без четкого полномочия пространства имен.
Страница Lightning может содержать компоненты, созданные разными компаниями. Компоненты, созданные группой разработчиков организации, существуют одновременно с компонентами, созданными компанией Salesforce. При создании и распространении приложений в пакетах в AppExchange компоненты пользователя существуют одновременно с компонентами, созданными компанией Salesforce, и компонентами клиента, который устанавливает приложение.
Без принятия предупредительных мер компонент может иметь доступ к глобальным объектам окон и получать личные ресурсы или данные из других компонентов на странице. Одной из таких мер принято считать изоляцию компонентов по пространству имен, что препятствует доступу вредоносного компонента к ресурсам компонентов вне его пространства имен.
Изоляция пространств имен отличается прозрачностью и виртуальностью, благодаря чему импорт компонентов из других пространств имен выглядит так, будто все компоненты выполняются в одной среде.
Наверх
Как работает Lightning Web Security?
Lightning Web Security изолирует компоненты в безопасной среде JavaScript, предназначенной для пространства имен компонентов. Данный механизм обеспечения безопасности позволяет предоставлять глобальные объекты документов, окон и элементов напрямую, препятствуя возникновению угроз безопасности. Lightning Web Security изменяет код, выполняемый в безопасной среде JavaScript, с целью предотвращения небезопасного поведения. Дополнительную информацию см. в разделе "Как работает Lightning Web Security?".
Наверх
Чем Lightning Web Security отличается от Lightning Locker?
Ниже перечислены основные отличия Lightning Web Security от Lightning Locker.
Наверх
Безопаснее ли Lightning Web Security по сравнению с Lightning Locker?
В настоящее время Lightning Web Security и Lightning Locker предусматривают одинаковые уровни безопасности. Основное отличие заключается в том, что Lightning Web Security поддерживает расширенные функциональные возможности JavaScript и более быстрое выполнение кода.
Lightning Web Security допускает более точную блокировку небезопасных поведений, поэтому позволяет абсолютно безопасно включать функции, которые блокируются Lightning Locker. Например, вместо полного запрета на использование API, Lightning Web Security позволяет запретить компоненту настройку свойства API.
Дополнительную информацию см. здесь.
Наверх
Зачем переходить на LWS, если Locker столь же безопасен?
Когда Lightning Web Security интегрируется в платформу Lightning Experience, предоставляется такая же защита безопасности, как и посредством Lightning Locker, для упрощения перехода между двумя архитектурами. Мы хотим, чтобы компоненты Lightning изначально выполнялись в любой из архитектур. Но архитектуры сильно отличаются.
LWS принимает новые веб-стандарты, находящиеся в активной разработке, в то время как Lightning Locker - уникальное решение, внедренное Salesforce, когда адекватных веб-стандартов еще не существовало. Воспринимайте LWS как будущее безопасности компонентов Lightning, а Lightning Locker - как устаревшее внедрение безопасности компонента Lightning. Salesforce принимает участие в разработке веб-стандартов, внедряемых LWS. Наши усилия по разработке направлены на LWS, и Lightning Locker обслуживается, но не расширяется.
Пользователи используют преимущества посредством внедрения LWS, поскольку в этой функции общая производительность выше, чем в Lightning Locker. Архитектура LWS использует понятия виртуализации в безопасной среде вместо оболочек вокруг любого небезопасного API. Данный метод уменьшает влияние на производительность, которое обычно производится для обеспечения безопасности данных. После первичной загрузки компоненты выполняются быстрее в LWS, чем в Lightning Locker.
Когда все ваши компоненты будут выполняться в LWS и не будет необходимости переключаться обратно на Lightning Locker, появится возможность расширения компонентов для получения доступа к другим преимуществам, описанным здесь.
Мы продолжаем работать над добавлением поддержки для компонентов Aura в Lightning Web Security. Текущее ограничение общей доступности только LWC - временная остановка в развитии Lightning Web Security. В выпуске Spring ’23 LWS для Aura предоставляется как бета-функция и запланирована быть общедоступной в выпуске Summer ’23. (безопасная гавань)
Решение о переносе организации и компонентов на LWS - это решение времени, а не сути переноса. В итоге, Lightning Locker не будет подходящим решением для безопасности компонента Lightning. Чем скорее вы перейдете на LWS, тем выше безопасность и производительность ваших компонентов.
Наверх
Когда предстоит официальное внедрение Lightning Web Security?
Lightning Web Security официально внедрено в выпуске Spring ’22 для веб-компонентов Lightning, но не для компонентов Aura. В выпуске Spring ’23 LWS для Aura предоставляется как бета-функция и запланирована быть общедоступной в выпуске Summer ’23. (зона безопасности)
Со временем компания Salesforce планирует полностью заменить Lightning Locker на LWS.
Наверх
Следует ли клиентам включать Lightning Web Security?
Рекомендуем клиентам включать Lightning Web Security сперва в безопасной среде для тестирования, а потом в производстве. Lightning Web Security влияет на все компоненты Lightning, включая компоненты, установленные посредством пакетов. Дополнительную информацию см. здесь.
Автоматическое включение LWS выполняется компанией Salesforce поэтапно. Дополнительную информацию см. в разделе "Включение LWS".
Наверх
Какие могут быть последствия пакетирования для партнеров, являющихся независимыми поставщиками ПО?
Стратегии пакетирования для партнеров, являющихся независимыми поставщиками ПО, зависит от нескольких факторов, включая тип компонентов, использованных в решении независимого поставщика ПО, и архитектуру безопасности включенную в организации клиента.
Последствия пакетирования для партнеров, являющихся независимыми поставщиками ПО, см. в таблице ниже.
| Компоненты в пакете независимого поставщика ПО | Поддержка в Lightning Locker | Поддержка в Lightning Web Security | Требуемые пакеты | Параметр Lightning Web Security в организации клиента |
| Только компоненты Aura. | Да | Бета-версия | 1 | Включено или выключено |
| Компоненты Aura и веб-компоненты Lightning, которые не используют функции, доступные только для Lightning Web Security*. | Да | Бета-версия | 1 | Включено или выключено |
| Компоненты Aura отсутствуют. Веб-компоненты Lightning, которые не используют функции, доступные только для Lightning Web Security. | Да | Да | 1 | Включено или выключено |
| Компоненты Aura отсутствуют. Веб-компоненты Lightning, которые используют функции, доступные только для Lightning Web Security. | Нет. Locker требуется отдельный пакет с компонентами, которые не используют функции, доступные только для Lightning Web Security. | Да | 2 | Включено; для пакета, который использует функции, доступные только для Lightning Web Security. Выключено; для пакета, который не использует функции, доступные только для Lightning Web Security. |
*Функции только LWS- содержат глобальное управление объектами, импорт или расширение компонентов и модулей из других пространств имени, а также доступ к содержимому в элементах iframe.
Дополнительную информацию см. в блоге "Что следует знать партнерам, являющимся независимыми поставщиками ПО, о Lightning Web Security".
Партнер может проверить свой продукт в безопасной или тестовой организации в последнем выпуске с включенным LWS для подтверждения правильной работы. Дополнительную информацию см. здесь.
После подтверждения правильной работы продукта с использованием Lightning Web Security партнеры могут сотрудничать с клиентами для определения возможности включения Lightning Web Security в организации клиента. Условия включения Lightning Web Security в производственной среде см. здесь.
Если партнер не использует новые функции Lightning Web Security, то наличие двух версий пакетов не требуется. Пакет, работавший с Lightning Locker, будет также работать с Lightning Web Security в том случае, если содержит только веб-компоненты Lightning.
Если партнеру требуется выпустить новые пакеты для использования функций, предоставленных Lightning Web Security (например, импорт компонентов из другого пространства имен):
Если партнеру необходимо поддержать клиентов, которые не могут включить Lightning Web Security, то партнер должен предоставить отдельные пакеты, работающие с Lightning Locker, до тех пор, пока компания Salesforce не включит Lightning Web Security полностью во всех организациях.
Поддержка клиентов в обеих архитектурах требует наличия отдельных пакетов, предназначенных для Lightning Locker и Lightning Web Security, только в том случае, если партнеру необходимо использовать функции, которые блокируются Lightning Locker.
Наверх
Как независимый поставщик ПО может узнать, использует ли сегодня клиент LWS?
Попросите клиента проверить параметр LWS или программным способом проверить значение параметра lockerServiceNext посредством Metadata API. Если значение истинно, LWS включен. См. раздел SessionSettings руководства разработчика Metadata API.
Для сайтов конструктора взаимодействий LWS и Locker установлены вне зависимости от параметра LWS. Попросите клиента проверить параметр для Lightning Locker в конструкторе взаимодействий или программным способом проверьте значение параметра isLockerServiceEnabled посредством Metadata API. Если значение истинно, LWS включен. См. раздел ExperienceBundle руководства разработчика Metadata API.
Наверх
Как LWS влияет на сайты Experience Cloud?
Функции Experience Cloud нескольких типов сайтов. См. глоссарий Experience Cloud для получения описаний всех из них.
Сайты Aura могут содержать компоненты LWC и компоненты Aura. В выпуске Spring ’23, когда параметр LWS включен в организации в организации, LWS защищает оба типа компонентов на сайтах Aura. Поддержка компонентов Aura находится в функции бета-версии, как описано в примечании к выпуску "Использование Lightning Web Security для веб-компонентов Lightning (общедоступных) и компонентов Aura (бета-версии)". Если LWS не включен в организации, Lightning Locker защищает компоненты на сайте Aura. При выключении Lightning Locker в параметрах сайта Aura отключается действующая архитектура безопасности. Если LWS включен на уровне организации, отключение Lightning Locker на сайте Aura фактически отключает LWS для сайта Aura.
Сайты LWR выполняются посредством Lightning Web Runtime (LWR), что предоставляет собственный экземпляр LWS для защиты компонентов LWC на сайтах. Поскольку существует экземпляр LWS, параметр организации для LWS не влияет на сайты LWR. При выключении Lightning Locker на сайте LWR экземпляр сайта LWS отключается, даже если LWS включена в организации. Имя "Lightning Locker" используется, поскольку новая архитектура безопасности была добавлена к LWR до выбора имени Lightning Web Security. Имя будет обновлено в конструкторе взаимодействий. См. "Ограничения шаблонов LWR" в справке Salesforce для получения дополнительных сведений.
Сайты "Вкладки Salesforce Tabs + Visualforce" не защищены LWS или Lightning Locker. Они используют другую архитектуру безопасности. Параметр LWS не действует в организации.
Данная таблица предлагает сводку действия параметров, выбранных на сайтах Aura и LWR и в организации:
| Шаблон сайта Experience Cloud | Параметр Locker на сайте | Параметр LWS в организации | Состояние LWS и Locker на сайте |
| Сайт Aura | выкл | выкл | выкл |
| Сайт Aura | выкл | вкл | выкл |
| Сайт Aura | вкл | выкл | Locker для LWC и Aura |
| Сайт Aura | вкл | вкл | LWS для LWC и Aura (бета-версия). Если LWS включили в выпуске Winter '23, тогда Locker используется для компонентов Aura в выпуске Spring '23. |
| Сайт LWR | выкл | выкл | выкл |
| Сайт LWR | выкл | вкл | выкл |
| Сайт LWR | вкл | выкл | LWS (версия, используемая для LWR). |
| Сайт LWR | вкл | вкл | LWS (версия, используемая для LWR). |
Наверх
Использует ли Field Service LWS?
Field Service использует Lightning Web Runtime, что предоставляет собственный экземпляр LWS. Параметр LWS в организации не влияет на экземпляр, используемый в Field Service. Настраиваемые веб-компоненты Lightning, создаваемые разработчиками для расширения Field Service, защищены экземпляром LWS в LWR. Большая часть документации LWS актуальна для разработчиков, работающих с компонентами в Field Service, за исключением сведений о включении и выключении LWS в организации.
Включит ли компания Salesforce архитектуру Lightning Web Security для клиентов?
(зона безопасности)
Да, со временем. Lightning Web Security официально внедрена в выпуске Spring ’22 для веб-компонентов Lightning, но не для компонентов Aura. Во время выпуска Spring ’22, компания Salesforce постепенно внедряла Lightning Web Security для веб-компонентов Lightning для тысяч клиентов, чьи организации содержали только веб-компоненты Lightning (LWC).
В выпуске Winter ‘23 функция LWS для LWC включена по умолчанию для новых организаций.
В выпуске Spring ’23 LWS для Aura предоставляется как бета-функция и запланирована быть общедоступной в выпуске Summer ’23.(зона безопасности). LWS для Aura (бета-версия) включена по умолчанию в новых организациях Salesforce и в организациях без настраиваемых компонентов. В организациях, в которых LWS для LWC включена до выпуска Spring ’23, а также в использующих только LWC в организации, LWS для Aura (бета-версия) также будет по умолчанию включена в выпуске Spring ’23.
Организации с включенной функцией LWS для LWC до выпуска Spring ’23, а также содержащие компоненты Aura в организации, исключаются из LWS для Aura (бета-версия), поэтому ваши компоненты Aura не попадают под воздействие в выпуске Spring ‘23. Исключение касается только производственных организаций. LWS для Aura (бета-версия) включена в безопасных средах Spring, поэтому пользователи могут начинать тестирование компонентов Aura. См. здесь для получения дополнительных сведений.
Включение Lightning Web Security будет выполнятся постепенно для всех клиентов в предстоящих выпусках. Со временем возможность выключения будет удалена (зона безопасности).
Наверх
Каким может быть потенциальное влияние, если LWS включен по умолчанию в новых организациях?
В примечаниях к выпуску Winter '23 было объявлено, что LWS для веб-компонентов Lightning включено по умолчанию в новых организациях Salesforce. Начиная с выпуска Spring ’23, компонент LWS для Aura (бета-версия) также будет по умолчанию включен в новых организациях Salesforce.
В настроенных организациях, которые будут объединяться или разделяться в новую организацию, определите использование компонентов Lightning в существующих организациях. Таким же образом, если вы являетесь клиентом с множественными организациями, определите, используется ли компоненты Lightning во всех шаблонах метаданных и репозиториях кодов, используемых для начальной загрузки новых организаций. При заполнении новой организации собственными компонентами Lightning или пакетированными компонентами Lightning, используемыми в организациях без включенной LWS, обратите внимание, что они выполняются с включенной LWS в новой организации. Протестируйте компоненты Lightning или управляемые пакеты, содержащие компоненты Lightning, в безопасной среде с включенным параметром "Использование Lightning Web Security для веб-компонентов Lightning (общедоступных) и компонентов Aura (бета-версия)".
Узнайте у поставщиков управляемых пакетов об их совместимости с LWS. При необходимости, LWS можно выключить, но рекомендуем сперва открыть обращение к службе поддержки для устранения проблем с LWS.
Наверх
Где LWS для Aura (бета -версия) включена автоматически в выпуске Spring '23?
LWS для Aura (бета-версия) включена в данных типах организаций:
Где LWS для Aura (бета-версия) не включена автоматически в выпуске Spring '23?
LWS для Aura (бета-версия) не включена в следующих организациях:
Наверх
Можно ли выключить Lightning Web Security после ее включения компанией Salesforce?
Да. Чтобы вернуться к использованию Lightning Locker для компонентов Lightning, просто отмените выбор параметра "Использование Lightning Web Security для веб-компонентов Lightning (общедоступных) и компонентов Aura (бета-версия)" на странице "Параметры сеанса". При некорректной работе компонентов Lightning зарегистрируйте обращение по поддержке.
Компания Salesforce планирует постепенно включать Lightning Web Security для всех клиентов в предстоящих выпусках. Со временем возможность выключения будет удалена. (зона безопасности)
Наверх
Можно ли указать исключения на уровне компонентов после включения Lightning Web Security в моей производственной организации?
Нет. Включение Lightning Web Security влияет на все компоненты Lightning в организации. Архитектура LWS не может быть выключена для отдельных компонентов и не связана с версией API.
Прежде чем включить LWS в производственной организации, убедитесь в готовности всех компонентов Lightning к выполнению в LWS. Дополнительную информацию см. здесь.
Наверх
Где можно получить более подробную информацию о Lightning Web Security?
Клиенты могут использовать ресурсы ниже для получения дополнительной информации о Lightning Web Security.
Наверх
Где можно получить ответы на вопросы о Lightning Web Security?
000392327

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.