はじめにこんにちは、汐見です。(yosugalaの汐見まといさんから拝借してます)普段はSalesforceの運用保守リーダーとしてお仕事頑張っています。今回も前回の角煮さん同様、勉強会で学んだSalesforceの「データ共有」についてまとめました。Salesforceは多くの部署やメンバーが使うシステムのため、「誰がどのデータを見られるか」といった設定は、正しい運用の土台となります。本記事を通じて、Salesforceを安全に活用するための基本的な設定について、少しでも理解を深めていただければ幸いです。勉強会の目的Salesforceの「データ共有」に関する基本的な知識を身につけること。秘匿性の高いデータについてどのような設定をすべきか身につけること。上記を通してシステムの安全性向上に役立てること。共有ルールの設定本セクションでは、共有設定・手動共有について学びます。下記のユースケースを想定しています。・ユーザー自身が作成したデータしか閲覧できないようにしたい・必要があれば同じ部署のユーザーに共有できるようにしたい・安全にデータを共有したい要件:取引先責任者に紐づく特定個人情報のアクセスを制限しているケースを想定取引先責任者には、氏名・部署などの一般情報と、年収・マイナンバーなどの特定個人情報が含まれる。特定個人情報は限られたユーザーのみ閲覧可能であり、ユーザーが特定の他ユーザーに個別共有できる必要がある。目標:特定個人情報を管理ユーザー以外は閲覧できないように制限をかけること以下の条件で作成する。・特定個人情報は法務部かつ自分の担当のレコードしか閲覧できない・部署内の指定した人と共有できる事前準備今回の勉強会では、Trailhead Playgroundを使用しました。①システム管理者がユーザーとしてログインできるようにする設定から、クイック検索ボックスに「ログイン」と入力し、[ログインアクセスポリシー]を選択します。その後、「管理者は任意のユーザーでログインできます」にチェックを入れて、[保存]をクリックします。②プロファイル作成法務部、営業部のプロファイルを作成します。※本来細かい設定は必要ですが、今回は標準ユーザーからコピーします。設定から【プロファイル】を選択します。【新規プロファイル】をクリックします。既存のプロファイルで「標準ユーザー」を選択します。プロファイル名に「法務部」を入力し【保存】をクリックします。同様に営業部のプロファイルを作成します。③ユーザー作成法務部ユーザー2名、営業部ユーザー1名を作成します。佐藤太郎(法務部のプロファイルを割り当てます)山本美咲(法務部のプロファイルを割り当てます)田中花子(営業部のプロファイルを割り当てます)※Trailhead環境のライセンス数制限があります。(2つまで)Platformユーザーのアカウントで見る場合はプロファイルの割り当てで、システム管理者または標準ユーザーに変更してください。設定から、クイック検索ボックスに「ユーザー」と入力し、[ユーザー]を選択します。その後、すべてのユーザーの[新規ユーザー]をクリックします。新規ユーザーの画面で必須項目を入力します。メールは存在しないメールアドレスで問題ありません。手順①特定個人情報オブジェクト作成オブジェクトマネージャーから【作成】→【カスタムオブジェクト】をクリックします。必要箇所を入力して、[保存]をクリックします。項目とリレーションから【新規】で以下項目を作成します。・マイナンバー(テキスト)・年収(数値)・取引先責任者(参照関係(取引先責任者))②共有設定ホームのクイック検索で「共有設定」と入力し、【共有設定】を選択します。【編集】をクリックします。特定個人情報オブジェクトのデフォルトの内部アクセス権を「非公開」に変更します。【保存】をクリックします。③法務部のプロファイルにの権限付与【プロファイル】をクリックします。【法務部】をクリックします。【編集】をクリックします。特定個人情報オブジェクトの「参照」「作成」「編集」「削除」にチェックを付けます。【保存】をクリックします。④特定個人情報レコードを作成する佐藤太郎でログインします。取引先責任者から特定個人情報レコードを作成します。佐藤太郎が作成しているため、もちろん佐藤太郎は特定個人情報レコードを閲覧することができます。※特定個人情報レコードを作成する準備として、取引先・取引先責任者のレコードも必要です。⑤他ユーザーでレコードを閲覧できるか確認する山本美咲でログインします。※Trailhead環境のライセンス数制限があるため、佐藤太郎を標準 Platformユーザーのプロファイルに変更し、山本美咲を法務部のプロファイルに変更します。佐藤太郎用テストの取引先責任者レコードの詳細ページに遷移します。特定個人情報が閲覧できないことが確認できます。営業部の田中花子でログインしてみて確認します。同様に閲覧できないことが確認できます。ただ先ほどと異なるのは営業部のプロファイルには特定個人情報オブジェクトの権限付与をしていないので、特定個人情報の関連リストも表示されません。⑥手動共有を行う再び佐藤太郎でログインします。特定個人情報レコードの詳細ページまで遷移して▼→共有をクリックします。山本美咲と田中花子に共有します。ユーザーを検索で共有したいユーザー(山本美咲と田中花子)を選択します。保存をクリックします。※特定個人情報 アクセス権は参照のみと参照・更新がありますので、適宜変更してください。⑦再び他ユーザーでレコードを閲覧できるか確認する山本美咲でログインします。先ほどと同様の取引先責任者に遷移します。共有されたため特定個人情報の関連リストにレコードが表示されています。特定個人情報の詳細レコードが閲覧できるようになりました。※鉛筆マークがあるため編集できるかと思いきや、共有の際に特定個人情報 アクセス権は参照のみで保存したため、編集を行うとエラーが発生します。田中花子でログインします。取引先責任者のレコードに遷移します。共有されても特定個人情報の関連リストは表示されることはありません。またURLなどを共有してもらって直接遷移しようとしても表示されません。※プロファイルのオブジェクト権限が付与されていないため結果法務部(特定個人情報オブジェクトの権限を付与したプロファイル)→自分が作成したユーザーは閲覧できます。 また他ユーザーから共有された特定個人情報は閲覧できるようになります。営業部(特定個人情報オブジェクトの権限を付与していないプロファイル)→共有されたとしても閲覧することができません。まとめ今回は「デフォルトの共有設定」や「手動共有」について触れ、各設定の権限の強制力を学ぶことができました。参考リンク・資料Salesforce公式ドキュメントTrailheadモジュール(オブジェクトのリレーションを作成する)関連する社内Wikiや資料へのリンクObject Relationships: Create & Manage