注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
アクション適用時の権限チェックは、単一データソースのオブジェクトを編集するか、複数データソースのオブジェクトを編集するかによって異なります。
オブジェクトタイプが単一のデータソースに基づいている場合、次の条件を満たしていれば、ユーザーはアクションを使用してオブジェクトを編集できます。
新しいオブジェクトを作成する際は、ユーザーがオブジェクトタイプの入力データソースを閲覧できる必要があります。入力データソースにアクセスできない場合、アクションの実行に失敗します。
オブジェクトタイプには、複数のデータソースに由来するプロパティを設定できます。この場合、ユーザーのオブジェクトに対するアクセスレベルは、次のように異なることがあります。
オブジェクトタイプに複数のデータソースがある場合、アクション適用時の権限チェックはより複雑になります。これは、単一データソースのオブジェクトと同様に、オブジェクトを編集するにはユーザーがそのオブジェクト全体を閲覧できなければならないという制約を適用すると、非常に制限が厳しくなる可能性があるためです。
オブジェクトに適用できるアクションの種類ごとに、次の権限ルールが実装されています。
シナリオ:対象のオブジェクトはデータソース
D[i..k, m..n]に存在します。ユーザーはD[i..k]内のプロパティにのみ値を設定して、オブジェクトを作成します。
ユーザーは、D[i..k] の元データソースを閲覧できなければ、オブジェクトを作成できません。D[m..n] に対する権限チェックは行われません。D[m..n] の値のデフォルトは null です。
D[i..k] のいずれかに過去にオブジェクトが存在していた場合(ただし、現在は削除済みとして指定されている場合)、オブジェクトを再作成するには、ユーザーが D[i..k] のすべてでその行/オブジェクトを閲覧する権限を持っている必要があります。
シナリオ:オブジェクトはデータソース
D[i..k, m..n]に存在します。ユーザーはD[i..k]にマッピングされたプロパティを編集します。
ユーザーは、D[i..k] 内のプロパティの既存の値を閲覧できれば、プロパティを編集できます。D[m..n] にマッピングされたプロパティに対する権限チェックは行われません。
検証中、D[m..n] は null として表示されます。null 値で検証に合格した場合、ユーザーはアクションを適用できます。
シナリオ:オブジェクトはデータソース
D[i..k, m..n]に存在します。
ユーザーは、オブジェクト全体(つまり、D[i..k, m..n] に由来するすべてのプロパティ)を閲覧できない場合、オブジェクトを削除できません。
シナリオ:object1 はデータソース
D1[i..k]に存在し、object2 はデータソースD2[m..n]に存在します。
ユーザーは、データソース D1[i..k] のいずれかで object1 を読み込むことができ、かつデータソース D2[m..n] のいずれかで object2 を読み込むことができれば、リンクを作成できます。個々のプロパティやデータソースに対する権限チェックは行われません。
シナリオ:object1 はデータソース
D1[i..k]に存在し、object2 はデータソースD2[m..n]に存在します。
ユーザーは、データソース D1[i..k] のいずれかで object1 を読み込むことができ、かつデータソース D2[m..n] のいずれかで object2 を読み込むことができれば、リンクを削除できます。個々のプロパティやデータソースに対する権限チェックは行われません。