2021/05/24

SalesforceのLightningでJavaScriptボタンとリンクを置き換える理由とは? Lightningで変換する方法を解説

 
  

SalesforceのLightningでJavaScriptボタンとリンクを置き換える理由

Salesforce ClassicにおけるUIのアクションとして使用されているJavaScriptボタンとリンクには、セキュリティ上の課題があります。 JavaScriptボタンとリンクを、よりセキュリティが強化されているLightning Experienceで代替することが推奨されています。

Salesforce Lightningではなく、JavaScriptを使用するリスク

JavaScriptには、ドキュメントオブジェクトモデルとブラウザオブジェクトモデルにフルアクセスできるという、開発者にとっての利便性がある一方で、それが悪意のある第三者でも、JavaScript経由で両者にアクセスできるという脆弱性にもつながります。 JavaScriptを使用することが、クロスサイトスクリプティングのリスクにもなり得ます。 ハッカーによってWebページのクライアント側コードを書き換えられると、ユーザのセッションやCookieからデータ抽出やキーストロークログの取得、フォームへのエントリやAPIへのアクセスなどを実行される可能性があるでしょう。

SalesforceのLightning LockerはJavaScriptへのアクセスを制限

Salesforceでは、JavaScriptボタンとリンクを代替する方法として、Lightning Lockerという、XSS等のセキュリティ上の課題を解決するソリューションを提供しています。 Lightning Lockerはドキュメントオブジェクトモデルへのアクセスや不明なAPIおよびプライベートAPIへのコールを制限します。Lightning Lockerではその他に、クライアント側APIのバージョン管理や、セキュリティ関連の機能やポリシーを簡単に更新可能です。

Salesforce上のJavaScriptボタンとリンクをLightningで変換する方法

Lightningには、JavaScriptボタンの機能を変換するツールが用意されています。 ・クイックアクション ・Apex トリガ ・カスタムURLボタンとリンク ・Visualforce クイックアクション ・Lightning アクション ・リストビューのカスタムVisualforceボタン

Salesforce LightningのコンバータでJavaScriptボタンとリンクを変換する

Lightning Experience設定コンバータは、VisualページなどのSalesforceのUIで使用されている、JavaScriptボタンとリンクを変換するツールです。 クリック操作だけで、JavaScriptボタンとリンクがLightningコンポーネント、クイックアクションなどの宣言型ツールに変換可能です。 Lightning Experience設定コンバータにより、Salesforce上のJavaScriptボタンとリンクをスキャンできます。スキャン結果はシステム管理者にメール送信されます。

SalesforceのLightning Experience設定コンバータの使い方

SalesforceのLightning Experience設定コンバータでは、[Manual(More Details)(手動(詳細を表示))] の項目とサポートされない項目を除いて、以下の操作を実行できます。 Preview(プレビュー):推奨される代替法(宣言型、プログラム型)を表示する Convert(変換):推奨される代替法への変換のみ Convert & Deploy(変換してリリース):推奨される代替法への変換とページレイアウトへの追加

①Salesforce上のJavaScriptボタンを確認する

Lightning Experience設定コンバータにログインして、[JavaScript Buttons(JavaScriptボタン)]タブを選択します。 テーブルヘッダーに表示されている最後にスキャンされた日付を確認して、スキャンデータが古い場合やデータが存在しない場合は、JavaScriptボタンのスキャンを実行します。

②JavaScriptボタンの最新情報を取得する

[Scan for JavaScript Buttons(JavaScriptボタンをスキャン)]をクリックして、スキャンを実行します。 オブジェクトごとに、検出されたすべてのJavaScriptボタンとリンクのリストが作成され、各項目のページレイアウトと推奨される変換種別が表示されます。項目の変換オプションは、各行のLightning Experienceドロップダウンメニューアイコンから確認可能です。

③JavaScriptボタンを変換(Convert)する

変換したい項目のドロップダウンメニューアイコンから、Convert(変換)を選択します。 変換と同時にリリースしない場合はこちらを使用します。この機能はJavaScriptボタンを変換するだけで、ページレイアウトには追加されません。 リリースするときには、影響するページレイアウトに手動で追加するか、下の手順でLightning Experience設定コンバータの[リリース]を使用します。 [Converted Buttons (変換されたボタン)]タブ>変換された項目>ドロップダウンメニューから[リリース]を選択します。

④JavaScriptボタンを変換してリリースする

JavaScriptボタンの変換と同時にリリースする場合は、ドロップダウンメニューアイコンから[Convert&Deploy(変換してリリース)]を選択します。変換したボタンがページレイアウトに追加されます。

Salesforce LightningでJavaScriptボタンを変換してセキュリティを強化

SalesforceのLightningでJavaScriptボタンとリンクを置き換える方法を紹介しました。 SalesforceのUI上でJavaScriptボタンとリンクを使い続ければ、セキュリティ上のリスクを放置することになります。 クリック操作だけで変換できるLightning Experience設定コンバータを活用して、速やかに対処しましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】