Power Pages では、フォーム、リスト、Liquid、ポータル Web API、および Dataverse テーブルにアクセスするその他のコンポーネントを使用すると、Dataverse レコードへのアクセスが自動的に制限されます。
Power Pages サイトで Dataverse レコードへのアクセスを許可するには、テーブルのアクセス許可を構成し、テーブルのアクセス許可を Web ロール に関連付ける必要があります。
テーブルのアクセス許可を構成する方法
テーブルのアクセス許可は、次のいずれかの方法で作成できます。
- ページでリストまたはフォームを構成する場合
- セキュリティ ワークスペースから
- ポータル管理アプリを使用
リストまたはフォームからテーブルのアクセス許可を追加する
デザイン スタジオで、リストまたはフォーム コンポーネントを含むページに移動します。
フォームまたはリスト コンポーネントを選択し、アクセス許可を選択します。
表示されるテーブルのアクセス許可パネルで、既存のアクセス許可を管理したり、新しいテーブルのアクセス許可を作成したりできます。
セキュリティ ワークスペースからテーブルのアクセス許可を追加する
デザイン スタジオのサイド メニューで、セキュリティを選択します。
保護 セクションの左側のペインでテーブルのアクセス許可を選択して、テーブルのアクセス許可を追加および変更します。
ポータル管理アプリからテーブルのアクセス許可を追加する
デザイン スタジオで、省略記号 (...) をサイド メニューから選択し、ポータル管理 を選択します。
ポータル管理アプリの左側のペインのセキュリティ セクションで、テーブルのアクセス許可を選択します。
使用可能なアクセスの種類
デザイン スタジオ には 4 つの異なるアクセスの種類が表示されます。 選択したアクセス タイプに応じて、選択したテーブルの権限と権限が、次のレコードの選択したロールのユーザーに適用されます。
- グローバル アクセス - 選択したテーブルのアクセス許可と特権を、すべてのレコードの選択したロールに適用します。
- 取引先担当者アクセス - 選択したテーブルのアクセス許可と特権を、サインインしているユーザーに関連付けられた選択したロールのユーザーに適用します。
- アカウント アクセス - 選択したテーブルのアクセス許可と権限を、サインインしているユーザーのアカウントに関連付けられた選択したロールのユーザーに適用します。
- 自己アクセス - 選択したロールのユーザーに対して、各自の取引先担当者レコードのみに、選択したテーブルのアクセス許可と特権を適用します。
- カスタム アクセス – fetchXml で構成されたフィルターに関連付けられている選択したロールのユーザーに、選択したテーブルのアクセス許可と権限を適用します。
注
- 親アクセスの種類は、ポータル管理アプリでのみ使用可能です。 アクセス タイプ親でテーブル権限を作成する代わりに、デザイン スタジオを使用する場合は、既存のテーブル権限に子権限を直接追加します。
- カスタム アクセスは、強化された承認が有効になっているサイトでのみ使用できます。
カスタム アクセスの種類 (プレビュー)
カスタム アクセスの種類では、FetchXML フィルターを使用して指定された条件に基づいてアクセスを定義できるようにすることで、レコード レベルのセキュリティをより細かく制御できます。 カスタム アクセスでは、選択したテーブルのアクセス許可と特権は、構成されたフィルター条件を満たし、割り当てられた Web ロールに関連付けられているレコードにのみ適用されます。
たとえば、次のフィルターは、ケースの種類が [問題] であるすべてのアクティブで優先度の高いケースへのアクセスを許可します。
<fetch>
<entity name="incident">
<attribute name="title" />
<filter type="and">
<condition attribute="statecode" operator="eq" value="0" />
<condition attribute="prioritycode" operator="eq" value="1" />
<condition attribute="casetypecode" operator="eq" value="2" />
</filter>
</entity>
</fetch>
注
FetchXML の filter 要素のみが評価されますが、 attributeなどの他の要素は無視されます。
このアプローチにより、従来のリレーションシップ ベースのアクセス モデルを超えて、ユーザーがアクセスできるレコードを正確に制御できます。
テーブルのアクセス許可を構成する
このセクションでは、テーブルのアクセス許可を作成、表示、編集、ライセンス認証を行うおよび非アクティブ化/アクティブ化または削除する方法を学習します。
テーブルのアクセス許可の作成
新しいアクセス許可を選択します。
テーブルのアクセス許可名を入力します。
テーブルを選択します。
アクセスの種類を選択します。 詳細: 使用可能なアクセスの種類
取引先担当者または取引先企業のアクセスの種類を選択した場合、取引先担当者/取引先企業とアクセス許可に選択したテーブルとのリレーションシップを選択します。
注
- 選択したテーブルに使用できるリレーションシップがない場合は、新しいリレーションシップを選択して、新しいリレーションシップを作成することができます。
- Power Apps でテーブル リレーションシップを作成したら、、構成が公開されていることを確認し、デザイン スタジオの 同期 ボタンも選択する必要があります。
- 場合によっては、テーブルのアクセス許可パネルで新しいテーブルのリレーションシップを確認するために、デザイン スタジオをリロードする必要がある場合もあります。
許可を得たい特権を選択します。
ロールの追加を選択して、このテーブル アクセス許可が適用されるロールを追加します。
ヒント
Web ロールをまだ作成していない場合は、ロールのポップアップ メニューでロールの管理を選択してポータル管理アプリを開き、ロールを作成します。
保存 を選択します。
テーブル アクセス許可の表示
デザイン スタジオのサイド メニューで、セキュリティを選択します。
セキュリティ セクションの左側のペインで、テーブルのアクセス許可を選択してテーブルのアクセス許可を表示します。
テーブル アクセス許可のグループ化またはフィルター処理を行うには、ビュー (デフォルト、ロール別にグループ化、テーブル別にグループ化、または状態別にグループ化) を選択するか、またはフィルター テキスト ボックスにテーブルのアクセス許可名を入力します。
注
- テーブルのアクセス許可をロール、テーブル、または状態別にグループ化すると、構成されたアクセス許可の親子リレーションシップがないフラットな構造としてアクセス許可が一覧表示されます。
- 子アクセス許可ではなく、親テーブルのアクセス許可のみをフィルタリングできます。
テーブルのアクセス許可を並べ替えるには、テーブルのアクセス許可のリストの上部にある列を選択します。
テーブルのアクセス許可の有効化
デザイン スタジオのサイド メニューで、セキュリティを選択します。
Protect セクションの左側のペインにある Table permissions を選択すると、テーブルのアクセス許可を表示できます。
編集するテーブルのアクセス許可を選択します。または、その他のコマンド (...) を選択し、編集を選択することもできます。
名前、テーブル、アクセスの種類、特権、および適用可能なロールなど、テーブル アクセス許可の詳細を変更します。 詳細: テーブルのアクセス許可の作成。
保存 を選択します。
テーブルのアクセス許可の非アクティブ化/アクティブ化または削除
非アクティブ化されたテーブルのアクセス許可は無効になります。 非アクティブ化されたテーブルのアクセス許可は後でアクティブ化できます。 テーブルのアクセス許可が非アクティブ化されている場合、その子テーブルのアクセス許可はアクティブなままですが、親テーブルのアクセス許可が無効であるため、その子テーブルのアクセス許可は有効のままになりません。 子アクセス許可を個別に非アクティブ化できます。
テーブルのアクセス許可が削除されると、関連付けられているすべての子アクセス許可も削除されます。
テーブルのアクセス許可を非アクティブ化/アクティブ化または削除するには、次のようにします。
デザイン スタジオのサイド メニューで、セキュリティを選択します。
Protect セクションの左側のペインで Table permissions を選択すると、テーブルのアクセス許可を表示できます。
非アクティブ化/アクティブ化または削除するテーブルのアクセス許可を選択します。
その他のコマンド (...) を選択してから、非アクティブ化または削除を選択します。
確認を求められたら、確認します。
子アクセス許可を構成する
注
親子テーブルのアクセス許可を構成する場合、ポリモーフィック ルックアップはサポートされません。
子アクセス許可を既存のテーブルのアクセス許可に追加するには、次のようにします。
デザイン スタジオのサイド メニューで、セキュリティを選択します。
保護セクションの左ペインで、テーブルのアクセス許可を選択すると、テーブルのアクセス許可を表示できます。
子のアクセス許可を追加する対象のテーブル アクセス許可を選択します。 テーブルのアクセス許可のプロパティ パネルで、子のアクセス許可タブをクリックし、新規を選択します。 または、その他のコマンド (...) を選択してから、子アクセス許可を追加を選択することもできます。
次の詳細を使用して子アクセス許可を作成します。
「子の名前」のアクセス許可
「子のアクセス許可」が適用されるテーブル
プライマリ テーブル アクセス許可のテーブルと、子のアクセス許可用に選択されたテーブルとの間の関係
「子のアクセス許可」の特権
ロール (これらのロールは、親テーブルのアクセス許可から継承されます。ロールを追加または削除するには、代わりに親テーブルのアクセス許可を編集します。)
保存 を選択します。
デザイン スタジオを使用して子アクセス許可の表示、編集、非アクティブ化/アクティブ化、または削除を行うには、前のセクションで説明した手順に従い、テーブルのアクセス許可を構成します。
さらに考慮すべきこと
テーブルのアクセス許可の構成には、次の追加の考慮事項とルールが適用されます。
親テーブルのアクセス許可に、その子テーブルに関連付けられた Web ロールが含まれていない
親のアクセス許可にない複数 Web ロールに関連付けられている子アクセス許可がある場合、子アクセス許可の編集時に次のエラーが表示されます。
このアクセス許可に適用されている 1 つ以上のロールは、その親テーブルのアクセス許可では使用できません。 いずれかのアクセス許可でロールを変更してください。
たとえば、親テーブルのアクセス許可にマーケティング Web ロールが関連付けられていない場合、子テーブルのアクセス許可は関連付けられていても、以下のようなメッセージが表示されます。
この問題を解決するには、親テーブルのアクセス許可にマーケティング Web ロールを追加するか、子テーブルのアクセス許可からマーケティング Web ロールを削除します。
Web ロールが関連付けられていないテーブルのアクセス許可
テーブルのアクセス許可を有効にするには、1 つ以上の Web ロールに関連付ける必要があります。 Web ロールに属するユーザーには、関連付けられているテーブルのアクセス許可に対して選択した特権が付与されます。
Web ロールが関連付けられていない状態でテーブルのアクセス許可を保存しようとすると、次のメッセージが表示されます。
次のステップ
Power Pages 用 Web Application Firewall でマネージド ルールを構成する