Blogical

AWS/Salesforceを中心に様々な情報を配信していきます(/・ω・)/

Trailheadモジュールの紹介(4) - Shield Platform Encryption の設定と管理

日頃よりお世話になっております。

ロジカル・アーツ株式会社のSE 輪島 幸治です。

SalesforceのTrailheadモジュールからShield Platform Encryptionという Salesforceのセキュリティ設定を行うモジュールをご紹介させて頂きます。

この記事について

さて、今回ご紹介させて頂くのは、Shield Platform Encryptionのプロジェクトです。 この記事では、プロジェクトの"Shield Platform Encryption の設定と管理"のモジュールをご紹介させて頂きます。

trailhead.salesforce.com

Shield Platform EncryptionはSalesforceの項目の暗号化を行うセキュリティ設定の一つです。 Salesforce Shieldという有償のアドオンサービスのプラットフォーム暗号化として提供されています。

www.salesforce.com

項目の暗号化には、暗号化項目という設定があるのではと思うかもしれませんが、 Shield Platform Encryptionは別の暗号化機能です。 また、Summer'17から、画面上でマスキングされずに項目が表示されるようになりました。 詳細は、下記のナレッジをご参照下さい。

従来の暗号化と Shield Platform Encryption との違い

重要な更新: 認証されたユーザへの暗号化データの表示 - Summer'17

この記事では、Trailheadモジュールの設定方法についてご紹介させて頂きます。 Trailheadモジュールが文字だけでは分かりづらい方、検証を行う時間がない方、 Trailheadモジュールの概要だけ把握したい場合などにお使い下さい。

Shield Platform Encryption の設定

権限セットを使用した権限の割り当て

まず、Shield Platform Encryption の設定を行うために権限セットを作成して必要な権限を付与します。

1.画面右上の[設定]を押下します。

f:id:logicalarts:20210913072416p:plain
図1

2.設定メニューが表示されます。

f:id:logicalarts:20210913072440p:plain
図2

3.クイック検索メニューに[権限セット]と入力して、権限セットのメニューを表示させて、リンクを押下します。

f:id:logicalarts:20210913072452p:plain
図3

4.Shield Platform Encryption用の権限セットを作成するため、[新規]を押下します。

f:id:logicalarts:20210913072505p:plain
図4

5.表示ラベルにKey Manager (鍵管理者)API参照名にKey_Managerを入力して、[保存]を押下します。

f:id:logicalarts:20210913072517p:plain
図5

6.権限セットのメニューが表示されましたら、システム権限のリンクを押下します。

f:id:logicalarts:20210913072529p:plain
図6

7.システム権限の設定メニューが表示されましたら、[編集]を押下します。

f:id:logicalarts:20210913072542p:plain
図7

8.システム権限の一覧にアプリケーションのカスタマイズという権限があるため、チェックを入れます。

f:id:logicalarts:20210913072553p:plain
図8

9.次に、暗号化鍵を管理という権限があるため、チェックを入れます。

f:id:logicalarts:20210913072604p:plain
図9

10.アプリケーションのカスタマイズ および 暗号化鍵を管理という権限にチェックを入れて、権限セットを保存すると関連したシステム権限が追加された確認画面が表示されるので、[保存]を押下します。

f:id:logicalarts:20210913072617p:plain
図10

11.[保存]を押下すると作成した権限セットに、付与する権限が追加され、権限セットの作成が完了します。

f:id:logicalarts:20210913072629p:plain
図11

権限セットの割り当て

次に、作成した権限セットをShield Platform Encryption の設定を行うユーザに割り当てます。 ユーザに割り当ては、ユーザ設定から行います。

1.権限セットを割り当てるユーザを選択します。

f:id:logicalarts:20210913072639p:plain
図12

2.権限セットを割り当てるユーザの詳細画面が表示されます。

f:id:logicalarts:20210913072652p:plain
図13

3.権限セットの割り当てセクションを確認して、[割り当ての編集]を押下します。

f:id:logicalarts:20210913072701p:plain
図14

4.利用可能な権限セット一覧が表示されますので、作成した権限セットKey Manager (鍵管理者)を選択して、[追加]を押下して、"利用可能な権限セット"から"有効化された権限セット"に移動させます。

f:id:logicalarts:20210913072715p:plain
図15

5.権限セットが有効化された権限セットに移動しましたら、[保存]を押下します。

f:id:logicalarts:20210913072727p:plain
図16

6.権限セットの割り当てセクションにKey Manager (鍵管理者)が表示されていることを確認します。

f:id:logicalarts:20210913072738p:plain
図17

テナントの秘密を生成

権限セットの割り当てが完了しましたら、権限を割り当てたユーザで、Shield Platform Encryption の設定を行います。 まずは、テナントの秘密という組織固有の主秘密と連動する鍵を作るための値を生成します。

1.クイック検索メニューに、プラットフォームの暗号化と入力して、セキュリティのコントロール配下にあるShield Platform Encryptionの設定メニューを確認して、[鍵の管理]を押下します。

f:id:logicalarts:20210913072750p:plain
図18

2.鍵の管理の設定画面が表示されましたら、[テナントの秘密を生成]を押下します。

f:id:logicalarts:20210913072802p:plain
図19

3.テナントの秘密種別を選択が表示されますので、[Salesforceのデータ]を選択して[エクスポート]を押下します。

f:id:logicalarts:20210913072813p:plain
図20

4.テナントの秘密の暗号化されたコピーがテキストファイルにエクスポートされます。のダイアログが表示されますので、[OK]を押下します。

f:id:logicalarts:20210913072825p:plain
図21

5.テナントの秘密がテキストファイルにエクスポートされますので、値を確認します。取得したテナントの秘密の値については、ローカルファイルとしてテキストファイルに保存します。

f:id:logicalarts:20210913072833p:plain
図22

項目の暗号化

テナントの秘密が作成できましたら、項目の暗号化を行います。

1.クイック検索メニューに暗号化ポリシーと入力して、[セキュリティのコントロール] > [プラットフォームの暗号化]の配下にある暗号化ポリシーのリンクを押下します。

f:id:logicalarts:20210913072854p:plain
図23

2.暗号化ポリシーの設定メニューを確認します。

f:id:logicalarts:20210913072906p:plain
図24

3.項目の暗号化を行うには、[項目を暗号化]と書かれたリンクを押下します。

f:id:logicalarts:20210913072918p:plain
図25

4.標準項目を暗号化の画面に遷移され、暗号化する項目一覧が表示されます。

f:id:logicalarts:20210913072934p:plain
図26

5.暗号化したい項目にチェックを入れます。*1

f:id:logicalarts:20210913072948p:plain
図27

6.保存を押下すると、現在、暗号化を有効化中の項目があります。有効化が完了するとシステム管理者にメールで通知されます。後でブラウザを更新して変更を確認して下さい。と表示されます。

f:id:logicalarts:20210913073001p:plain
図28

7.暗号化が有効になるとメールが届きます。メールの宛先ですが、メールにユーザ名記載がありますが、暗号化を設定したユーザ宛にメールが届きます。 今回の場合は、ユーザ名logical2021webapp@creative-panda-nxjzlp.com宛にメールが届いています。 *2 *3

今回は、取引先オブジェクトの取引先名について暗号化できない設定となっています。暗号化できる項目と暗号化できない項目が混在していた場合は、暗号化した項目一覧と暗号化に失敗した項目の暗号化できない理由が記載された内容がメールに記載されます。

f:id:logicalarts:20210913154757p:plain
図29

8.メール受信後、暗号化設定した項目一覧にチェックが入り、項目の暗号化設定が行われたことを確認します。

f:id:logicalarts:20210913154814p:plain
図30

ファイル、および添付ファイルの暗号化

項目の暗号化だけでなく、Shield Platform Encryptionでは、ファイルと添付ファイルを暗号化することができます。 ファイルと添付ファイルを暗号化では、暗号化ポリシーの設定にて、項目にチェックを入れて、保存を押下します。

暗号化ポリシー

[セキュリティのコントロール] > [プラットフォームの暗号化] > [暗号化ポリシー]

f:id:logicalarts:20210913154829p:plain
図31

暗号化統計およびデータ同期

Shield Platform Encryptionで暗号化した項目の暗号化状況ですが、 設定メニューの暗号化統計から、暗号化状況を確認することができます。 暗号化統計では、暗号化されたレコード、暗号化されていないレコードが確認できます。

暗号化統計

[セキュリティのコントロール] > [プラットフォームの暗号化] > [暗号化統計]

f:id:logicalarts:20210913154840p:plain
図32

f:id:logicalarts:20210913154853p:plain
図33

まとめ

以上で、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