日頃よりお世話になっております。
ロジカル・アーツ株式会社のSE 輪島 幸治です。
SalesforceのTrailheadモジュールからShield Platform Encryptionという Salesforceのセキュリティ設定を行うモジュールをご紹介させて頂きます。
この記事について
さて、今回ご紹介させて頂くのは、Shield Platform Encryptionのプロジェクトです。 この記事では、プロジェクトの"Shield Platform Encryption の設定と管理"のモジュールをご紹介させて頂きます。
Shield Platform EncryptionはSalesforceの項目の暗号化を行うセキュリティ設定の一つです。 Salesforce Shieldという有償のアドオンサービスのプラットフォーム暗号化として提供されています。
項目の暗号化には、暗号化項目という設定があるのではと思うかもしれませんが、 Shield Platform Encryptionは別の暗号化機能です。 また、Summer'17から、画面上でマスキングされずに項目が表示されるようになりました。 詳細は、下記のナレッジをご参照下さい。
・従来の暗号化と Shield Platform Encryption との違い
・重要な更新: 認証されたユーザへの暗号化データの表示 - Summer'17
この記事では、Trailheadモジュールの設定方法についてご紹介させて頂きます。 Trailheadモジュールが文字だけでは分かりづらい方、検証を行う時間がない方、 Trailheadモジュールの概要だけ把握したい場合などにお使い下さい。
Shield Platform Encryption の設定
権限セットを使用した権限の割り当て
まず、Shield Platform Encryption の設定を行うために権限セットを作成して必要な権限を付与します。
1.画面右上の[設定]を押下します。
2.設定メニューが表示されます。
3.クイック検索メニューに[権限セット]と入力して、権限セットのメニューを表示させて、リンクを押下します。
4.Shield Platform Encryption用の権限セットを作成するため、[新規]を押下します。
5.表示ラベルにKey Manager (鍵管理者)
、API参照名にKey_Manager
を入力して、[保存]を押下します。
6.権限セットのメニューが表示されましたら、システム権限
のリンクを押下します。
7.システム権限の設定メニューが表示されましたら、[編集]を押下します。
8.システム権限の一覧にアプリケーションのカスタマイズ
という権限があるため、チェックを入れます。
9.次に、暗号化鍵を管理
という権限があるため、チェックを入れます。
10.アプリケーションのカスタマイズ
および 暗号化鍵を管理
という権限にチェックを入れて、権限セットを保存すると関連したシステム権限が追加された確認画面が表示されるので、[保存]を押下します。
11.[保存]を押下すると作成した権限セットに、付与する権限が追加され、権限セットの作成が完了します。
権限セットの割り当て
次に、作成した権限セットをShield Platform Encryption の設定を行うユーザに割り当てます。 ユーザに割り当ては、ユーザ設定から行います。
1.権限セットを割り当てるユーザを選択します。
2.権限セットを割り当てるユーザの詳細画面が表示されます。
3.権限セットの割り当てセクションを確認して、[割り当ての編集]を押下します。
4.利用可能な権限セット一覧が表示されますので、作成した権限セットKey Manager (鍵管理者)
を選択して、[追加]を押下して、"利用可能な権限セット"から"有効化された権限セット"に移動させます。
5.権限セットが有効化された権限セットに移動しましたら、[保存]を押下します。
6.権限セットの割り当てセクションにKey Manager (鍵管理者)
が表示されていることを確認します。
テナントの秘密を生成
権限セットの割り当てが完了しましたら、権限を割り当てたユーザで、Shield Platform Encryption の設定を行います。 まずは、テナントの秘密という組織固有の主秘密と連動する鍵を作るための値を生成します。
1.クイック検索メニューに、プラットフォームの暗号化
と入力して、セキュリティのコントロール配下にあるShield Platform Encryptionの設定メニューを確認して、[鍵の管理]を押下します。
2.鍵の管理の設定画面が表示されましたら、[テナントの秘密を生成]を押下します。
3.テナントの秘密種別を選択が表示されますので、[Salesforceのデータ]を選択して[エクスポート]を押下します。
4.テナントの秘密の暗号化されたコピーがテキストファイルにエクスポートされます。のダイアログが表示されますので、[OK]を押下します。
5.テナントの秘密がテキストファイルにエクスポートされますので、値を確認します。取得したテナントの秘密の値については、ローカルファイルとしてテキストファイルに保存します。
項目の暗号化
テナントの秘密が作成できましたら、項目の暗号化を行います。
1.クイック検索メニューに暗号化ポリシー
と入力して、[セキュリティのコントロール] > [プラットフォームの暗号化]の配下にある暗号化ポリシーのリンクを押下します。
2.暗号化ポリシーの設定メニューを確認します。
3.項目の暗号化を行うには、[項目を暗号化]と書かれたリンクを押下します。
4.標準項目を暗号化の画面に遷移され、暗号化する項目一覧が表示されます。
5.暗号化したい項目にチェックを入れます。*1
6.保存を押下すると、現在、暗号化を有効化中の項目があります。有効化が完了するとシステム管理者にメールで通知されます。後でブラウザを更新して変更を確認して下さい。
と表示されます。
7.暗号化が有効になるとメールが届きます。メールの宛先ですが、メールにユーザ名記載がありますが、暗号化を設定したユーザ宛にメールが届きます。
今回の場合は、ユーザ名logical2021webapp@creative-panda-nxjzlp.com
宛にメールが届いています。
*2
*3
今回は、取引先オブジェクトの取引先名
について暗号化できない設定となっています。暗号化できる項目と暗号化できない項目が混在していた場合は、暗号化した項目一覧と暗号化に失敗した項目の暗号化できない理由が記載された内容がメールに記載されます。
8.メール受信後、暗号化設定した項目一覧にチェックが入り、項目の暗号化設定が行われたことを確認します。
ファイル、および添付ファイルの暗号化
項目の暗号化だけでなく、Shield Platform Encryptionでは、ファイルと添付ファイルを暗号化することができます。 ファイルと添付ファイルを暗号化では、暗号化ポリシーの設定にて、項目にチェックを入れて、保存を押下します。
・暗号化ポリシー
[セキュリティのコントロール] > [プラットフォームの暗号化] > [暗号化ポリシー]
暗号化統計およびデータ同期
Shield Platform Encryptionで暗号化した項目の暗号化状況ですが、 設定メニューの暗号化統計から、暗号化状況を確認することができます。 暗号化統計では、暗号化されたレコード、暗号化されていないレコードが確認できます。
・暗号化統計
[セキュリティのコントロール] > [プラットフォームの暗号化] > [暗号化統計]
まとめ
以上で、Shield Platform Encryption を設定することができます。
Shield Platform Encryption は有償アドオンですが、セキュリティ設定の一つなので、 設定が必要になる場合も多いと思います。参考となれば幸いです。
よろしくお願いいたします。
注意
この記事は、著者が技術調査した結果を、ロジカル・アーツ株式会社のブログにて記事化したものです。
記載されている会社名、商品名などは一般に各社の商標または登録商標です。なお、本文中には、™、®を明記しておりません。
成長が著しい業界であることから、機能更新も早くご紹介したドキュメントの内容などは、予告なく変更される場合もあります。
お気付きの点がありましたらSalesforceに関する内容については弊社、 関連アプリケーションについては、提供元ベンダーやベンダーのパートナー様にお問い合わせ下さい。
よろしくお願いいたします。
*1:今回は、取引先オブジェクトの取引先名については、Apex Classの影響で暗号化できない項目になっているため別の扱いとなります。
*2:検証させて頂いたSalesforce環境にて、取引先項目名をApex Classで使用していたため、Apex Classのエラーメッセージが含まれています。
*3:Hello logical2021webapp@creative-panda-nxjzlp.com,
1 つ以上の項目で暗号化が有効になりました。
次の項目では確率的暗号化が使用されています: 取引先: 住所(請求先), 住所(納入先), 電話, Fax, Web サイト, 説明, 取引先 部門
暗号化の有効化が次の項目で失敗しました。
取引先.取引先名: Apex Class: HandlerFindAccount, line 6, column 13: field 'Name' can not be filtered in a query call
有効化に失敗する理由については、次のページを参照してください: https://help.salesforce.com/HTViewHelpDoc?id=security_pe_validation_errors.htm&language=en_US
Salesforce Shield Platform Encryption