注: 以下の翻訳の正確性は検証されていません。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 を読み込むことができれば、リンクを削除できます。個々のプロパティやデータソースに対する権限チェックは行われません。