Skip to main content

状態チェックの実行

学習の目的

この単元を完了すると、次のことができるようになります。

  • 状態チェックを使用して組織の安全をどのように確保できるかを説明する。
  • 状態チェックの設定を使用して、Salesforce 組織内で実行しているアプリケーションのセキュリティを強化する。

Salesforce Platform セキュリティとカスタムアプリケーション

Salesforce 組織で実行するカスタムアプリケーションを作成するときに重要なのは、アプリケーション自体を保護するだけでなく、Salesforce インスタンスが安全であることです。大半のカスタムアプリケーションはビジネスに固有であるため、開発者が作成するアプリケーションも Salesforce 組織に固有のものになると思われます。 

Salesforce は、プラットフォームをできるだけ安全にしようと常に努力しており、第三者が開発するアプリケーションのセキュリティも共有責任であると考えています。この取り組みの一環として、組織のビジネス要件に柔軟に対応できるように、セキュリティコントロールの一部を開発者に提供しています。 

Salesforce のセキュリティ機能を使用すると、ユーザーはジョブを安全に効率的に実行できます。このモジュールでは、カスタムアプリケーションの開発時と実行時に Salesforce 組織のセキュリティを確保する重要な 2 つの方法について説明します。まず最初は状態チェックです。

看護師の制服を着た女性が、壁に投影された状態チェックスコアに聴診器をあてています。87 というスコアが、時計回りに Salesforce Shield、ロックされたスタック、地球儀、盾と電話、クラウドを表すアイコンに囲まれています。

状態チェックとは

状態チェックとは、組織のセキュリティ設定が、Salesforce が推奨する設定とどの程度一致しているかを確認できるダッシュボードです。0 ~ 100 のスコアが表示され、100 は最も安全な設定を表します。このダッシュボードページから 1 回クリックするだけで、組織に組み込まれたセキュリティメカニズムの堅牢度を調整し、脆弱な設定を修正できます。1 つのページからすべてのセキュリティ設定にアクセスできるため、組織全体のセキュリティを一目で把握しやすくなります。概要スコアには、Salesforce が推奨する基準に組織がどの程度適合しているかが示されます。

状態チェックを使用する理由

状態チェックは、組織のセキュリティ設定に存在する無効なセキュリティメカニズムを明らかにします。カスタムアプリケーションをリリースするときに、この情報に基づいて組織のセキュリティを強化できます。この機能が重要である理由は、カスタムアプリケーションを作成してリリースすると必ず組織全体のセキュリティに影響するからです。Salesforce Platform で作成されたアプリケーションのほとんどは、所有者の組織にリリースされます。つまり、カスタムコードの実行は、組織のセキュリティがどのように設定されているかによって左右されます。 

Salesforce アプリケーションの保護

Salesforce にリリースされたときにアプリケーションを安全に動作させるために重要なのは、適切なセキュリティ権限の有効化です。Lightning コンポーネントは、Lightning Web コンポーネント (LWC) と Aura コンポーネント (元のモデル) の 2 つのプログラミングモデルを使用して作成できます。ただし、Salesforce は一般に Aura コンポーネントではなく、LWC の使用に移行しつつあります。 

LWC とは、HTML と JavaScript を使用して作成されるカスタム HTML 要素です。LWC と Aura コンポーネントは、1 つのページで共存と相互運用が可能です。どちらも Lightning コンポーネントとしてシステム管理者やエンドユーザーに表示されます。LWC はコア Web コンポーネント標準を使用し、Salesforce でサポート対象のブラウザーで適切に動作するために必要な機能のみを提供します。LWC はブラウザーでネイティブに実行されるコード上に構築されるため、軽量で卓越したパフォーマンスを発揮します。開発者が記述するコードの大部分は、標準の JavaScript と HTML です。

メモ

LWC は Web アプリケーション開発の標準になりつつあるため、このモジュールでは LWC のセキュリティ設定と条件について説明します。 

LWC のセッションの設定の保護

通常、Salesforce アプリケーションを実行するには次が必要です。 

  1. Salesforce 組織
  2. LWC でのブラウザー側コード
  3. Apex でのサーバー側コード

適切なセキュリティ権限を有効化することで、Salesforce にリリースされたときに、アプリケーションがどう動作するかを変更できます。セキュリティ権限にアクセスするには、[設定] | [セキュリティ] に移動します。または [設定] から検索ボックスを使用して目的の設定を見つけてください。ほとんどのセキュリティ設定は、単純なオンとオフの切り替えです。以下のセキュリティ設定の有効化をお勧めします。

HttpOnly 属性が必要

HttpOnly 属性を設定すると、アプリケーションから送信される各 Cookie のセキュリティが厳格になり、アプリケーションと Salesforce サーバーの通信方法が変更されます。HttpOnly は、JavaScript による Cookie の読み取りを防止するので、ブラウザーは Cookie を受信できますが、ブラウザー内で変更することはできません。 

HttpOnly は Set-Cookie HTTP 応答ヘッダーに含まれる追加のフラグです。Cookie を生成するときに HttpOnly フラグを使用すると、クライアント側のスクリプトが保護された Cookie にアクセスするリスクを軽減できます。

ユーザー証明書を有効化

この設定を使用すると、組織で個々のユーザーを認証するときに、証明書ベースの認証で PEM エンコード X.509 デジタル証明書を使用できるようなります。

クリックジャック保護を有効化

サイトのクリックジャック保護は、次のいずれかのレベルに設定できます。

  • すべてのページでフレーム化を許可 (保護なし)
  • 公開元が同じページでのみフレーム化を許可 (推奨)
  • すべてのページでフレーム化を許可しない (最大保護)

Salesforce コミュニティには 2 つのクリックジャック保護があります。両方を同じレベルに設定することをお勧めします。

  • Force.com コミュニティサイト (Force.com サイトの詳細ページから設定)
  • Site.com コミュニティサイト (Site.com 設定ページから設定)

HTTPS が必要

この設定は 2 か所で有効にする必要があります。 

  • [セッションの設定] の [サイトおよびコミュニティの HSTS] を有効にする。
  • コミュニティまたは Salesforce サイトのセキュリティ設定で [セキュアな接続 (HTTPS) が必要] を有効にする。

セッションタイムアウト

組織に機密情報が保存されており、厳格なセキュリティを適用する必要がある場合は、タイムアウト期間を短く設定することをお勧めします。

次の値を設定できます。 

  • タイムアウト値
  • セッションタイムアウト時に強制的にログアウト
  • セッションタイムアウト時の警告ポップアップを無効にする

クロスサイトスクリプティング (XSS) 保護を有効化

反射型クロスサイトスクリプティング攻撃から保護する XSS 保護を有効にします。反射型クロスサイトスクリプティング攻撃が検出されると、コンテンツのない空白のページがブラウザーに表示されます。コンテンツがなければ、攻撃の挿入にスクリプトを利用できません。 

ここでは、LWC の組み込み機能で組織を保護する方法について見てきました。次の単元では、アプリケーションの保護に Shield がどう役立つかを詳しく見ていきます。

リソース

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる