トピックス

知識創造研究室 by CRM(xRM)

Dynamics 365 (Dynamics CRM) リペアレント設定の動作

みなさん、こんにちは。

先日、以下のような問合せを受けました。

サポート案件のレコードが見えないはずのユーザーにも表示されている。
共有も行っていないが、なぜ見えてしまうのか?見えるようになっているユーザーは取引先企業の所有者のよう。

実はこれ、以前記事に書きましたが、関連付け動作の設定が関係しています。
どの動作の伝播設定が影響しているかわかるでしょうか?

これはリペアレント動作の設定が影響しています。
リペアレントって何?となっている方も多くいるかと思いますので、今回は、リペアレント設定の動作について少し詳しく見ていきたいと思います。

リペアレントとは・・・

リペアレントは、主レコードの所有者に対して関連レコードのアクセス権が与えられる(暗黙的に共有が行われる)というものです。そのため、主レコードより関連レコードの方が機密性が高い場合はリペアレントの伝播は行わないようにする必要があります。

リペアレントの動作

それでは、実際にリペアレントがどのように動作するかを見ていきます。
まず、次のようなセキュリティロールを用意します。

  • 取引先企業の全レコードが参照可能
  • サポート案件は自分が所有するレコードのみ参照可能

これらのロールを2ユーザーに付与し、以下の操作を実施します。
(前提として、取引先企業とサポート案件は、標準で上位下位の関連付け設定がされており、伝播の設定もされています。)

  1. User01が取引先企業(取引先企業A user01作成)を作成
  2. User01が1の取引先企業に紐づくサポート案件(サポート案件A user01作成)を作成
  3. User02が1の取引先企業に紐づくサポート案件(サポート案件B user02作成)を作成

さて、User01、User02で「取引先企業A user01作成」に紐づくサポート案件レコードを確認するとどのようになっているでしょうか?

User01からサポート案件を確認

User01で「取引先企業A user01作成」に紐づくサポート案件を確認するとUser01が作成したサポート案件(サポート案件A user01作成)とUser02が作成したサポート案件(サポート案件B user02作成)の2レコードが表示されていることが分かります。
User02が作成したサポート案件は、セキュリティロールの設定上は見えないはずのレコードですが、リペアレントの伝播の設定により、暗黙的な共有が行われ参照可能となっています。

User02からサポート案件を確認

一方、User02から作成するとUser02が作成したサポート案件Bのみが表示されています。

以上のように、リペアレント動作の伝播設定により、主レコードの所有者に対して関連レコードのアクセス権が与えられるということが分かっていただけたのではないでしょうか。

今後、各エンティティのアクセス権を検討する際には、リペアレントにも注意を払っていただければと思います。

この記事を書いた人
河内 祐樹

国内大手SIerにて、Microsoft製品を中心としたシステムエンジニア/システムアーキテクトとしてキャリアをスタート。Dynamics CRM 4.0時代から一貫してCRM領域に携わり、営業・サポート・マーケティングなど多様な業務領域におけるCRM導入や立ち上げ、製品開発を手動。特にSFAやコールセンター領域での業務設計・導入支援を得意とする。 その後、CRM事業未経験のSIerに転職し、ゼロからCRM事業立ち上げにも携わる。 エンジニアのみでなく、プリセールスなども担当。複数の企業のCRM案件ではパフォーマンスチューニングやトラブルプロジェクトの再生も多数経験し、実装・運用双方に精通している。 近年は、Dynamics 365やPower Platformを活用し、ノンコーディングによる業務要件実現やASTERIA Warp等による他システム連携・BI統合など、CRMを中心としたデータ活用基盤の全体設計・構築を数多く手がける。導入後のBI支援や運用定着化まで一貫して支援することでクライアントのDX推進を伴走。 現在は、弊社で提唱しているCRM1.0~4.0による企業変革のステージモデルの普及活動を行い、"顧客との信頼を超えた共創関係"を実現するCRM4.0の普及をリードしている。コンサルティング、システム導入、運用支援、教育まで包括的に展開し、企業CRM成熟度向上を支援している。

同じカテゴリの記事