組織の Locker API バージョンの選択
Lightning Locker によって組織全体で使用される API バージョンを選択します。デフォルトは現在の API バージョンで、これには最新の Locker セキュリティ機能強化が含まれます。カスタムコンポーネントが古いバージョンの Locker にのみ準拠している場合は、古い API バージョンを選択します。コンポーネントが現在のセキュリティ機能強化に準拠するようになったら、設定を現在の API バージョンに変更できます。
Sandbox 組織を新しい Salesforce リリースに更新すると、カスタムコンポーネントが Lightning Locker セキュリティ機能強化と競合する可能性があります。Web コンソールのメッセージを確認してください。
最新の Locker API バージョンに準拠するようにカスタムコンポーネントを更新することをお勧めしますが、それには時間がかかる場合もあります。組織では、サードパーティの開発者による更新が必要なカスタムコンポーネントを含む管理パッケージを使用している場合もあるでしょう。開発者がカスタム Lightning コンポーネントを更新し、Locker の最新のセキュリティ機能強化に準拠するための時間を猶予するため、前の Locker API バージョンを使用するように組織を設定してください。
Locker API を最新バージョンに設定してカスタムコンポーネントが正常なパフォーマンスを発揮することをサンドボックス組織で確認します。その後、本番組織で Locker API を最新バージョンに変更して、最新のセキュリティ機能強化を利用してください。
Locker API バージョンの設定が最初に利用可能になるのは、Winter ’20 リリースです。選択できる最も古い Locker API バージョンは 46.0 です。このバージョンでは、Summer ’19 リリースの Locker 機能を利用できます。
組織の Locker API バージョンは、「Lightning Locker が及ぼす影響」に記載されているエリアで使用されているすべての Lightning コンポーネントに影響します。
組織で Lightning Web セキュリティが有効になっている場合、組織の Locker API バージョンは Lightning Web コンポーネントに影響しません。
すべての Lightning Web コンポーネントには、apiVersion
を含む設定ファイルがあります。コンポーネントの apiVersion
と Locker API バージョンは、Salesforce のリリースに合わせて同じバージョン番号戦略を使用します。ただし、Locker API バージョンの組織設定はコンポーネントの apiVersion
とは関係ありません。組織で設定された Locker API バージョンは、apiVersion
設定に関わらず、すべての Lightning コンポーネントに適用されます。
API バージョンのセキュリティ変更を表示すると、カスタムコンポーネントの互換性を判断することができます。
Locker API バージョン | セキュリティ変更 | 説明 |
---|---|---|
53.0 以降 | なし | このリリースでの Lightning Locker の変更は、カスタムコンポーネントには影響しません。 |
52.0 | いくつかの潜在的な変異ベースのクロスサイトスクリプティング (mXSS) ベクトルを防止します。 | Lightning Locker では、セキュリティを強化するためにマークアップのサニタイズが厳しくなりました。この変更は、すべての API バージョンに適用されます。以前の API バージョンを選択してこの変更をロールバックすることはできません。 |
51.0 | なし | このリリースでの Lightning Locker の変更は、カスタムコンポーネントには影響しません。 |
50.0 | なし | このリリースでの Lightning Locker の変更は、カスタムコンポーネントには影響しません。 |
49.0 | $A.getCallback() で使用される API を制限する | Lightning Locker で $A.getCallback() 関数がラップされます。$A.getCallback() でラップされる JavaScript は、Locker のセキュリティ制限に従う必要があります。Lightning Locker での JavaScript API のサポート状況については、「Locker API Viewer」を参照してください。 |
48.0 | execCommand で挿入された HTML をサニタイズする | document.execCommand(insertHTML) を使用して挿入された HTML が Lightning Locker でサニタイズされ、潜在的に悪意のある実行可能スクリプトコンテンツが削除されます。 |
47.0 | import() 式を拒否する | サードパーティのコードをインポートすると潜在的なセキュリティリスクとなるため、Lightning Locker では import() 式は許可されません。 |
HTML 要素の name と id プロパティを制限する | Lightning Locker では、DOM 用に予約されているプロパティ名に name または id 属性を設定することは許可されません。 | |
46.0 | すべての Locker セキュリティ機能 | 導入以来 (旧称: LockerService)、Lightning Locker のすべての機能をサポートしています。これには、バージョン 37.0 (Spring '16) からバージョン 46.0 (Summer '19) のリリースまでのすべての機能が含まれています。 |
- [設定] から、[クイック検索] ボックスに「
Session
」と入力し、[セッションの設定] を選択します。 - [Locker API バージョン] セクションの [API バージョンのセキュリティ強化の使用] 項目で、API バージョンを選択します。
- [保存] をクリックします。
関連トピック