ポータルのエンティティ アクセス許可を使用してレコード ベースのセキュリティを追加する

個々のレコードに適用される Dynamics 365 ポータルのレコード ベースのセキュリティは、エンティティのアクセス許可を使用して実現しています。エンティティのアクセス許可が Web ロールに追加され、これにより、エンティティのアクセス許可で導入されたレコードの所有権/アクセスの権限および概念に、論理的に対応するロールを組織に定義できます。 特定の取引先担当者は任意の数のロールに属することが可能で、特定のロールは複数のエンティティのアクセス許可を含むことが可能です。 詳細: ポータルの Web ロールの作成

アクセス許可を変更し、ポータル サイトマップへアクセスする URL は、コンテンツ認証を通して与えられますが、サイトの管理者は、エンティティ フォームおよびエンティティ リストで構築されたカスタム Web アプリケーションもセキュリティで保護したいと考えることでしょう。 詳細: Dynamics 365 ポータルでのエンティティ フォームおよびユーザー定義ロジックの定義およびレコードのリストを表示する Web ページの追加

これらの機能を保護するため、エンティティのアクセス許可は、任意のエンティティおよび関連付けの定義を通して有効にされるレコード レベルのセキュリティに対してより詳細な権限が与えられるようになります。

エンティティのアクセス許可を Web ロールへ追加する

  1. アクセス許可を追加する Web ロールに移動します。 Web サイトの Web ロールは、Dynamics 365 の [ポータル] > [Web ロール] または [ポータル] > {独自のポータル} >[Web ロール] のいずれかにあります。
  2. 既存のエンティティのアクセス許可をクリックして [追加] します。
  3. クリックして、新規エンティティのアクセス許可レコードを作成します。

エンティティのアクセス許可を Web ロールへ追加する

新しいエンティティのアクセス許可レコードを作成するときは、まずセキュリティで保護する [エンティティ] を決定します。 次に、以下で説明するように [スコープ] を定義します。グローバル以外のすべてのスコープを定義する場合は、そのスコープを定義する [関連付け] を指定する必要があります。 最後に、このアクセス許可によりロールに付与される権限を決定します。 権限は累積的であることに留意してください。あるユーザーに読み取り権限のロールが与えられていて、また読み取りと更新の権限のロールも与えられている場合、そのユーザーは 2 つのロールが重複するすべてのレコードに対して読み取りと更新の権限が与えられます。

グローバル スコープ

グローバルなスコープが設定されているロールに [読み取り] アクセス許可が付与されているアクセス許可レコードの場合、そのロール内のすべての取引担当者は Dynamics 365 で定義されたエンティティのすべてのレコードに対してアクセスできます。 たとえば、彼らはすべての潜在顧客、すべての取引先企業などを表示できます。 このアクセス許可は、すべてのエンティティ リストに自動的に反映されます。特にそのリストで定義された Dynamics 365 ビューに対してすべてのレコードを表示します。 さらに、ユーザーがアクセスする権限がないエンティティ フォームを介してレコードにアクセスを試みると、アクセス許可エラーが発生します。

取引先担当者のスコープ

取引先担当者のスコープによって、アクセス許可レコードが拒否されたロールにサインインしたユーザーには、Dynamics 365 で定義された関連付けを介するそのユーザーの取引先担当者レコードに関連するレコードにのみアクセスする許可が与えられます。

エンティティの一覧でこれは、現在のユーザーに直接リンクされるレコードのみを取得するリストによって表示される Dynamics 365 どのビューにも、フィルターが追加されていることを意味します。 (シナリオによっては、この関連付けを「所有権」、「管理権限」などと考えることができます)。

エンティティ フォームは、読み込み、作成、書き込みなどの適切なアクセス許可のみを、レコードがロードされたときにこの関連付けが存在する場合にのみ許可します。 詳細: Dynamics 365 ポータルでのエンティティ フォームおよびユーザー定義ロジックの定義

取引先企業のスコープ

取引先企業のスコープによって、アクセス許可レコードが拒否されたロールにサインインしたユーザーには、Dynamics 365 で定義された関連付けを介するそのユーザーの取引先企業の親会社レコードに関連するレコードにのみアクセスする許可が与えられます。

自己スコープ

自己スコープにより、ユーザーの独自の取引先担当者 (ID) レコードに対する権限を定義することができます。 これによりユーザーはエンティティ フォームまたは Web フォームを使用して、プロファイルにリンクされた独自の取引先担当者レコードに変更を加えることができます。 既定のプロファイルページには特別な組み込みのフォームがあり、すべてのユーザーは基本的な取引先担当者情報とオプト イン、またはマーケティング リストの除外などの変更が可能なことに注意してください。 このフォームがポータルに含まれている (既定では含まれる) 場合は、ユーザーがこれを使用するためのアクセス許可は不要です。 しかし、すべてのユーザー定義エンティティ フォームまたはユーザーのユーザー取引先担当者レコードを対象とする Web フォームを使用するために、ユーザーはこのアクセス許可が必要です。

上位下位のスコープ

この最も複雑なサポート案件では、アクセス許可が、アクセス許可レコードが既に定義されたエンティティに当てはまらない関連付けに付与されました。 このアクセス許可は、実際は親のエンティティ アクセス許可の子レコードです。

親のアクセス許可レコードはアクセス許可およびエンティティ (グローバルまたは取引先担当者スコープ、親も可能) のスコープを定義します。 そのエンティティは取引先担当者 (取引先担当者スコープの場合と同じ) と関連するかまたはグローバルに定義されています。 アクセス許可が用意されると、他のエンティティと親の関連付けで定義されたエンティティとの関連付けを定義する、子のアクセス許可が作成されます。

したがって、親のエンティティのアクセス許可により定義されたレコードにアクセス可能な Web ロールを持つユーザーは、子のアクセス許可レコードにより定義される、親のレコードに関連するレコードへの権限も持ちます。

属性と関連付け

下の表は、エンティティのアクセス許可の属性を説明したものです。

名前 内容
名前 レコードの内容を示す名前です。 これは必須フィールドです。
エンティティ名 セキュリティで保護するエンティティの論理名、または取引先担当者の関連付けを定義する論理名、または子のアクセス許可に関連するエンティティをセキュリティで保護するための親の関連付けの論理名です。 これは必須フィールドです。
スコープ (必須) - [グローバル]: 所有者 (取引先担当者) に対して、条件なしでエンティティ レコードに対する特権を割り当てます。 - [取引先担当者]: 所有者 (取引先担当者) に直接関連付けるエンティティ レコードに対する特権を割り当てます。 - [取引先企業]: 取引先企業と関連するエンティティ レコードに特権を割り当てます。取引先企業は所有者として機能し、取引先企業が取引先担当者の所属取引先企業/上司であると仮定します。 - []: 親のアクセス許可の関連付けのチェーンによって、エンティティ レコードに対して特権を付与します。
取引先担当者の関連付け スコープが取引先担当者である場合にだけ必要です。 取引先担当者と [エンティティ名] フィールドで指定されたエンティティ間の関連付けのスキーマ名です。
親の関連付け 親のエンティティのアクセス許可が割り当てられている場合にだけ必要です。 [エンティティ名] フィールドで指定されたエンティティと親のエンティティのアクセス許可の [エンティティ名] フィールドで指定されたエンティティ間の関連付けのスキーマ名です。
親のエンティティのアクセス許可 スコープが親である場合にのみ必要です。 親のエンティティのアクセス許可。
読み込み ユーザーがレコードを読み取ることができるかどうかをコントロールする特権です。
書き込み ユーザーがレコードを更新することができるかどうかをコントロールする特権です。
作成 ユーザーが新しいレコードを作成できるかどうかをコントロールする特権です。 エンティティの種類に対するレコードを作成するための権限は個々のレコードには適用されませんが、代わりにエンティティのクラスに適用されます。
Del ユーザーがレコードを削除できるかどうかをコントロールする特権です。
追加 ユーザーが指定のレコードに別のレコードを追加できるかどうかを制御する特権です。追加とアクセス許可の追加は連携して機能します。 ユーザーは、レコードを別のレコードに添付するときは、毎回両方の権限を所有している必要があります。 たとえば、案件にメモを添付する場合は、メモに対する追加アクセス権と、操作対象の案件に対する追加先アクセス権が必要です。
追加先 ユーザーが該当のレコードを別のレコードに追加できるかどうかを制御する特権です。追加とアクセス許可の追加は連携して機能します。 詳細については、追加の説明を参照してください。

考えられるシナリオとして、あるユーザーはエンティティ リストおよびエンティティ フォームを使用して、ポータルのすべての潜在顧客を、ユーザー定義の「潜在顧客マネージャー」 Web ロールを持つ全員に対して表示したいと思うかもしれません。 リスト上の潜在顧客行をクリックすればいつでも起動する、潜在顧客編集フォームでは、関連するタスク レコードを表示するサブグリッドがあります。 これらのレコードは潜在顧客マネージャー ロールを持つすべてのユーザーがアクセスできます。 最初のステップとしては、潜在顧客マネージャー ロールを持つすべてのユーザーに対して、グローバル アクセス許可を与えます。

このロールにはグローバルなスコープと共に、「潜在顧客」エンティティに対する、関連するエンティティ アクセス許可があります。

このロールのユーザーは、エンティティ リストまたはポータルのフォームを介してすべてのに潜在顧客にアクセスできます。

潜在顧客へのグローバル アクセス許可

グローバル潜在顧客のアクセス許可に、子のアクセス許可を追加します。 親のアクセス許可レコードが開かれている状態で、最初に [子エンティティのアクセス許可] サブグリッドに移動し、[新規] をクリックしてエンティティ アクセス許可の検索ダイアログを開きます。次に虫眼鏡をクリックし [新規] をクリックして、新しいレコードを追加します。

エンティティのアクセス許可を Web ロールへ追加する

タスクとしてエンティティ、上位下位として [スコープ] を選択します。 次に親の関連付け (Lead_Tasks) が選択できることに留意してください。 このアクセス許可は、親のアクセス許可を持つ Web ロール内の取引先担当者が、次に 潜在顧客に関連するすべてのタスクに対して グローバル アクセス許可を持つことを意味します。

これらのアクセス許可にリストを関連付けるためには、リストのエンティティ アクセス許可を有効にし、またアクセス許可が付与されたことを示すアクションをユーザーが実行することを実際に許可するアクションが必要です。 さらに、アクセス許可は Dynamics 365 ポータルでのエンティティ フォームおよびユーザー定義ロジックの定義レコードでも有効化される必要があります。またそのフォームは子のアクセス許可、この場合はタスクを有効にするエンティティに対するサブグリッドを持つページを表示する必要があります。 さらに、タスクに対して読み取りまたは作成が可能で、それらのエンティティ フォームも構成する必要があり、このフォームから変更する検索フィールドを削除するためにフォームを編集する必要があります。

Web ページ フォームの編集

これにより、次に潜在顧客に関連するすべてのタスクのアクセス許可が与えられます。 タスクがエンティティ リストに表示される場合は、基本的にフィルターがリストに追加され、潜在顧客に関連するタスクだけがリストに表示されるようになります。 この例では、それらはエンティティ フォームのサブグリッドに表示されています。

タスクの例

取引先担当者対象のタスクへのアクセス許可

もう一つの例は、そのタスクに対する親の潜在顧客が関連する取引先担当者に対するタスクへのアクセスを許可する場合です。 このシナリオは上記の例とほぼ同じですが、このサポート案件では親のアクセス許可が、グローバルの代わりに取引先担当者のスコープを持つことが異なります。 関連付けは、潜在顧客エンティティと取引先担当者エンティティの間に、親の関連付けを指定する必要があります。

これらのアクセス許可が設定された後、潜在顧客マネージャー ロールを持つユーザーは、取引先担当者スコープ アクセス許可により指定された関連する潜在顧客に直接アクセスできます。また子のアクセス許可レコードにより指定された同じ潜在顧客に関連するタスクにもアクセスできます。

関連項目

ポータルの Web ロールの作成
ポータル用 Web ページへのアクセスの制御
PRM ポータルの Web ロールの構成