Loading

Vanliga frågor om Lightning Webbsäkerhet

Publiceringsdatum: Jan 30, 2025
Beskrivning
Lightning Webbsäkerhet (LWS) är en ny säkerhetsarkitektur på klientsidan för Lightning-komponenter. Denna nya arkitektur definieras av färre begränsningar och mer funktionalitet samtidigt som den ger starka sandboxar och en säkerhetsställning för att upprätthålla isolering av namnutrymmen. Resultatet är en stark, flexibel och användbar säkerhet för dina Lightning-komponenter. Målet är att ersätta Lightning Locker med LWS för Lightning-komponenter.
Lösning

Vanliga frågor och svar


Grunder i Lightning Webbsäkerhet


LWS-aktivering


Mer information


*********************************************************************************************************************************

Grunder i Lightning Webbsäkerhet


Vad är Lightning Webbsäkerhet?
Lightning Webbsäkerhet (LWS) är en ny säkerhetsarkitektur på klientsidan för Lightning-komponenter. Denna nya arkitektur definieras av färre begränsningar och mer funktionalitet samtidigt som den ger starka sandboxar och en säkerhetsställning för att upprätthålla isolering av namnutrymmen. Resultatet är en stark, flexibel, användbar säkerhet för dina Lightning-komponenter.

Lightning Locker har varit standardsäkerhetsarkitekturen för alla Lightning-komponenter. Lightning Webbsäkerhet (LWS) ersätter Lightning Locker för Lightning-webbkomponenter initialt, och Salesforce lägger till stöd för Aura-komponenter över flera versioner.

Till början

Vilket problem löser Lightning Webbsäkerhet?
Lightning Webbsäkerhet förhindrar Lightning-webbkomponenter från att störa eller få åtkomst till data från komponenter från andra namnutrymmen.

En Lightning-sida kan innehålla komponenter som skapats av flera företag. Komponenter skapade av en organisations utvecklarteam samexisterar med komponenter skapade av Salesforce. Om du skapar och distribuerar appar i paket på AppExchange samexisterar dina komponenter med komponenter skapade av Salesforce och komponenterna hos kunden som installerar din app.

Utan förebyggande åtgärder på plats kan en komponent komma åt fönstrets globala objekt och nå privata resurser eller data från andra komponenter på sidan. En åtgärd är att isolera komponenter efter namnutrymme så att en skadlig komponent inte kan komma åt resurserna för komponenter utanför dess namnutrymme.

Isoleringen av namnutrymme är transparent och virtuell, vilket gör att komponenter ser ut att köras och får åtkomst till komponenter från andra namnutrymmen som om de alla körs i samma miljö.

Till början 

Hur fungerar Lightning Webbsäkerhet?
Lightning Webbsäkerhet isolerar komponenter i en JavaScript-sandbox dedikerad till komponenternas namnutrymme. Denna sandboxning låter oss exponera globala dokument, fönster och element direkt utan att öppna dörren för säkerhetshot. LWS ändrar kod som körs i JavaScript-sandboxen för att förhindra osäkert beteende. Om du har frågor, se Så här fungerar Lightning-webbsäkerhet .

Till början

Hur skiljer sig Lightning Webbsäkerhet från Lightning Locker?
Lightning Webbsäkerhet skiljer sig från Lightning Locker på följande sätt:

  • Användning av komponenter mellan olika namnutrymmen. Dina Lightning-komponenter kan importera komponenter eller moduler från andra namnutrymmen och använda dem via komposition eller tillägg. Komponenterna är isolerade i en egen JavaScript-sandbox för namnutrymmet, men det är transparent för dig eftersom LWS utför virtuell kommunikation bakom kulisserna.
  • Säker interaktion med globala objekt. Eftersom varje namnutrymme får sin egen JavaScript-sandbox kan vi exponera globala dokument, fönster och element direkt utan att behöva använda omslag för att säkra dina komponenter. Lightning Webbsäkerhet ändrar beteenden hos dessa objekt för att förhindra en komponent från att komma åt globala objekt som används av komponenter från ett annat namnutrymme.
  • Tillgång till iframe-innehåll och identitet. Dina Lightning-komponenter kan få åtkomst till innehåll i iframe-element, även när innehållet kommer från ett annat ursprung. Iframe-identiteten bibehålls också över sandbox-gränsen, så att kontroll av identiteten för postMessage-händelsens ursprung fungerar normalt. Lightning Locker blockerar åtkomst till innehåll i iframes.
  • Förbättrad prestanda. Exekvering av din kod i namnutrymmets JavaScript-sandbox är snabbare än i Lightning Locker eftersom Lightning Webbsäkerhet inte använder säkra omslag som kan minska prestandan.
  • Bättre stöd för JavaScript från tredje part. Bibliotek kan använda tekniker som att manipulera globala objekt eftersom de körs i en JavaScript-sandbox och deras ändringar av globaler inte påverkar komponenter i andra namnutrymmen. Lightning Locker tillhandahåller säkra omgivna versioner av fönster-, dokument- och elementobjekten för att förhindra åtkomst till vissa API:er för dessa globala objekt. Omslagen förhindrar användning av vissa tredjepartsbibliotek som har åtkomst till dessa skyddade API:er.
  • Kompatibilitet med standard-JavaScript när de utvecklas. Lightning Webbsäkerhet har modellerats efter de senaste TC39-standarderna som utvecklas med webbläsarplattformarna.


Till början

Är Lightning Webbsäkerhet säkrare än Lightning Locker?
Lightning Webbsäkerhet och Lightning Locker har för närvarande motsvarande säkerhetsnivåer. Den viktigaste skillnaden är att Lightning Webbsäkerhet tillåter ökad JavaScript-funktionalitet och snabbare kodexekvering.

LWS kan på ett säkert sätt aktivera funktioner som Lightning Locker förhindrar eftersom arkitekturen tillåter en mer finkornig metod för att blockera osäkra beteenden. Till exempel, istället för att helt och hållet förhindra användning av ett API, kan LWS förhindra en komponent från att ställa in en egenskap för API:t.

Se Lightning Webbsäkerhet jämfört med Lightning Locker för mer information.

Till början

Varför ska jag flytta till LWS om Locker är lika säkert??
Eftersom Lightning Webbsäkerhet integreras i Lightning Experience-plattformen ger det samma säkerhetsskydd som Lightning Locker för att underlätta övergången mellan de två arkitekturerna. Vi vill att dina Lightning-komponenter initialt ska kunna köras under båda arkitekturerna. Men arkitekturerna är fundamentalt olika. 

LWS antar nya webbstandarder som är i aktiv utveckling, medan Lightning Locker är en unik lösning som Salesforce implementerade när adekvata webbstandarder inte fanns ännu. Tänk på LWS som framtiden för Lightning-komponentsäkerhet och Lightning Locker som den äldre implementeringen av Lightning-komponentsäkerhet. Salesforce är en deltagare i utvecklingen av de webbstandarder som LWS implementerar. Våra utvecklingsinsatser fokuseras på LWS nu, och Lightning Locker underhålls snarare än förbättras. 

Du kan vinna på att anta LWS eftersom den har bättre övergripande prestanda än Lightning Locker. LWS-arkitekturen använder virtualiseringskoncept i sandboxar istället för omslag runt varje osäkra API. Detta tillvägagångssätt minskar prestandastraffet som alltid utsätts för att säkerställa datasäkerhet. Efter den första sidladdningen körs komponenter snabbare under LWS än de gör under Lightning Locker.

När alla dina komponenter kan köras under LWS och du inte behöver byta tillbaka till Lightning Locker, kan du förbättra dina komponenter för att få tillgång till andra fördelar som beskrivs i Lightning Webbsäkerhet jämfört med Lightning Locker.

Vi har arbetat bakom kulisserna för att lägga till stöd för Aura-komponenter i Lightning Webbsäkerhet. Den nuvarande begränsningen av den allmänna tillgängligheten av endast LWC är en tillfällig punkt i utvecklingen av Lightning Webbsäkerhet. Med versionen Spring ’23 är LWS för Aura tillgängligt som en betafunktion och är planerad att vara allmänt tillgänglig i Summer ’23. (safe harbor)

Beslutet att flytta din organisation och komponenter till LWS är en fråga om när du ska flytta, inte om du ska flytta. Längre fram kommer Lightning Locker inte att vara en hållbar lösning för Lightning-komponentsäkerhet. Ju tidigare du kan flytta till LWS desto bättre för dina komponenters säkerhet och prestanda. .

Till början

När kommer Lightning Webbsäkerhet vara allmänt tillgängligt?
Lightning Webbsäkerhet blev allmänt tillgängligt i Spring '22 för Lightning-webbkomponenter, men inte för Aura-komponenter. Med versionen Spring ‘23 är LWS för Aura tillgängligt som en betafunktion och är planerad att vara allmänt tillgänglig i Summer ‘23. (safe harbor)

Salesforce planerar att ersätta Lightning Locker fullt ut med LWS med tiden.

Till början

Ska kunder aktivera Lightning Webbsäkerhet?
Kunder uppmuntras att aktivera LWS, först i en sandbox-miljö som test och sedan i produktion. Alla Lightning-komponenter påverkas av LWS, inklusive komponenter installerade via paket. Mer information finns i När Lightning Webbsäkerhet ska aktiveras

Salesforce aktiverar LWS automatsikt med ett fasat tillvägagångssätt. Se avsnittet "LWS-aktivering” för mer information.

Till början

Vilka konsekvenser har paketering för ISV-partner?
Paketeringsstrategier för ISV-partners beror på flera faktorer, bland annat vilken typ av komponenter som används i ISV-lösningen och den säkerhetsarkitektur som finns inom kundorganisationen.

I denna tabell sammanfattar vi paketkonsekvenserna för ISV-partner.

Komponenter i
ISV-paket
Stöds av
Lightning Locker
Stöds av Lightning WebbsäkerhetPaket som krävsLWS-inställning i
kundorganisation
Endast Aura-komponenter.JaBeta1Aktiverad eller Inaktiverad
Aura-komponenter och Lightning
-webbkomponenter som inte använder endast-LWS-funktioner*.
JaBeta1Aktiverad eller Inaktiverad
Inte Aura-komponenter. Lightning
-webbkomponenter som inte använder endast-LWS-funktioner.
JaJa1Aktiverad eller Inaktiverad
Inte Aura-komponenter.
Lightning-webbkomponenter som endast använder LWS-funktioner.
Nej.

Locker kräver ett separat paket
med komponenter som inte endast använder LWS-funktioner.
Ja2Aktiverad, för paketet som endast
använder LWS-funktioner.

Inaktiverad, för paketet som endast
inte använder LWS-funktioner.

*Endast LWS-funktioner inkluderar global objektmanipulation, import eller utvidgning av komponenter och moduler från andra namnutrymmen och åtkomst till innehåll i iframe-element.

Mer information finns i Bloggen för Vad behöver ISV-partners veta om Lightning Webbsäkerhet.

Partnern kan testa sin produkt i en sandbox eller en testorganisation i den senaste versionen med LWS aktiverat, för att kontrollera att allt fungerar som det ska. Se Arbetsflöde för att testa dina LWC med Lightning Webbsäkerhet.

När du har kontrollerat att produkten uppför sig som förväntat med Lightning Webbsäkerhet kan du arbeta med dina kunder för att avgöra om kundorganisationen kan aktivera Lightning Webbsäkerhet. Se När Lightning Webbsäkerhet ska aktiveras för information om när det går bra att aktivera LWS inom produktion.

Om en partner inte utnyttjar de nya funktionerna i Lightning Webbsäkerhet finns ingen anledning att behålla två paketversioner. Ett paket som har fungerat med Lightning Locker kommer att fungera även med LWS, i det fall det endast innehåller Lightning-webbkomponenter.

Om en partner vill släppa nya paket för att utnyttja funktionerna i LWS, till exempel importera komponenter från ett annat namnutrymme:

  • Partnern informerar kunden om att kundorganisationen måste aktivera Lightning Webbsäkerhet för att använda de nya paketen.
  • Kunden läser När Lightning Webbsäkerhet ska aktiveras för att se att det finns stöd för att aktivera LWS i produktion inom organisationen.
  • Kunden aktiverar Lightning Webbsäkerhet i organisationen och testar i enlighet med anvisningarna i Arbetsflöde för att testa dina LWC med Lightning Webbsäkerhet för att kontrollera att de egna komponenterna fungerar som de ska.
  • Efter att ha kontrollerat att komponenterna fungerar ordentligt installerar kunden partnerpaketen och testar produkten i organisationen.


Om partnern även vill stötta kunder som inte kan aktivera Lightning Webbsäkerhet måste partnern tillhandahålla separata paket som fungerar med Lightning Locker, tills det att Salesforce har aktiverat Lightning Webbsäkerhet till 100 procent inom alla organisationer.

När en partner stöttar kunder på två arkitekturer krävs separata paket för Lightning Locker respektive Lightning Webbsäkerhet endast när partnern vill använda funktioner som blockeras i Lightning Locker.

Till början

Hur vet en ISV-partner ifall en kund är på LWS idag?
Be kunden att kontrollera LWS-inställningen i Inställningar eller kontrollera värdet programmatiskt för inställningen lockerServiceNext med hjälp av Metadata-API. Om värdet är sant är LWS aktiverat. Se Avsnittet med SessionSettings i Metadata API Developer Guide.

För Experience Builder-webbplatser är LWS och Locker inställda oberoende på organisationens LWS-inställningen. Be kunden att kontrollera inställningen för Lightning Locker i Experience Builder eller kontrollera värdet programmatiskt för inställningen LockerServiceNext med hjälp av Metadata-API. Om värdet är sant är LWS aktiverat. Se Avsnittet med ExperienceBundle i Metadata API Developer Guide.

Till början

Hur påverkar LWS Experience Cloud-webbplatser?
Experience Cloud har flera typer av webbplatser. Se Experience Cloud-ordlistan för beskrivningar för var och en.

Aura-webbplatser kan inkludera LWC-komponenter och Aura-komponenter. I Spring ’23, när LWS-inställningen är aktiverad i organisationen skyddar LWS båda typer av komponenter på Aura-webbplatser. Stödet för Aura-komponenter är i beta, vilket beskrivs i versionsinformation Använd Lightning Webbsäkerhet för Lightning-webbkomponenter (GA) och Aura-komponenter (Beta). När LWS inte är aktiverat i organisationen skyddar Lightning Locker komponenter i en Aura-webbplats. Om du inaktiverar Lightning Locker i en Aura-webbplats inställningar inaktiverar du säkerhetsarkitekturen som gäller för tillfället. Om LWS är aktiverat på organisationsnivå och om Lightning Locker inaktiveras på Aura-webbplatsen då inaktiveras faktiskt LWS för Aura-webbplatsen.

LWR-webbplatser körs med Lightning Web Runtime (LWR), vilket tillhandahåller sin egen instans för LWS för att skydda LWC-komponenterna på webbplatserna. Eftersom det finns en separat LWS-instans har organisationsinställningen för LWS ingen effekt på LWR-webbplatser. Om du inaktiverar Lightning Locker på LWR-webbplatsen inaktiveras webbplatsens instans av LWS, även om LWS är aktiverat i organisationen. Namnet ”Lightning Locker” används eftersom den nya säkerhetsarkitekturen lades till i LWR innan namnet Lightning Webbsäkerhet valdes. Vi planerar att uppdatera namnet i Experience Builder. Se Begränsningar i LWR-mall i Salesforce-hjälpen för ytterligare information.

Salesforce-flikar + Visualforce-webbplatser stöds inte av LWS eller Lightning Locker. De använder en annan säkerhetsarkitektur. LWS-inställningen i organisationen har ingen effekt.

I denna tabell sammanfattas effekten av de inställningar som valts i Aura- och LWR-webbplatser och organisationen:

Experience Cloud-webbplatsmallLocker-inställning för webbplatsLWS-inställning för organisationLWS & Locker-status för webbplatsen
Aura-webbplatsavavav
Aura-webbplatsavav
Aura-webbplatsavLocker för LWC och Aura
Aura-webbplatsLWS för LWC och Aura (beta).
Om LWS aktiverades i Winter '23, då används Locker för Aura-komponenter i Spring '23.
LWR-webbplatsavavav
LWR-webbplatsavav
LWR-webbplatsavLWS (version som används i själva LWR).
LWR-webbplatsLWS (version som används i själva LWR).


Till början

Använder Field Service LWS?
Field Service använder Lightning Web Runtime som tillhandahåller sin egen instans för LWS. LWS-inställningen i organisationen påverkar inte instansen som används i Field Service. Anpassade Lightning-webbkomponenter som utvecklare skapar för att förlänga Field Service skyddas av LWS-instansen i LWR. Den mesta av LWS-dokumentationen är relevant för utvecklare som arbetar med komponenter för Field Service, förutom informationen om att aktivera och inaktivera LWS i organisationen.

Till början
 

LWS-aktivering


Kommer Salesforce att aktivera Lightning Webbsäkerhet för kunder?
(safe harbor)

, Ja, med tiden. Lightning Webbsäkerhet blev allmänt tillgängligt i Spring ’22 för Lightning-webbkomponenter, men inte för Aura-komponenter. Under versionen Spring '22 aktiverade Salesforce gradvis Lightning Webbsäkerhet för Lightning-webbkomponenter för tusentals kunder vars organisationer endast innehöll Lightning-webbkomponenter (LWC).

Från och med versionen Winter ‘23 har nya organisationer LWS för LWC aktiverat som standard. 

Med versionen Spring ‘23 är LWS för Aura tillgängligt som en betafunktion och är planerad att vara allmänt tillgänglig i Summer ‘23 (safe harbor). LWS för Aura (Beta) är aktiverat som standard i nya Salesforce-organisationer och organisationer utan några komponenter. Organisationer med LWS för LWC aktiverat i sin organisation innan Spring ’23, och med endast LWC i sin organisation kommer också att ha LWS för Aura (beta) aktiverat som standard i sin organisation med versionen Spring ’23.

Organisationer med LWS för LWC aktiverat innan Spring ’23, och med Aura-komponenter i sin organisation kommer att uteslutas från LWS för Aura (beta) så det påverkar inte dina Aura-komponenter i Spring ‘23. Uteslutningen gäller endast för produktionsorganisationer. LWS för Aura (beta) är aktiverade i Spring-sandboxar så att du kan börja testa dina Aura-komponenter. Se Arbetsflöde för att prova dina LWC med Lightning Webbsäkerhet för mer information.

Vi planerar att aktivera Lightning Webbsäkerhet gradvis för alla kunder under de kommande versionerna. Inställningen för att inaktivera den är tillfällig och kommer så småningom att tas bort (safe harbor). 

Till början

 Vilken potentiell påverkan kan det bli när LWS är aktiverat som standard i nya organisationer?

Vi meddelade i versionsinformation för Winter '23 att LWS för Lightning-webbkomponenter är aktiverat som standard i nya Salesforce-organisationer. Med start i versionen Spring ’23 kommer LWS för Aura-komponenten (beta) också att vara aktiverad som standard i nya Salesforce-organisationer. 

I anpassade organisationer som du planerar att slå samman eller dela upp till en ny organisation, avgör om Lightning-komponenter används i de befintliga organisationerna. På samma sätt, om du är en kund med flera organisationer, avgör du om Lightning-komponenter används i några metadatamallar och kodförråd som du använder för att starta upp nya organisationer. Om du fyller i en ny organisation med dina egna Lightning-komponenter eller paketerade Lightning-komponenter som du har använt i organisationer utan LWS aktiverat, var medveten om att de körs med LWS aktiverat i den nya organisationen. Se till att testa dina Lightning-komponenter eller hanterade paket som innehåller Lightning-komponenter i en sandboxmiljö med inställningen Använd Lightning Webbsäkerhet för Lightning- webbkomponenter (GA) och Aura-webbkomponenter (beta) aktiverad.

Fråga leverantörer av hanterade paket om deras paket är kompatibla med LWS. Du kan inaktivera LWS om det behövs, men vi rekommenderar att du öppnar ett supportkundcase för att hjälpa till att lösa eventuella problem med LWS först.

Till början

Var är LWS för Aura (Beta) aktiverat automatiskt i Spring '23?
Vi aktiverar LWS för Aura (Beta) i dessa typer av organisationer:

  • Nya organisationer
  • Skissorganisationer
  • Sandbox-organisationer
  • Produktionsorganisationer som inte innehåller LWC- eller Aura-komponenter
  • Produktionsorganisationer som innehåller LWC-komponenter, men som inte innehåller Aura-komponenter, om LWS för LWC var aktiverat i Winter '23

Till början
 

Var är LWS för Aura (Beta) inte aktiverat automatiskt i Spring '23?
Vi aktiverar inte LWS för Aura (Beta) i dessa organisationer:

  • Produktionsorganisationer som innehåller Aura-komponenter, där LWS för LWC var aktiverat i Winter '23
  • Produktionsorganisationer som innehåller LWC- och Aura-komponenter, där LWS för LWC inte var aktiverat i Winter '23. Om du aktiverar LWS i Spring '23 aktiverar du LWS för LWC och Aura (beta).


Till början

Kan jag inaktivera Lightning Webbsäkerhet efter att Salesforce har aktiverat det?
Ja. Du kan enkelt återgå till att använda Lightning Locker för Lightning-komponenter genom att avmarkera Använd Lightning Webbsäkerhet för Lightning-webbkomponenter (GA) och Aura-komponenter (beta) på sidan Sessionsinställningar. Om du upptäcker att dina Lightning-komponenter inte fungerar som de ska, öppna ett supportkundcase.

Vi planerar att aktivera Lightning Webbsäkerhet gradvis för alla kunder under kommande versioner. Inställningen för att inaktivera den är tillfällig och kommer så småningom att tas bort. (safe harbor)

Till början

Efter att Lightning Webbsäkerhet har aktiverats i min produktionsorganisation, finns det en mekanism för att ange undantag på komponentnivå?
Nej. När Lightning Webbsäkerhet är aktiverat påverkas alla Lightning-komponenter i organisationen. LWS kan inte inaktiveras på enskilda komponenter och är inte associerade med en API-version.

Se till att alla dina Lightning-webbkomponenter är redo att köras i LWS innan du aktiverar de i en produktionsorganisation. Se Arbetsflöde för att testa dina LWC med Lightning Webbsäkerhet för mer information.

Till början


Mer information


Var kan jag hitta mer information om LWS?
Kunder kan använda följande resurser för att lära sig mer om LWS:

Till början
 
Vart kan jag vända mig om jag har frågor om LWS?

  • För att få hjälp eller rapportera ett problem, öppna ett supportkundcase med ämnet = Developer Support för att avgöra om det finns en bugg i din kod eller i ramverket.
  • Logga en idé om ditt användningsfall inte stöds för närvarande.
  • För att ställa frågor, besök vår grupp Trailblazer Community Lightning Components Development.


Till början

 
Knowledge-artikelnummer

000392327

 
Laddar
Salesforce Help | Article