Mark Hammer's blog

SalesforceやTrailheadに関する情報を投稿しているブログです。

Trailhead モジュール:Lightning コンポーネントのセキュリティ

※この内容は2019/4時点のものです。

Lightning セキュリティの使用開始

https://trailhead.salesforce.com/ja/content/learn/modules/security-for-lightning-components/get-started-with-lightning-security

  • 説明:日本語
  • Challenge:日本語選択問題

セキュアな Lightning コンポーネントの作成

https://trailhead.salesforce.com/ja/content/learn/modules/security-for-lightning-components/create-secure-lightning-components

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

このChallengeは、通常のDeveloper Edition組織やTrailhead Playground組織ではなく、Kingdom Management DE組織を使用してください。
このChallengeの前に、Kingdom Management DE組織にサインアップしてください。

  • 「Secure Lightning」アプリケーションの「Secure Component Challenge」タブをクリックしてください。
  • 開発者コンソールを起動し、「LTNG_Secure_Component_Challenge」Lightningコンポーネントを開いてください。
  • 「LTNG_Secure_Component_Challenge」Lightningコンポーネントのコードから、脆弱性がある2か所を修正してください。
  • 「Secure Component Challenge」タブに戻り、検索実行後に表示される説明文にて、ページ動作が変化しないことを確認してください。

Lightning JavaScript コードの保護

https://trailhead.salesforce.com/ja/content/learn/modules/security-for-lightning-components/secure-your-lightning-java-script-code

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

このChallengeは、通常のDeveloper Edition組織やTrailhead Playground組織ではなく、Kingdom Management DE組織を使用してください。
このChallengeの前に、Kingdom Management DE組織にサインアップしてください。

  • 開発者コンソールを開き、secureFilters という名前で MIME タイプが text/javascript の静的リソースを新規作成し、このファイルをアップロードしてください。
  • 開発者コンソールを起動し、「LTNG_SecureFilters_Challenge」Lightningコンポーネントコントローラを開き、「secureFilters」静的リソースを使用してユーザデータをエンコードしてください。
  • 「Secure Lightning」アプリケーションの「SecureFilters Challenge」タブをクリックし、動作を確認してください。
  • ヒント:ユーザデータはHTML要素に変換されるため、それに合わせた適切なエンコード機能を使用してください。

コンポーネント通信の保護

https://trailhead.salesforce.com/ja/content/learn/modules/security-for-lightning-components/secure-your-component-communication

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

このChallengeは、通常のDeveloper Edition組織やTrailhead Playground組織ではなく、Kingdom Management DE組織を使用してください。
このChallengeの前に、Kingdom Management DE組織にサインアップしてください。

  • 「Secure Lightning」アプリケーションの「Access Control Challenge」タブをクリックしてください。
  • 開発者コンソールを起動し、「LTNG_Access_Control_Challenge_Wrapper」、「LTNG_Access_Control_Challenge」Lightningコンポーネントコントローラを開いてください。
  • 内部管理用属性が他のコンポーネントに公開されないよう、属性のアクセスレベルを変更してください。
  • 「Access Control Challenge」タブに戻り、動作を確認してください。
  • ヒント:一部の属性は公開されることを意図した作りになっています。しかし、王国(Kingdom Management DE組織)のためのアクセス制御を考えると、属性のアクセスレベルをコンポーネント内に保つことが常に最善です。