IT人材をお探しの方は、まずはお電話ください。担当営業がすぐにご要望にマッチした人材をご提案いたします。
tel:03-6409-6766 お急ぎの方はお電話ください

ブログTOP > IT・技術関連 > Salesforce Lightning Lockerとは?基本と概要を解説!

Salesforce Lightning Lockerとは?基本と概要を解説!

IT・技術関連 更新日:2024.09.05
エンジニア採用
Salesforce Lightning Lockerとは?基本と概要を解説!

Salesforce Lightning Lockerとは? SalesforceのLightning Lockerとは、Lightningコンポーネントのためのセキュリティアーキテクチャのことを指します。 Lightning Lockerでは、Lightningコンポーネントがそれぞれの空間に分離されるため、セキュリティ面でのメリットがあります。 さらに、サポートされるAPIへのアクセスのみを許可し、公開されていないフレームワーク内部へのアクセスを排除することで、コードのサポート機能が向上されるベストプラクティスが促進されます。

Lightningコンポーネントとは?

Lightningコンポーネントとは、Salesforce 1 Platform上でUIを構築する技術のことを指します。 この技術により、UI部品をコンポーネント化し、積み木やブロックのような感覚で素早く、直感的にアプリの構築をすることが可能となります。 また、コンポーネント化されたUI部品は、Salesforce 1 Platformで再利用することも簡単なため、効率化という面でもメリットを持っています。

Salesforce Lightning Lockerの概要

ここからはSalesforceのLightning Lockerについての概要を、簡単にご紹介します。

JavaScriptの厳格モード

通常であれば、[use strict]をコードで指定しなければ有効にならない「厳格モード」が、暗黙的に有効となり、コードの安全性、堅牢性、サポート範囲が広がります。

DOMのアクセスコンテインメント

コンポーネントは、DOMをトラバースし、同じ名前空間内のコンポーネントで作成された要素にアクセスすることしかできません。これにより、クロス名前空間アクセスのみが防止され、独自の名前空間内のクロスコンポーネントアクセスを防ぐことで、コンポーネント同士の連動性が向上し、問題の発生率の低下が見込めます。

セキュアなラッパー

セキュリティ上の理由で、Lightning Lockerは、オブジェクトをセキュアなバージョンでラップしたり、非表示にして、グローバルオブジェクトの使用を制限します。 Lightning Lockerでは、コンポーネントやイベントなどのインスタンスも、ラップされたセキュアなバージョンで置き換えられます。例として、[SecureAura]や[SecureComponent]などが挙げられます。

eval()関数の制限

Lightning Lockerでは、コードを動的に評価するサードパーティライブラリを使用できるようにeval()関数の使用がサポートされます。これは、名前空間のグローバル範囲でのみ適用され、eval()関数はコールされた範囲内のローカル変数にはアクセスできません。

MIMEタイプのファイルの分析

Lightning Lockerは、ブラウザから送信されたMIMEタイプのファイルを分析し、一部のMIMEタイプを許可、一部のMIMEタイプをサニタイズし、残りをブロックします。

JavaScript APIフレームワークメソッドへのアクセスの制限

これまでは、サポートされていないJavaScript APIフレームワークメソッドへもアクセスできたため、そのメソッドが変更や削除されたときにコードが破損するといったトラブルがありました。しかし、現在のLightning Lockerでは、サポートされている公開済みのJavaScript APIフレームワークのメソッドにのみアクセスできるようにすることで、この問題を解消しています。

Lightning Lockerの注意点

SalesforceのLightning Lockerは、セキュリティ面で様々な効果をもたらしますが、いくつか注意しなければならないポイントがあります。 まずはLightning Lockerの影響を受けないものが存在する、という点です。 Lightning ExperienceやSalesforceアプリケーションなどはLightning Lockerの影響を受けますが、Salesforce Classic、Visualforceベースのコミュニティ、Salesforce Classicのアプリケーション(Salesforce ClassicのSalesforceコンソールなど)には影響しません。 次に、コンポーネントのAPIバージョンを混在させてはならない、という点です。 一貫性を保ちデバッグを容易にするためにも、アプリケーション、コンポーネント内のコンポーネント、またはコンポーネントを拡張するコンポーネントなどの、すべてのコンポーネントに同じAPIバージョンを設定することが推奨されています。 最後に、サポートされていないブラウザでは無効化される、という点です。 Lightning Lockerは、ブラウザのJavaScriptの機能である厳格モード、Mapオブジェクト、Proxyオブジェクトのサポートに依存しています。これらの要件をブラウザが満たしていなければ、Lightning Lockerはそのすべてのセキュリティ機能を適用することができず、無効となってしまいます。

Lightning Lockerの理解を深めて、より安全なUI構築を!

今回はSalesforceのLightning Lockerの基本的な概要と注意点についてご紹介しました。 セキュリティやベストプラクティスが促進されるなどのメリットを享受するためには、概要と注意点をよく理解して、UI構築をしなければなりません。 そのため、Lightning Lockerについて、しっかりと情報収集し、理解した上でLightningコンポーネントでのUI構築を始めることをおすすめします。]]>

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニアAWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。

・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
ITエンジニアの派遣を利用したい企業様へ
ITエンジニアを派遣で採用したい企業様へ
  • 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
  • すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!

当社のITエンジニア派遣サービスは

  • 派遣スピードが速い!(最短即日)
  • 4,500名のエンジニアから貴社にマッチした人材を派遣
  • 正社員雇用も可能

こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。

無料相談のお申し込みはこちら
IT・技術関連の記事一覧へ

カテゴリから記事を探す

すべての記事一覧へ