一致共有ルールは、オブジェクトの動的アクセスコントロールの一部です。これらのルールを設定すると、ユーザを自動管理グループに割り当て、これらのグループを特定のオブジェクトレコードのロールに動的に割り当てることができるようになります。
注: カスタムセキュリティまたはアクセスコントロールを実装する際に、管理者は本番サイトにこれらの変更を加える前に UAT (ユーザ受入テスト) を実施する必要があります。変更によっては、アプリケーション固有の機能に、Vault の使用が難しくなる影響を及ぼす可能性があります。
設定の概要
一致共有ルールでは、2 種類の設定を検討する必要があります: 1 つ目は初期設定と、定期的な再設定です。2 つ目は、継続的なメンテナンスです。
初期設定および定期設定
一致共有ルールの実装を開始する前に、アクセスコントロールモデルをよく検討してください。例えば、すべてのロールにおいて、ユーザをオブジェクトレコードに一致させるためにどのような条件が必要ですか (最大 5 フィールド)?一致共有ルールを使用するすべてのオブジェクトに対してこのプロセスを完了させる必要はありません: それぞれ別のタイミングで個別のオブジェクトを設定することができます。このフェーズでは、Veeva サービスにアドバイスを求めることを推奨します。
組織が計画の準備ができたら、設定を開始することができます。以下のタスクが完了するまでは構成モードを有効にしておくことを推奨します。オブジェクトの一致共有ルールを有効化すると、ルールを完全に設定するまで、すべてのユーザはオブジェクトにアクセスできなくなります。
- 管理者 > コンテンツ設定 > オブジェクトから、ユーザロール設定オブジェクトを確認します。このオブジェクトに対してフィールドの追加や削除を行なったり、あるいはユーザロール設定クラスで新規オブジェクトを作成したりできます。Vault は、このフィールドの値を使用して、自動管理グループを特定のオブジェクトレコードに一致させます。Vault が一致の対象として使用できるのは特定のフィールドのみです。各フィールドは、ユーザロール設定オブジェクトと保護されるオブジェクトの両方に存在する必要があります。
- 管理者 > 設定 > セキュリティ設定から、自動管理グループフィールドの順序設定のフィールド順を確認します。この設定は、Vault が自動管理グループをどのように命名するかを制御します。必要であれば、いつでもこれらのフィールドの順序を変更することができますが、変更すると、変更後に作成したグループのみが影響を受けるため、一致共有ルール設定に進む前に変更することが推奨されます。アプリケーションロールは、常に名前の最後に表示されます。
- 管理者 > コンテンツ設定 > オブジェクト > [オブジェクト] > 詳細の順に進み、一致共有ルールを有効化します。保護されるオブジェクトが使用する特定のユーザロール設定オブジェクトを選択します。オブジェクトのライフサイクルを選択します。新しいライフサイクルの設定が必要になる場合もあります。
- 任意の作業: 共有設定を制御するにはアクションセキュリティを使用しますのチェックボックスを選択します。これによりユーザは、共有設定のアクションセキュリティを設定して、各レコード、ロール、ライフサイクル状態の共有設定へのユーザのアクセスを制御することができます。
- 任意の作業: 管理者 > コンテンツ設定 > オブジェクトライフサイクル > [ライフサイクル] > ロールから、一致共有ルールで使用したい追加ロールを設定します。
- 管理者 > コンテンツ設定 > オブジェクト > [オブジェクト] の順に進み、共有ルールタブを選択します。Vault がどのようにグループをオブジェクトレコードに割り当てるかを決定する、一致共有ルールを設定します。
- 企業管理者へ進み、ユーザロール設定レコードの最初のセットを作成します (使用しているユーザロール設定オブジェクトに対して)。ほとんどの Vault では、ユーザごとに 1 つ以上のレコードがあります。レコード数が多数になるため、Vault Loader を使用して最初のセットを作成することを検討する必要があります。注: 有効にすると、管理者はユーザロール制限を設定してユーザロール割り当てを制限することができます。
注: オブジェクトがカスタム共有ルールを使用している場合、一致共有ルールを有効化しても既存のロール割り当てには影響しません。一致共有ルールの結果として起こる割り当ては、既存の割り当てに追加されます。
継続的なメンテナンス
新規ユーザが追加される、既存のユーザがロールを変更する、他のユーザが去るときなど、ユーザロール設定レコードの作成、更新、削除を行うことで、アクセスコントロール設定を維持する必要があります。こういった場合、Vault は、自動的にグループメンバーシップを再計算し、これらのユーザが、正しいオブジェクトレコードに正しいロールを持っているかを確認します。これらの編集により、新規自動管理グループが作成された場合、Vault が新規グループのアクセス権限を計算するため遅延が発生します。影響を受けるオブジェクトレコードの件数によって、最大数分遅延する場合があります。この操作が進行中に、通知バナーが設定画面に表示されます。
ユーザロール設定とオブジェクトクラス
一致共有ルールを使用しているオブジェクトがある場合、Vault には 1 つのユーザロール設定オブジェクトまたはユーザロール設定クラスを持つ複数のオブジェクトのいずれかが含まれます。ドキュメントの DAC は、常に元のユーザロール設定オブジェクトを使用しますが、オブジェクトレコードの一致共有ルールは、このクラスの複数のオブジェクトを使用することができます。
このクラスで複数のオブジェクトを作成する事が必要な場合があります:
- お使いの Vault がドキュメントに動的アクセスコントロールを使用している場合。
- 複数のオブジェクトに一致共有ルールを設定する必要があり、それらのオブジェクトの中で 6 個以上の一致フィールドが必要な場合。例えば、お使いの Vault が、地域値に基づいてユーザを国レコードに一致させ、疾患領域、病状、およびその他の複数のフィールドに基づいてユーザを製品レコードに一致させる場合。このルールは、6 個以上の異なるフィールドを対象とするため、それぞれの保護されるオブジェクトの設定に対してユーザロール設定クラスでオブジェクトを作成する必要があります。
ユーザロール設定クラスで複数のオブジェクトを作成する場合、それぞれがどのオブジェクトをサポートするかを明確にする命名規則を使用することが推奨されます (例: URS 国、URS 製品)。
アプリケーションロール
アプリケーションロールオブジェクトは、ユーザがオブジェクトライフサイクルに追加することができる「アプリケーションレベル」のロールを提供します。閲覧者、編集者、および所有者ロールは、デフォルトで設定されます。オブジェクト設定の中で、ユーザは追加する各ロールに権限を定義することができます。これらのロール権限は、そのオブジェクトのみに適用されます。
ユーザはユーザロール設定レコードの作成時にどのアプリケーションロールでも選択できますが、有効ではないロールもあります。一致共有ルールが使用できるは、標準の閲覧者、編集者、および所有者のロールと、ユーザがオブジェクトライフサイクルに追加したアプリケーションロールのみです。
アプリケーションロールは、権限セットフィールドで権限セットを参照できます。このフィールドは、ロール権限で使用するためのものです。このフィールドに設定された権限は、ユーザがユーザロールレコードを介してアプリケーションロールに関連付けられている場合にのみ付与され、ユーザが共有設定または一致共有ルールを介してロールに追加された場合には適用されません。
一致するフィールド
動的アクセスコントロールは、一致するフィールドを一致共有ルールの条件として使用します。どの一致フィールドも、保護されるオブジェクトとユーザロール設定オブジェクトの両方にある必要があります。例えば、疾患領域の値に基づいて、製品の編集ロールを割り当てるルールがあるとします。このルールは、疾患領域フィールドが製品とユーザロール設定の両方にある場合にのみ機能します。
一致フィールドを設定するには
一致フィールドを定義するには:
- オブジェクト上の保護するフィールドを特定します (例: 製品)。
- フィールド名にご注意ください。例えば、
therapeutic_area__c
およびproduct_family__v
。 - ユーザロール設定オブジェクト設定に進みます。ユーザロール設定クラスのカスタムオブジェクトの場合もあります。
- 保護されるオブジェクト上のフィールドに対応する新規オブジェクトフィールドを作成します。Vault はデフォルトで、フィールド名を使用してフィールドを相互にマッピングします。その結果、名前の最初の部分 (接尾辞
__c
または__v
の前) が一致する必要があります。例えば、ユーザロール設定
の product_family__c が製品
の product_family__v に対応する。
有効なフィールドタイプ
一部のフィールドでは一致フィールドとして有効ではないものもあります。以下のフィールドタイプを使用する必要があります:
- 選択リスト (ユーザロール設定には 1 つ選択、保護されたオブジェクトには 1 つまたは複数選択する必要があります)
- オブジェクト参照 (ユーザロール設定と保護されるオブジェクトの両方で単一選択である必要があります)
- ルックアップ (有効な単一または複数値選択リスト、あるいはオブジェクト参照フィールドを指している必要があります)
- 保護されたオブジェクトの名前 (
name__v
) - 保護されたオブジェクトにより参照されるオブジェクトの名前 (
name__c
)
ソースおよびソース参照フィールドについて
ユーザロール設定クラスを持つオブジェクトに 2 つの任意の編集不可フィールドがあります:
- ソース (
user_source__sys
) 選択リスト - ソース参照 (
user_source_ref__sys
) テキストフィールド。
今後のリリースで、Vault アプリケーションはこれらのフィールドを使用してユーザロール設定レコードの開始を追跡します。ソースおよびソース参照フィールドの値をユーザは保存することができませんが、ユーザロール設定オブジェクトで作業する際は編集可能フィールドとして表示されます。フィールドレベルセキュリティを使用してこれらのフィールドを Vault 所有者を除くすべてのセキュリティプロファイルに対して読み取り専用にすることが推奨されます。
ルール条件フィールドマッピングの柔軟性について
デフォルトでは、ルール条件を定義するときに、Vault はユーザロール設定フィールドを同じ名前 (サフィックスを除く) のオブジェクトフィールドにマップします。複数の有効なオブジェクトフィールドが同じオブジェクト、選択リスト、またはルックアップフィールドを参照している場合は、ドロップダウンで使用可能なフィールドから選択できます。このようなフィールドをマップする共有ルールを定義すると、そのマッピングは後続のすべての共有ルール定義に引き継がれます。
ルックアップフィールド上の一致
一致共有ルールは、ルックアップタイプフィールドによる一致をサポートします。この場合、ユーザロール設定オブジェクト上のフィールドは、選択リストまたはオブジェクト参照フィールドで、フィールド名はルックアップフィールドが「検索」するフィールドの名前に対応します。
例えば、VeePharm は疾患領域、製品オブジェクト上の選択リストフィールドとマーケティングキャンペーンオブジェクト上のルックアップフィールドを使用して、マーケティングキャンペーンオブジェクトを保護します。これを設定するためには、Vault は以下のフィールドが必要です:
フィールドラベルおよび名前 | フィールドタイプ | オブジェクト | コメント |
疾患領域 (therapeutic_area__c ) | 選択リスト | 製品 | |
製品 (product__v ) | オブジェクト参照 | マーケティングキャンペーン | マーケティングキャンペーンおよび製品 |
疾患領域 (therapeutic_area__c ) | ルックアップ | マーケティングキャンペーン | 関連する製品オブジェクトレコードから値を取り込む |
疾患領域 (therapeutic_area__c ) | 選択リスト | ユーザロール設定 | 一致の対象として対応するフィールドをユーザロール設定上に作成する |
名前フィールド上の一致
ユーザは、名前フィールドを使用して、個々のレコードとその子レコードを名前別に保護するルールを作成できます。例えば、ユーザロール設定レコードは、Thomas Chung を治験 VVT485-301 の編集者ロールに割り当てることができます。これは、オブジェクトレコードを保護するのに必要な設定を減らし、特に治験 > 治験実施国 > 治験実施施設といった親-子関係のレコードを保護するのに有益です。
Vault は背後では実際の名前の値ではなく、オブジェクトレコードの ID を使用します。これにより、レコードの名前の値が変更された場合にアクセスコントロール設定が壊れるのを防ぐことができます。
空白値の一致
動的アクセスコントロールの一致ルールは、フィールド値間の完全一致を探します。フィールドがルールに含まれている場合、空白フィールド値は他の空白フィールド値とのみ一致します。例えば、国フィールドが空白のユーザロール設定レコードは、国フィールドが空白のオブジェクトレコードとのみ一致します。ルールで使用される空白値は、一致用のワイルドカードではなく、他の値と同じように扱われます。
制限
ユーザロール設定オブジェクトは、一致を対象に最大 5 個のカスタムフィールドを持つことができます。
ユーザの Vault は、保護されたオブジェクトごと、ロールごとに、最大 8 個の共有ルールを持つことができます。例えば、製品は、所有者に 8 個、編集者に 8 個、閲覧者に 8 個、およびカスタムレビューアロールに 8 個の合計 32 個のルールを持つ場合があります。
一致する共有ルールの作成
共有ルールを作成するときには、一致するフィールドを選択する必要があります。Vault は、自動管理グループを対象に、これらのフィールドの値を一致条件として使用します。例えば、共有ルールは疾患領域に一致を定義します (therapeutic_area__c
)。ルールが有効化されると、Vault は任意のオブジェクトレコードの疾患領域の値がユーザロール設定レコードの疾患領域の値に一致するかを確認します。
ロールが、完全な一致の他、より緩い「部分」一致に基づいてアクセス権限を付与する場合は、複数の共有ルールを設定することができます。例えば、閲覧者は、疾患領域フィールドのみの一致基準からアクセスでき、編集者は疾患領域の他製品ファミリーの一致基準からアクセスすることができます。
ルールの作成方法
共有ルールを作成するには:
- 管理者 > コンテンツ設定 > オブジェクト > [オブジェクト] からオブジェクト設定に進み、共有ルールタブをクリックします。
- 作成をクリックします。
- ルールに分かりやすいラベルを入力します。ラベルは、オブジェクトレコードの共有設定に表示されます。
- 任意の作業: 名前を編集します。これはラベルに基づいて自動的に割り当てられますが、必要に応じて変更することができます。これは API 経由で表示されます。
- 任意の作業: 説明を入力します。説明は、共有ルールの詳細ページにのみ表示されます。
- ルールを適用するロールを選択します。
- ルール条件の下で、フィールドを選択して一致パラメータを定義します。フィールドマッピングの詳細をご覧ください。条件の下には、対応する自動管理グループのパターンが表示されます。
- 保存をクリックします。
- 作成をクリックして、必要に応じて他の共有ルールを追加します。
- 最初にルールを作成する際、またはルールを修正する際に、Vault は、新規ルールに適応するようにレコードを再インデックスする必要があります。これには最大数時間かかる場合があります。黄色のバーが画面上部に表示され、進捗状況が示されます。
ルールの変更方法
共有ルールを変更するには、オブジェクト設定の共有ルールタブに戻り、特定のルールをクリックします。
- 編集をクリックして、ラベル、名前、説明、基準を変更します。
- 削除をクリックしてルールを完全に削除します。
関連権限
一致共有ルールを有効にしてルールを作成するには、ユーザのキュリティプロファイルに管理者 > オブジェクト > 編集権限が付与されている必要があります。