[Salesforceデザイナー資格]Sharing and Visibilityデザイナー合格まで

Posted by

概要

本記事では、Salesforceデザイナー資格のSharing and Visibilityデザイナー試験を受験して合格するまでに勉強した内容を簡単にまとめます

試験範囲

試験範囲については、リリースごとに変わる可能性があるので最新を確認する必要があります。
私が受験した時は、Winter’19でしたので、下記の内容となります。
http://tandc.salesforce.com/examguide_cert_sharing_visibility_designer.pdf

宣言的共有(67%)

・与えられた特定の顧客シナリオに従って、異なるタイプの情報へのユーザアクセスを許可および制限するために必要となる、該当するオブジェクトおよび項目レベルセキュリティ設定の適切な使用および制限について説明する
・与えられた特定の顧客シナリオに従って、適切なデータアクセス権をしかるべきユーザに付与する宣言的プラットフォームセキュリティ機能のすべてに必要な関連設定を説明する
・適切な表示およびコラボレーションの要件が満たされるように、取引先チームの使用事例を適切に評価し、取引先チームを実装する能力を示す
・セキュリティに関する考慮事項に留意しながら、グループやロールなどのセキュリティ機能を使用して、異なるグループにビューとフォルダを効果的に区分する方法を示し、レコードレベルのセキュリティに関する考慮事項とどのように異なるかを示す
・与えられた特定の顧客の組織階層に従って、レコード共有に対するロール階層の影響を説明する
・外部ユーザが関与する与えられたシナリオに従って、異なるタイプのコミュニティユーザ (社内、顧客コミュニティ、パートナーコミュニティなど) に適切にレコードを表示するために、セキュリティおよび共有設定をどのように利用できるかを説明する
・特定の顧客シナリオに従って、より複雑なセキュリティ要件に対処するために、Territory Management 2.0 をどのように適用するか、または適用しないかを認識している
・顧客の特定データストレージとデータ格納先について与えられた要件に従って、Salesforce の宣言的およびプログラミング的セキュリティ機能を適切に利用する市場のソリューションオプションを知っている
・共有およびセキュリティモデルについて与えられたアーキテクトの設計および設定に従って、共有および表示の検証方法を説明する
・共有およびセキュリティモデルについて与えられたアーキテクトの設計および設定に従って、共有および表示の検証方法を説明する

パフォーマンス(8%)

・特定の複雑な顧客組織の設定に従って、Apex 共有 (および計算) がシステムパフォーマンスにどのような影響を与えるかを説明する
・特定の複雑な顧客組織の設定に従って、多数のユーザおよびレコードにおいてもメンテナンス可能なセキュリティモデルを設計する

プログラミング的共有(25%)

・与えられたシナリオに従って、宣言的機能を使用すると満たせない要件を達成するために、プログラミング的共有機能を活用したソリューションを設計する
・与えられたシナリオに従って、データ表示に関連したプログラミング的カスタマイズ (Apex および Visualforce) のセキュリティリスクを最小限にする方法を説明する
・プログラミング的セキュリティソリューションを検証する単体テストを適切に設計する方法を示す
・プログラミング的ソリューションの設計時にオブジェクトおよび項目レベルの権限を適切に適用する方法を示す

サンプル問題

1. あるリモートユーザから、自分が作成した非公開の取引先リストビューを実行すると特定の取引先が表示されないという苦情が寄せられました。この問題をトラブルシューティングするため、システム管理者はどのようにサポートできますか?
答えを 1 つ選んでください。
A. そのユーザの場所に VPN 接続して、リモートデスクトップセッションを確立する
B. そのユーザからリストビューのリンク URL をメールで送ってもらい、調査する
C. 別名でログイン機能を使用して、そのユーザがログインしたときに表示される内容を確認する
D. 自分で問題を解決できるように、そのユーザを一時的にシステム管理者に設定する
2. ユニバーサルコンテナ社は営業部門のカスタムプロファイルを作成し、「参照」および「編集」のアクセス権をカスタムオブジェクトのカテゴリ項目に設定しました。営業部門プロファイルに割り当てられている 100 名のユーザのうち 3 名のカテゴリ項目に「参照のみ」のアクセス権を設定するように新たな依頼がありました。
アーキテクトはこの依頼にどのように対応できますか?
答えを 1 つ選んでください。
A. カテゴリ項目に「参照のみ」の権限セットを作成して、該当ユーザに割り当てる
B. カテゴリに「編集」アクセス権がない新規プロファイルを作成して、該当ユーザに割り当てる
C. カテゴリ項目セットを「参照のみ」に設定した新規ページレイアウトを該当ユーザ用に作成する
D. カテゴリに「参照のみ」アクセス権を付与するカスタム権限を作成して、該当ユーザに割り当てる
3. ユニバーサルコンテナ社では、営業 VP が 6 か月ごとに商談チームの編成を変更します。各商談チームは次の人材で構成されています。
o AE (所有者)
o 営業エンジニア
o オーバーレイメンバー
o 営業担当
アーキテクトは、商談チームのメンバーが適切な商談レコードにアクセスできるようメンバーを再編成するために、何を使用する必要がありますか?
答えを 1 つ選んでください。
A. ユーザ設定メニューで、[進行中の商談でチームメンバーを更新する] をクリックする
B. デフォルトチームをクエリして進行中の商談を更新する Visualforce ページを構築する
C. 商談レコードの詳細ページで、「チームメンバーの更新」機能を使用する
D. 商談タブのホームページで、商談チームの一括再割り当てウィザードを使用する
4. ユニバーサルコンテナ社では、国内のコールセンター向けに、3 か月前に Service Cloud の大規模な展開に成功しました。最も顧客取引先の数が多い企業のひとつであるユナイテッドオートモーティブ社のオープンケースは 15,000 件を超えています。エージェントが、ユナイテッドオートモーティブ社に新規ケースをオープンするときに問題が発生しています。ケースを作成しようとすると、次のエラーメッセージが表示されます。
UNABLE_TO_LOCK_ROW
このエラーは、ユナイテッドオートモーティブ社の取引先にのみ発生することがわかっています。再度ケースを保存しようとすると通常は保存できますが、問題の発生回数が増えているようです。
アーキテクトはどの選択肢を推奨すべきですか?
答えを 1 つ選んでください。
A. すべての取引先の共有ルールを見直し、カスタマーサービスチームにユナイテッドオートモーティブ社の取引先への「参照・更新」アクセス権を付与する
B. ユナイテッドオートモーティブ社の取引先構造を見直して、取引先を複数の支店取引先に分割する
C. すべてのケース共有ルールを見直して必要に応じて統合し、共有ルールの合計数を減らす
D. カスタマーサービスプロファイルを見直し、適切なケース項目および取引先項目への「参照・更新」アクセス権を付与する
5. 適切な権限が付与された場合、レポートの作成と編集が可能となるライセンスタイプはどれですか?
答えを 2 つ選んでください。
A. Customer Community Plus
B. Customer Community
C. Customer Community Plus Login
D. Partner Community Plus Login
[回答]
1. C
2. B
3. D
4. B
5. A、C

勉強法

勉強法は、シンプルに試験範囲の事項についてSalesforceが提供するヘルプページ、開発者ドキュメントをひたすら読みながら、よくわからない部分は自分のDeveloper Editionで動作確認してみるというのを繰り返しました。

実際に学習に使用したリンクを下記にまとめましたので、参考にしてください。

アクセス制御の基礎

データアクセスの種別

https://developer.salesforce.com/docs/atlas.ja-jp.dat.meta/dat/dat_components.htm

レコードへのアクセス

https://help.salesforce.com/articleView?id=granting_access_to_records.htm&type=5

共有の直接設定によるユーザ共有と共有セットによるユーザ共有の相違点

https://help.salesforce.com/articleView?id=security_sharing_users_manual_and_sets.htm&type=5

ユーザレコードの共有の直接設定の制御

https://help.salesforce.com/articleView?id=security_sharing_owd_user_manual.htm&type=5

データローダを使用して手動で共有ルールを作成する方法

https://help.salesforce.com/articleView?id=000005614&language=ja&type=1

Apex を使用したレコードの共有

https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_bulk_sharing_creating_with_apex.htm

エンタープライズテリトリー管理

https://help.salesforce.com/articleView?id=tm2_intro.htm&type=5

組み込みの共有動作

https://help.salesforce.com/articleView?id=sharing_across_objects.htm&type=5

暗黙的な共有

https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_object_relationships_implicit_sharing.htm

項目へのアクセスはどのように決まるのですか?

https://help.salesforce.com/articleView?id=customize_fieldaccess.htm&type=5

項目のアクセス設定の変更

https://help.salesforce.com/articleView?id=modifying_field_access_settings.htm&type=5

データスキュー

所有権データスキュー

https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_group_membership_data_skew.htm

親子データスキュー

https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_object_relationships_parent_child_data_skew.htm

要約: パフォーマンス向上のためのデータのリレーションと更新の調整

https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_object_relationships_takeaway.htm

Apex、Visualforce

Apex および Visualforce 開発のセキュリティガイドライン

https://help.salesforce.com/articleView?id=review_and_certification.htm&type=5

runAs メソッドの使用

https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_testing_tools_runas.htm

with sharing、without sharing、および inherited sharing キーワードの使用

https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_classes_keywords_sharing.htm

コミュニティのアクセス制御

共有セット

https://help.salesforce.com/articleView?id=customer_portal_sharing_set.htm&type=5

パートナーユーザへのスーパーユーザアクセスの付与

https://help.salesforce.com/articleView?id=networks_partner_super_user_access.htm&type=5

外部ユーザの代理管理

https://help.salesforce.com/articleView?id=networks_DPUA.htm&type=5

ポータルに対して有効化された取引先責任者の取引先の変更に関する考慮事項

https://help.salesforce.com/articleView?id=contacts_change_account_for_portals.htm&type=5

取引先責任者に対するカスタマーポータルの有効化と管理に関する考慮事項

https://help.salesforce.com/articleView?id=contacts_enabling_customer_portal_for_contacts.htm&type=5

大規模コミュニティユーザが所有するレコードの共有

https://help.salesforce.com/articleView?id=networks_sharing_light_users.htm&type=5

パフォーマンス

詳細なロック

https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_tools_granular_locking.htm

行をロックできない – 「レコードは現在利用できません」エラー

https://help.salesforce.com/articleView?id=000229525&language=ja&type=1

私の組織でロックエラーを回避するにはどうすればよいですか?

https://help.salesforce.com/articleView?id=000005038&language=ja&type=1

共有ルールの非同期並列再適用

https://help.salesforce.com/articleView?id=security_sharing_recalculating_parallel.htm&type=5

共有適用の延期

https://help.salesforce.com/articleView?id=security_sharing_defer_sharing_calculations.htm&type=5

共有の仕組み

Group Maintenance テーブル

https://developer.salesforce.com/docs/atlas.ja-jp.salesforce_record_access_under_the_hood.meta/salesforce_record_access_under_the_hood/uth_groups.htm

データベースアーキテクチャ

https://developer.salesforce.com/docs/atlas.ja-jp.salesforce_record_access_under_the_hood.meta/salesforce_record_access_under_the_hood/uth_arch.htm

共有行

https://developer.salesforce.com/docs/atlas.ja-jp.salesforce_record_access_under_the_hood.meta/salesforce_record_access_under_the_hood/uth_entity.htm

グループメンバーシップの操作と共有再適用

https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_group_membership.htm

要約: パフォーマンス向上のためのグループメンバーシップ調整

https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_group_membership_takeaway.htm

ユーザ権限

レポートのフォルダ権限

https://help.salesforce.com/articleView?id=analytics_folder_access.htm&type=5

ユーザプロファイル権限についての説明

https://help.salesforce.com/articleView?id=000198725&language=ja&type=1

暗号化

Shield Platform Encryption でのデータのセキュリティの強化

https://help.salesforce.com/articleView?id=security_pe_overview.htm&type=5

カスタム項目の従来の暗号化

https://developer.salesforce.com/docs/atlas.ja-jp.securityImplGuide.meta/securityImplGuide/fields_about_encrypted_fields.htm

従来の暗号化と 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_formulas.htm&type=5

ライセンスやエディション

ユーザライセンス

https://help.salesforce.com/articleView?id=users_understanding_license_types.htm&type=5

コミュニティユーザライセンス

https://help.salesforce.com/articleView?id=users_license_types_communities.htm&type=5

権限セットライセンス

https://help.salesforce.com/articleView?id=users_permissionset_licenses_overview.htm&type=5

Salesforce エディション

https://help.salesforce.com/articleView?id=overview_edition.htm&type=5

各種エディションと価格

https://www.salesforce.com/jp/editions-pricing/sales-cloud/

その他:開発者ドキュメントで配下のページをすべて確認した方が良い

レコードアクセス権に関連して Salesforce 内部で実行される処理

https://developer.salesforce.com/docs/atlas.ja-jp.salesforce_record_access_under_the_hood.meta/salesforce_record_access_under_the_hood/uth_preface.htm

企業の規模に応じたレコードアクセス権の作成

https://developer.salesforce.com/docs/atlas.ja-jp.draes.meta/draes/draes_preface.htm

まとめ

試験範囲は広く勉強は大変でしたが、Salesforceの設計で絶対に間違ってはいけないアクセス制御の部分に関するものだったので今後実務で役に立つ知識を習得できたと思います。これから受験を考えている人にはぜひおすすめできる資格であります。