2020.07.03 「Salesforce のセキュリティ機能について:(1)データセキュリティの基本機能とプラットフォーム暗号化による拡張」
≪ 2020.06.26 「Einstein AI で Salesforce は進化する:(7 - 最終回) Sales Cloud Einstein - 生産性向上の鍵は AI にあり(後編)」
2020.07.10 「Salesforce のセキュリティ機能について:(2)セキュリティの観点から見た「シングルサインオン」と「私のドメイン」」 ≫
お世話になっております。
ウフル カスタマーサポート Salesforce 担当の 後藤 でございます。
皆様いかがお過ごしでしょうか。
本記事を執筆している7月2日、東京都では新型コロナウイルス(COVID-19)感染者が2ヶ月ぶりに100人を超えたとのニュースが入ってきました。
6月に入ってから原則的に会社に出勤して仕事をしておりますが、再びテレワークを中心とした勤務に切り替えるかどうか、会社とも連携して再検討する必要があるかもしれない、そのように感じております。
「うちもテレワーク中心になるよう勤務体系を見直さなければ」とお考えのお客様も少なくないかと存じます。
緊急事態宣言が発令された日のカスタマーサポート通信の記事がお役に立つかもしれません。私も今一度振り返ってみたいと思います。
2020.04.03 「【特別編】 Salesforce を軸にテレワークを導入する際の考慮事項、およびウフルの取り組みについて」
https://csminfo.uhuru.jp/hc/ja/articles/900000497266
さて、Summer '20 のリリースまで3週間を切りました。
先週までは7週にわたって Salesforce Einstein のシリーズを展開してきましたが、Summer '20 がリリースされたら新機能レビューのシリーズになる関係上、「3回で終わるシリーズ」で何を取り上げようかと考えたところ、社内より「セキュリティ関連、特に Salesforce Shield について取り上げてほしい」とリクエストがありました。
セキュリティアドオン - Salesforce Shield
https://www.salesforce.com/jp/products/platform/products/shield/
Salesforce Shield は、次の3つのオプションで構成されています。
- プラットフォーム暗号化
従来の Salesforce アプリケーション機能(検索やワークフロー)を阻害しない形で、重要なデータを暗号化して保護する機能 - イベントモニタリング
誰がいつどのデータにどのような形でアクセスしたか、詳細なログを記録し、API 経由もしくは Einstein Analytics に取り込んで確認を行い、併せて、レポートの参照やエクスポートなど指定したイベントが発生した際に、管理者への通知などアクションを発生させる機能 - 項目監査証跡
コンプライアンスや監査、社内ガバナンスのため、任意の項目(オブジェクトあたり60項目まで)の特定の時点(最長10年)でのスナップショットを把握し追跡する機能
このうち、「プラットフォーム暗号化」が「カスタマーサポート通信で取り上げるのに適した」機能だと思われますので、 せっかくの機会です、プラットフォーム暗号化機能を取り上げるタイミングで、Salesforce のセキュリティ機能全体を深堀りしてみたいと思います。
* Salesforce のデータセキュリティ機能(標準オプション)
プラットフォーム暗号化について触れる前に、Salesforce の基本セキュリティ機能について再確認してみましょう。
Salesforce 組織の保護
https://help.salesforce.com/articleView?id=security_overview.htm&type=5
=============================================================
Salesforce は、データとアプリケーションを保護するための開発を新しく行いました。また、独自のセキュリティスキームを実装して、組織の構造とニーズを反映させることもできます。データの保護はお客様と Salesforce との相互連携が必要になります。Salesforce のセキュリティ機能を使用すると、ユーザはジョブを安全に効率的に実行できます。
=============================================================
Salesforce の基本セキュリティ機能には以下のものがあります。
* セッションセキュリティ管理
ユーザが Salesforce システムにログインする際、およびログインしてからのセッションを管理します。
管理内容を例に挙げると、
- 組織の信頼済み IP アドレス範囲の設定
- ログイン後に一定時間無操作状態が続いた際の強制ログアウトの設定
- 高保証セッションセキュリティを要求する機密情報へのアクセス設定
などがあります。
このうち「信頼済み IP」「無操作状態の強制ログアウト」については皆様にもお馴染みの機能だと思われます。
信頼済み IP アドレス範囲外(例えば自宅や訪問先など)からログインを試みると、「IDを検証」画面が表示され、メールで送られた5桁の数字を入力するよう求められた、というのは皆様もきっと経験があるかと存じます。
「高保証セッションセキュリティ」については、例えばアプリケーションのカスタマイズ画面や、レポートの実行とエクスポートなど、限定したユーザにのみ許可する「高レベルのセキュリティと定義された操作」の場合のみ、指定したアクションを求めるようにするというものです。
この「指定したアクション」で主に用いられるのが「2要素認証」です。
スマートフォンなどのモバイルデバイスに Salesforce Authenticator をインストールし、管理メニューでユーザとデバイスを関連付け、高保証セッションセキュリティにカテゴライズされた操作を行う際に Authenticator にプッシュ送信された通知から許可を行うよう要求することで、「デバイスを持ったユーザのみが許可された操作を行えるようにする」というものです。
Salesforce Authenticator については、カスタマーサポート通信でも過去に取り上げておりますので、よろしければご参照いただけると幸いです。
2020.04.03 「【特別編】 Salesforce を軸にテレワークを導入する際の考慮事項、およびウフルの取り組みについて」
https://csminfo.uhuru.jp/hc/ja/articles/900000497266
(関連ヘルプ)
機密情報の操作への高保証セッションセキュリティの要求
https://help.salesforce.com/articleView?id=security_auth_require_ha_session.htm&type=5
有効化
https://help.salesforce.com/articleView?id=security_activation_about.htm&type=5
* シングルサインオンと私のドメイン
シングルサインオンを使用することで、複数のネットワークサービスへのアクセスを1回のログインだけで行えるようになります。
ユーザのログインアカウント管理の手間を減らすことだけではなく、システム管理者にとっても、アカウントとパスワードを管理する場所を集約することで、不正ログインのリスクを低減することができるというメリットがあります。
Salesforce でシングルサインオンを使用するためには、組織で「私のドメイン」(マイドメインとも呼ばれます)を有効化する必要があります。
私のドメインの設定オプションには「 login.salesforce.com からのログインをブロックし、私のドメインからのログインのみに制限する」があり、こちらを選択することで、ユーザは私のドメインを知らないとログインができなくなり、結果としてこちらも不正アクセスのリスクを低減することができます。
私のドメインについても、カスタマーサポート通信の過去記事で解説をしております。 (セキュリティ上の施策というよりは、「インスタンス移行に対処する推奨策」との意味合いですが)
お時間ございましたら是非ご覧ください。
2020.03.26 「Salesforce - よくあるお問合せを深掘りします:vol.1 - インスタンス移行とセキュリティアラート」
https://csminfo.uhuru.jp/hc/ja/articles/900000403343
セキュリティ上の施策としてのシングルサインオンと私のドメインについては、来週詳しく取り上げる予定です。
* オブジェクトの項目へのユーザアクセス制御
取引先や商談など Salesforce オブジェクト上の各項目について、ユーザごとのアクセスレベルを制御することができます。
例えば、「マネージャ入力欄」というテキスト入力項目を設け、マネージャ職以上のユーザのみ入力可能、一般ユーザは読み取り専用、という設定が可能になります。
これは、「項目レベルセキュリティ」の機能を使用して、プロファイルごとに「参照更新可能」「参照のみ」「アクセス不可」の属性を設定する方法を取ります。
一方、特定の項目に対して「ある部署のユーザは画面上で参照可能で、別の部署のユーザは画面で参照できない」ように設定することも可能で、この場合は「ページレイアウト」を複数作成し、部署(プロファイル)に割り当てることで、項目データへのアクセスを管理します。
項目へのユーザアクセスの制御
https://help.salesforce.com/articleView?id=customize_layoutoverview.htm&type=5
* テキスト(暗号化)項目の使用
例えばクレジットカード番号のように、「限られたユーザのみ値の参照を許可する」という項目がある場合、項目自体にはアクセス可能でも、値を参照できないようにする(アスタリスクなどの記号でマスキングする)ことが可能です。
「マスク種別」は、「すべての文字をマスク」「最後の4文字だけ表示」の他、クレジットカード番号や社会保障番号など、予め決まった形式に対応するオプションも用意されています。
プロファイルまたは権限セットの「暗号化されたデータの参照」権限を持つユーザのみがマスキングされていない元データを参照可能です。
同権限を持たないユーザが値の入力や編集を行う場合(編集権限は「暗号化されたデータの参照」権限の有無を問わず項目自体のセキュリティレベルに依存します)、入力した直後にマスキングされて参照できなくなります。
カスタム項目の従来の暗号化
https://help.salesforce.com/articleView?id=fields_about_encrypted_fields.htm&type=5
「テキスト(暗号化)」項目は、上記ヘルプにも記載があるとおり、値がマスキングされる関係上、入力規則やワークフロールールなどにも影響を及ぼすことになり、項目自体も文字数やデータ型の制限もあって使い勝手があまり良くなく、ヘルプにも次の一文が追加されています。
=============================================================
暗号化カスタム項目ではより多くの処理が必要となり、また、検索関連の制限もあるため、政府の規制により必要な場合にのみ使用してください。
=============================================================
そのため、暗号化カスタム項目はあまり普及せず、「標準項目や既存のカスタム項目を暗号化できる機能」の提供が待たれていました。
* Salesforce Shield を構成するサービス「Shield Platform Encryption(プラットフォーム暗号化)」
2015年7月、「Salesforce Shield」の提供開始がアナウンスされました。
(公式プレスリリースのアーカイブ)
セールスフォース・ドットコム、迅速なアプリケーション構築を実現する新しいSalesforce1 Platformサービス「Salesforce Shield」を発表
https://www.salesforce.com/jp/company/news-press/press-releases/2015/07/150722/
Salesforce Shield を構成するサービスは、冒頭でご案内した「イベントモニタリング」「項目監査証跡 」そして「プラットフォーム暗号化」になります。
「プラットフォーム暗号化」は、従来の「カスタム暗号化項目」と異なり、「プラットフォーム」の名が示す通り「重要なプラットフォーム機能に制限を掛けることなく、データの暗号化を実現する」ソリューションになります。
Shield Platform Encryption でのデータのセキュリティの強化
https://help.salesforce.com/articleView?id=security_pe_overview.htm&type=5
=============================================================
Shield Platform Encryption では、重要なプラットフォーム機能を保持しながらデータに新しいセキュリティ層が追加されます。ネットワーク経由での送信時だけでなく、保存時に機密データを暗号化できるため、会社は非公開データの処理で準拠すべきプライバシーポリシー、規制要件、契約義務に確実に準拠できます。
=============================================================
プラットフォーム暗号化を構成する要素は以下になります。
- Salesforce プラットフォーム自体の「主秘密」と、各組織で作られる「テナントの秘密」を複合して生成された、組織固有の「データ暗号化鍵」
- 暗号化の対象となる項目(標準及びカスタム)、添付ファイル、検索インデックス
組織にデータ暗号化鍵を設定し、暗号化対象とした項目やファイルにアクセスした際に暗号化鍵と照合を掛けることで、ユーザはレコードの値やファイルの参照が可能になる、という仕組みです。
なお、従来のカスタム暗号化項目と異なり、プラットフォーム暗号化の項目にアクセスするためには、「暗号化されたデータの参照」のような 特別なプロファイル権限を要求されません。
適正なプロセスを踏んで Salesforce にログインしたユーザは原則として全員アクセス可能になります。
よく誤解されるのですが(私も誤解していました)、プラットフォーム暗号化は、項目をマスキングすることで「組織内部でユーザに値を見せない」ことが目的ではありません。
プラットフォーム暗号化の対象項目の値は「マスキングされません」。
(実は Spring '17 リリースまでは「ユーザの便宜を図るうえで」暗号化対象項目が画面上ではマスキングされており、この誤解を解消するために仕様変更でマスキングしないようになったという経緯があります)
正規のログイン手順を踏まず不正にアクセスすることで、プラットフォーム暗号化項目の値を組織外に盗み出しても、組織外ではデータ暗号化鍵にアクセスできないため、盗み出したデータの復号化が行えず意味のないものになる・・・というのが、プラットフォーム暗号化機能の「本質」になります。
従来の暗号化と Shield Platform Encryption との違い
https://help.salesforce.com/articleView?id=security_pe_vs_classic_encryption.htm&type=5
ヘルプにも記載がありますが、プラットフォーム暗号化は組織内でデータを非表示にするための機能ではないため、もしデータを非表示にしたい場合は、標準機能の項目レベルセキュリティを使用してプロファイルで管理する必要があります。
私の暗号化されたデータがマスクされない理由は?
https://help.salesforce.com/articleView?id=security_pe_masking.htm&type=5
=============================================================
暗号化により、部外者が何とか Salesforce データを入手したとしても、そのデータの使用を防止できます。これは、認証済みユーザからデータを非表示にする方法ではありません。認証済みユーザのデータ表示を制御する方法は、ユーザ権限のみです。保存時の暗号化は権限ではなくログインに関連するものです。
=============================================================
プラットフォーム暗号化を適正に運用するには、「データ暗号化鍵の生成と管理」が非常に重要になってきます。
(例えば、データ暗号化鍵のバックアップを取らないまま不用意に設定を削除してしまうと、プラットフォーム暗号化を設定した項目やファイルに今後一切アクセスできなくなってしまいます!)
データ暗号化鍵を構成する要素は「Salesforce の主秘密」と「テナントの秘密」であることは先述しましたが、「テナントの秘密」については、生成方法は二通りあります。
- Salesforce 内の設定メニューでシステム管理者が生成する
- 外部システムで独自のテナントの秘密を生成して鍵素材としてインポートする
より堅牢なセキュリティを実現するのはもちろん後者です。
これは「BYOK (Bring Your Own Key)」と呼ばれます。
(IT の世界では「BYO なんとか」ってよく使いますよね、会社のネットワークに私物のモバイルデバイスを接続する「BYOD (Bring Your Own Device)」のように)
Bring Your Own Key (BYOK)
https://help.salesforce.com/articleView?id=security_pe_byok_setup.htm&type=5
=============================================================
独自のテナントの秘密を使用すると、Salesforce Shield Platform Encryption の利点を得られるだけでなく、テナントの秘密を専用に管理することによって高保証を実現できます。
=============================================================
BYOK で使われる鍵素材の生成や管理は、言うまでもなく厳格なセキュリティガイドラインへの準拠が要求されます。
敷居は高いですが、「BYOK も組み込んで初めてプラットフォーム暗号化の施策は完璧なものになる」ので、導入を検討されているお客様は、外部のエンタープライズ鍵管理システムについても事前にご確認を頂ければと存じます。
=================================================
新シリーズ「Salesforce のセキュリティ機能」の第一回、如何でしたでしょうか。
文中にも記載いたしましたが、筆者である私自身、執筆中に「誤解をしていた」部分が少なからずあり、裏付けを取るために公式ヘルプの調査やデモ組織での検証で「誤解が解消した」ことも度々あります。
お客様におきましても、色々と不確かな部分があるかと存じます。
その場合は弊社にご相談いただければ、念入りに確認および調査をさせていただきます。
まさしく「不明点は宝の山」です。お客様の不明点を共有し、「財宝」に変換する手助けをさせていただければ幸いです。
次回は「ログイン管理」について集中的に取り上げる予定です。
「シングルサインオン」や「私のドメイン」の話を中心に展開させていただきます。
今後ともウフル カスタマーサポートを引き続きご愛顧いただきますよう、何卒よろしくお願い申し上げます。
コメント