Slide 1

Slide 1 text

Salesforceのデータアクセスの管理 認定 Sharing and Visibility アーキテクト 2023/02/20(月) Salesforce Architects Meetup Osaka#13

Slide 2

Slide 2 text

今回の対象: 認定 Sharing and Visibility アーキテクト 本日の トピック 2


Slide 3

Slide 3 text

今回の対象: 認定 Sharing and Visibility アーキテクト 認定ガイドがQuipになってます https://sfdc.co/EG_SharingandVisibilityArchitect_JA 3


Slide 4

Slide 4 text

認定 Sharing and Visibility アーキテクト に求められるスキル・知識 4
 Winter ’23 試験ガイドより 今回扱っていない

Slide 5

Slide 5 text

試験範囲と出題割合 5
 今回扱っていない

Slide 6

Slide 6 text

Salesforceのデータアクセスの 管理

Slide 7

Slide 7 text

組織、オブジェクト、レコード、項目の関係 7
 前提となる基本を押さえましょう [出典] 組織 オブジェクト レコード 項目

Slide 8

Slide 8 text

オブジェクトレベルセキュリティ 8
 ● オブジェクトの権限は、ユーザが各オブジェクトのレコードを作成、参照、編集、および 削除するために必要な基本レベルのアクセス権限を指定する ● 権限セットおよびプロファイルでオブジェクト権限を指定する ○ 1ユーザ1プロファイル、1ユーザN権限セットの割り当てが可能 ● 共有ルールと共有設定を遵守するものと上書きするものがある ○ 参照/作成/編集/削除→共有の遵守 ○ すべて参照/すべて編集→共有の上書き [出典] ● Spring'26 (2026/2) にプロファイルでの権限付与が機能廃止される ○ https://admin.salesforce.com/blog/2023/permissions-updates-learn-moar-spring-23

Slide 9

Slide 9 text

項目レベルセキュリティ(FLS) 9
 ● オブジェクトの特定項目の値をユーザが参照、編集、削除できるかどうかを制御す る ● 権限セットおよびプロファイルでオブジェクト権限を指定する ● 項目権限は、関連リスト、リストビュー、レポート、検索結果など、アプリケーションの 任意の部分の項目の表示を制御する ○ ページレイアウトの「参照のみ」は、詳細ページと編集ページの項目の表示のみを制御するものなので、項 目権限に編集があると編集できてしまうので要注意 ○ 項目レベルセキュリティは管理者と言えど参照できなくすることが可能 [出典]

Slide 10

Slide 10 text

レコードレベルセキュリティ 10
 ● ユーザに一部のオブジェクトレコードのアクセス権限を付与し、他のオブジェクトレ コードのアクセス権限を付与しないようにできる ● すべてのレコードはユーザまたはキューが所有し、所有者はレコードにフルアクセス できる ● 階層では、階層の上位のユーザは、そのユーザより階層の下位にいるユーザに対 するアクセス権と同じアクセス権が必ず許可される ○ ユーザが所有するレコードとそのユーザと共有されているレコードに適用される ● レコードレベルセキュリティを指定するには、 ①組織の共有設定を行う ②階層を定義する ③共有ルールを作成する [出典] 次ページ以降で詳しく見ていきましょう

Slide 11

Slide 11 text

共有設定 11
 ● Salesforceの共有を表してみます [出典] 組織の共有設定 ロール階層 共有ルール 共有の直接設定 チーム テリトリー管理 公開グループ フォルダ オブジェクト毎、「非公開」または「参照 /公開のみ」に設定する ※「参照/公開・編集可能」にすると効かなくなる レコードの所有者に基づくルール、または条件に基づくルール レコードの所有者の変更によって削除される 取引先チーム、商談チーム、ケースチーム ロール階層とは別、レポート /ダッシュボード/ドキュメントなどに利用 レコードレベルセキュリティは開 放する方向

Slide 12

Slide 12 text

レコードレベルセキュリティ(組織の共有設定) 12
 ● 組織の共有設定では、ユーザが互いのレコードに対して持つデフォルトのアクセス レベルを指定する ● データを最も制限の厳しいレベルで保護する ○ たとえば、商談を参照および編集するオブジェクトレベルの権限をユーザに許可し、組織全体の共有設定 は参照のみであるとする ○ デフォルトでは、これらのユーザは、すべての商談レコードを参照することはできる ○ レコードの所有者であるか、他の権限が付与されていない限り、これらのレコードを編集することはできない ● 最初に組織の共有設定で指定されたレベルを超えるレコードへのアクセス権を制限 するために使用することはできない ● カスタムオブジェクトが、標準オブジェクトとの主従関係の従側にある場合は、組織 の共有設定は [親レコードに連動] に設定されており、これを編集することはできな い [出典]

Slide 13

Slide 13 text

レコードレベルセキュリティ(ロール階層) 13
 ● レコードに対するより幅広いアクセス権を許可する ● 組織のデフォルト設定に関係なく、階層の上位のユーザは常に階層の下位のユー ザと同じデータにアクセスできる ● デフォルトでは、[階層を使用したアクセス許可] オプションは、ほとんどの標準オブ ジェクトに対して有効になっている ○ カスタムオブジェクトのみ変更可能 ● パフォーマンスの観点からの考慮事項 ○ 単一ユーザに 10,000 件を超えるオブジェクトレコードを所有させないこと ○ 上記を超えるオブジェクトを所有する必要があるユーザには、ロールを割り当てないか、または階層の最上 位で個別のロールを割り当てる ○ 共有ルールの元として使用される可能性のある公開グループにユーザを含めない ○ ロール階層内のレベル数は最小限に ○ グループ、ロール、およびテリトリーに変更を加えると、共有ルールの再評価が実行される(共有ルールの 再適用) [出典]

Slide 14

Slide 14 text

レコードレベルセキュリティ(共有ルール) 14
 ● 組織全体の共有設定に自動的な例外を設けることができる ● 公開グループ、ロール、またはテリトリー内のユーザへの共有アクセス権を拡張でき る ● 所有していないレコードや通常は参照できないレコードへのアクセス権をユーザに 付与できる ● レコードに対する追加のユーザアクセス権を許可するためだけに使用される ● 共有ルールタイプは2つ ○ 所有者に基づく共有ルール ■ 特定のユーザが所有するレコードへのアクセスが可能になる ■ 各オブジェクトに最大300件まで(条件に基づく共有ルールも含む) ○ 条件に基づく共有ルール ■ 項目値に基づいて誰とレコードを共有するかを決定 ■ 各オブジェクトに最大50件まで [出典]

Slide 15

Slide 15 text

レコードレベルセキュリティ(共有ルール) 15
 [出典] 所有者に基づく共有ルール 条件に基づく共有ルール

Slide 16

Slide 16 text

レコードレベルセキュリティ(共有の直接設定) 16
 ● レコードへのアクセスを他の特定のユーザに許可する ○ ユーザがレコードの所有権を移行する場合、元のレコード所有者が作成した共有の直接設定は Salesforce によって削除される [出典] 取引先の共有ボタンから直接共有したところ AccountShareを検索したところ RowCause=”Manual”が共有の直接設定をしたもの

Slide 17

Slide 17 text

レコードレベルセキュリティ(Apexによる共有管理) 17
 ● Apexによる共有管理により、開発者はプログラムでカスタムオブジェクトを共有でき る ● Apexによる共有管理を使用してカスタムオブジェクトを共有した場合は、「すべての データの編集」権限を持つユーザのみが、カスタムオブジェクトのレコードの共有を 追加または変更できる ● 共有アクセス権は、レコード所有者が変わっても維持される ○ ApexでRowCauseに"Manual"以外の、わかりやすい共有の理由をセットしておくことで維持される ○ 標準オブジェクトにはRowCause=”Manual”以外を指定できない(デフォルトは”Manual”) [出典]

Slide 18

Slide 18 text

レコードレベルセキュリティ(ユーザ共有) 18
 ● ユーザ共有では、内部ユーザまたは外部ユーザを組織内の別のユーザから表示ま たは非表示にできる ○ 「すべてのユーザの参照」権限 ■ 共有の設定に関係なく、すべてのユーザへの参照アクセス権を必要なユーザに付与できる ■ すでに「ユーザの管理」権限がある場合は、「すべてのユーザの参照」権限が自動的に付与されている ○ ユーザレコードの組織の共有設定 ■ この設定のデフォルトは、外部ユーザに対しては [非公開] で、内部ユーザに対しては [公開/参照の み] ○ ユーザ共有ルール ■ 全般的な共有ルールに関する考慮事項がユーザ共有ルールにも適用される ○ ユーザレコードの共有の直接設定 ■ 共有の直接設定では、個々のユーザの参照または編集アクセス権を付与できる [出典]

Slide 19

Slide 19 text

レコードレベルセキュリティ(ユーザ共有) 19
 ● Spring'23 (2023/2)で拡張個人情報管理が有効化 ○ 拡張個人情報管理を有効にしてポータルユーザやコミュニティユーザなどの外部ユーザが他のユーザの個 人情報にアクセスできないようにできる ○ より多くの個人識別情報(PII)ユーザレコード項目が保護される ○ [設定]の[クイック検索] ボックスに「ユーザ管理設定」と入力し、[ユーザ管理設定] を選択する [出典] https://help.salesforce.com/s/articleView?id=release-notes.rn_sharing_enable_stronger_protection_release_update.htm&release=242&type=5

Slide 20

Slide 20 text

レコードレベルセキュリティ(制限ルール) 20
 ● 特定のユーザに指定したレコードのみへのアクセスを許可する ○ ユーザは機密データや作業に不可欠でない情報が含まれる可能性があるレコードにアクセスできなくなる ○ ユーザがアクセス権を持つレコードが絞り込まれ、ユーザがアクセスできるのは指定した条件に一致するレ コードのみになる ○ カスタムオブジェクト、外部オブジェクト、契約、ToDo、行動、タイムシート、タイムシートエントリで使用でき る [出典] 使用できるオブジェクトでの み、表示される フィルタを掛けるイメージ ※Editionによってオブジェクトに作 成できる制限ルールの数が決まっ ている

Slide 21

Slide 21 text

レコードレベルセキュリティ(範囲設定ルール) 21
 ● 選択した条件に基づいてユーザに表示されるレコードを制御できる ○ 必要に応じて、表示されているレコードのセットを切り替えることができる ○ カスタムオブジェクトと、取引先、ケース、取引先責任者、行動、リード、商談、およびToDo 標準オブジェク トで使用できる ○ 範囲設定ルールは、2022年4 月以降に作成されたDeveloper Editionで有効になっている ○ ユーザがリストビューとレポートに表示されるレコードを絞り込めるよう、またクエリごとに有効化および無効 化の設定ができる、とある [出典] 使用できるオブジェクトでの み、表示される SOQL、SOQL、スクラッチ組 織、ルックアップ、リスト ビュー、レポート ※既に対象が増えている ...

Slide 22

Slide 22 text

Salesforce Files 22
 ● ファイルの共有、ファイルに関するコラボレーション、ファイルの非公開での保存、 バージョンの更新の管理、重要なファイルのフォローができる ● [ファイル] タブでファイルを整理してアクセスする ● ファイルとSalesforce CRM Contentの違い ○ ファイル クラウドの Salesforce ファイルをアップロード、保存、検索、フォロー、共有、およびコラボレーションする ○ Salesforce CRM Content 会社の公式なファイルを公開、同僚と共有、顧客に配信 [出典] https://help.salesforce.com/s/articleView?id=sf.collab_salesforce_files_parent.htm&type=5 ファイルの共有ボタンを押下したところ 私のファイルを参照できるユーザは? ファイルの詳細 コンテンツバージョンのペー ジレイアウトに表示させる

Slide 23

Slide 23 text

昨今多い案件の構成の紹介 (Experience Cloud+電子申請)

Slide 24

Slide 24 text

背景 24
 ● 国や地方公共団体など、公企業の案件としてSalesforceを導入する事例が多く なってきた ● 一般の方が電子申請を行い、職員の方が申請内容をチェック、承認・否認を行うと いった内容 ● オンプレからの移行のケースもあれば、新規案件のケースもある ● セキュリティを担保したシステム構築・運用が求められる ○ 下記資料がおすすめ 公共機関のDXに求められるクラウドセキュリティ by 株式会社セールスフォース・ジャパン様 https://www.salesforce.com/jp/blog/2022/11/jp-digital-government.html ○ ISMAP(政府情報システムのためのセキュリティ評価制度) クラウドサービスが国際標準などを踏まえて策定されたセキュリティ基準を適切に実施しているかどうかを 監査し、適切に実施しているクラウドサービスだけをISMAPクラウドサービスリストに登録している ○ 政府の方針 クラウド・バイ・デフォルト原則によってクラウドサービスを利用したシステム化が進んでいる [出典]

Slide 25

Slide 25 text

よくある要件 25
 ● 機能要件 ○ Experience Cloud+電子申請(B to C) ■ 一般の方がExperience Cloudのページから申請 ■ 職員の方が承認プロセスを通して承認・否認、結果を一般の方にメール通知 ○ ID連携 ■ GビズIDとの連携 ● GビズIDは一つのID・パスワードで複数の行政サービスにアクセスできる、法人・個人 事業主向け認証システム ■ Azure ADとのSSO ● ネットワーク要件 ○ LGWAN(総合行政ネットワーク) ■ 地方公共団体の組織内ネットワーク(庁内LAN)を相互接続する行政専用ネットワークで利用 ● セキュリティ要件 ○ ISMAP準拠のクラウドサービスを利用していること ○ 帳票をクラウドサービス上に残さない ○ 添付ファイルの無害化 [出典]

Slide 26

Slide 26 text

検討事項 26
 ● Experience Cloud ユーザライセンスの種類 ○ メンバーベースライセンスかログインベースライセンスのいずれか ○ 予測されるユーザ数(下表) ○ リード、ケース、商談などの利用有無 ○ レポート、ダッシュボードの利用有無 ○ データストレージ、ファイルストレージ、カスタムオブジェクトの数 ○ ロールと共有(Customer Community Plus以上)の利用有無 ○ ワークフロー承認の利用有無 [出典] https://help.salesforce.com/s/articleView?id=sf.users_license_types_communities.htm&type=5 ライセンスの種類 組織あたりのユーザ数 Partner Community、Channel Account、Customer Community Plus 100 万人以上 取引先ロールの最適化が有効化された Partner Community、Channel Account、または Customer Community Plus 1000 万人以上 Customer Community、External Apps 1 億人以上 コミュニティのライセンスのうち、どれが妥当なのかの検討が必要

Slide 27

Slide 27 text

検討事項 27
 ● 共有セットと共有グループの理解 ○ 共有セット 大規模ポータルおよびサイト専用に、多数の外部ユーザーがアクセスする必要のあるレコードを表示する のが簡単になるように作成されている ○ 共有グループ 内部ユーザと共有することができる 必ず編集権限が付与される ● グローバル検索 ○ どのオブジェクトのどんなレコードが検索対象となるか ● クラウドサービスの活用 ○ AppExchange(帳票) [出典] https://help.salesforce.com/s/articleView?id=sf.users_license_types_communities.htm&type=5