動的アクセスコントロール (DAC) とは、ユーザにドキュメントロールを自動で割り当てるドキュメント向けのアクセスコントロールモードです。これまでのリリースでは、DAC の使用時にグループを管理してルールをオーバーライドする必要がありました。以前のアクセスコントロールモデルにおけるロールでのデフォルト設定とは異なり、DAC は、新しい自動管理グループのユーザのメンバーシップを編集することで、ドキュメントに対するトリガーアクションを行わずにロールにユーザを追加したり削除したりすることができます。
このモデルでは、管理者は新規ユーザロール設定オブジェクトのレコードによってユーザロール割り当てを管理します。これらのレコードは自動管理グループに対応します。ユーザロール設定オブジェクトは、IT 管理者または国チームなどのエンドユーザが管理することができます。ユーザロール設定レコードには、ユーザ、ロールおよびオブジェクト参照フィールドの値 (ドキュメントとユーザロール設定レコードの両方にあるフィールド) が複数含まれ、これらは後でロールに対するユーザコンテキストの適格性を判断するのに使われます。
例えば、Thomas は米国の CholeCap 製品のレビューアで、Amir はカナダの CholeCap のレビューアであるとします。レビューアロールの共有ルールに基づき、Thomas は米国向けのドキュメントにのみアクセスでき、Amir はカナダ向けのドキュメントにのみアクセスできます。
注: カスタムセキュリティまたはアクセスコントロールを実装する際に、管理者は本番サイトに変更を加える前に UAT (ユーザ受入テスト) を実施する必要があります。変更によっては、アプリケーション固有の機能に、Vault の使用が難しくなる影響を及ぼす可能性があります。
設定概要
ドキュメントに対する DAC では、2 種類の設定を検討する必要があります。1 つ目は、初期設定と、それに続く定期的な再設定です。2 つ目は、継続的なメンテナンスです。
初期設定および定期設定
DAC 設定プロジェクトを開始する前に、アクセスコントロールモデルをよく検討してください。例えば、DAC で自動化されたすべてのロールにおいて、ユーザをドキュメントにマッチさせるためにどのような条件が必要ですか (最大 5 フィールド)?この段階で、追加の推奨事項について Veeva サービスにアドバイスを求めるようにしてください。
組織が計画の準備ができたら、設定を開始することができます。以下の設定タスクが完了するまでは構成モードを有効にしておくことを推奨します。
- 管理者 > コンテンツ設定 > オブジェクトから、ユーザロール設定オブジェクトを確認・編集します。必要であれば、フィールドの追加・削除を行えます。Vault は、これらのフィールドの値を使用して、グループを特定のドキュメントにマッチさせます。デフォルトで Vault は、例えば product__v ドキュメントフィールドと product__c オブジェクトフィールドのように、ラベルではなくフィールド名 (接尾辞を除く) に基づいてドキュメントフィールドにオブジェクトフィールドを対応させます。このオブジェクトにはどの種類のフィールドでも追加することができますが、Vault は、このオブジェクトとドキュメントの両方に適用されるオブジェクト参照フィールドまたは単一値の選択リストのみを一致に使用することができます。このオブジェクトに対するカスタムフィールドの制限数は 5 です。
- 管理者 > 設定 > セキュリティ設定から、自動管理グループフィールドの順序設定のフィールド順を確認します。この設定は、Vault が自動管理グループをどのように命名するかを制御します。必要であれば、いつでもこれらのフィールドの順序を変更することができますが、変更すると、変更後に作成したグループのみが影響を受けるため、DAC 設定を行う前に変更することが推奨されます。アプリケーションロールは、常に名前の最後に表示されます。
- 管理者 > コンテンツ設定 > ドキュメントライフサイクル > [ライフサイクル] > ロール > [ロール] > 詳細で、DAC を使用するライフサイクルロールに DAC を有効化します。有効化する際に、許可されたグループを選択することもできます。これは、ドキュメントの共有設定パネル経由での手動割り当てを制限します。各ライフサイクルロールに個別に DAC を有効化することができますが、そのライフサイクルのすべてのロールに DAC を使用することが推奨されます。シングルユーザロール (所有者およびコーディネータ) は DAC を使用できません。あるロールで一度 DAC を有効化したら、そのロールで無効化することはできません。
- ライフサイクルロールがアプリケーションロールにどのようにマッピングされるかを確認します。ユーザロール設定レコードの作成時に、ユーザは、ライフサイクルロールではなく、アプリケーションロールを選択します。複数のライフサイクルロールで 1 つのアプリケーションロールを使用することが可能です。
- 管理者 > コンテンツ設定 > ドキュメントライフサイクル > [ライフサイクル] > ロールから、DAC を使用する各ライフサイクルロールを開き、共有ルールセクションに進みます。グループを、ドキュメントへどのようにマッチさせて、さらに割り当てるかを明確にするためのルールを設定します。
- 企業管理者へ移動し、ユーザロール設定レコードの最初のセットを作成します。ほとんどの Vault では、ユーザごとに 1 つ以上のレコードがあります。レコード数が多数となるため、Vault Loader を使用して最初のセットを作成することが推奨されます。
注: DAC 以前に行われたロール割り当て (デフォルト設定、またはドキュメントの共有設定パネルでの編集) は、手動割り当てと判断されます。ロールに DAC を有効化しても、既に行われている割り当ては影響を受けません。
継続的なメンテナンス
新規ユーザが追加される、既存のユーザがロールを変更する、他のユーザが去るときなど、ユーザロール設定レコードの作成、更新、削除を行うことで、アクセスコントロール設定を維持する必要があります。この状況になった場合、Vault は、自動的にグループメンバーシップを再計算し、これらのユーザが、正しいドキュメントに正しいライフサイクルロールを持っているかを確認します。これらの編集により、新規自動管理グループが作成された場合、Vault が新規グループのアクセス権限を計算するため遅延が発生します。影響を受けるドキュメントの件数によって、最大数分遅延する場合があります。この操作が進行中に、通知バナーがコンフィグレーション画面に表示されます。
ランタイムの動作
ロール再割り当ては、ライフサイクル状態の変更、ワークフローまたはユーザ編集の一環として発生するドキュメントのフィールド値の変更により自動的に起こります。これには管理者アクションは必要ありません。例えば、DOC-1039 に適用される共有ルールは、国フィールド値を使用して、アクセスの決定と割り当てを行います。Doc-1039 の国フィールドが空白であると、どのユーザがアクセス権限を持つかに影響を及ぼします。ユーザが国フィールドを更新するワークフローを Doc-1039 が進むと、Vault はドキュメントのロール割り当てを自動的に再評価して変更します。
注: ロール割り当ては、最新のドキュメントバージョンのドキュメントフィールド値に基づきます。
アプリケーションロール
アプリケーションロールオブジェクトは、ライフサイクルロールを上位の「アプリケーションレベル」のロールにマッピングします。アプリケーションロールオブジェクトは、それ自体には特別な機能はありません。ただし、ドキュメントの DAC を含むその他さまざまな機能により使用されます。
アプリケーションロールオブジェクトは、すべての Vault で有効なオブジェクトとして使用可能です。各ライフサイクルロール (カスタムまたは標準) は、自動的にアプリケーションロールレコードにマッピングされます。ライフサイクルロールの詳細から、いつでもこれらのロールマッピングを確認・更新することができます。必要に応じて、管理者 > ユーザ & グループ > アプリケーションロールからアプリケーションロールの作成または変更を行うこともできます。
ユーザロール設定レコードでロールを選択すると、リストには、ライフサイクルロールではなく、アプリケーションロールが表示されます。これにより、複数のライフサイクルロールの共有ルールが、ライフサイクルロールがどのようにアプリケーションロールにマッピングされているかに応じて、同じ自動管理グループを使用することができることになります。
有効にすると、管理者はユーザロール制限を設定してユーザロール割り当てを制御することができます。
例
プロモーションバインダと販促資材のライフサイクル両方に、レビューアと呼ばれるロールが含まれ、両ロールは DAC を使用します。これらの 2 つのライフサイクルロールは、同じアプリケーションロールレコード: レビューア AR にマッピングされています。両ライフサイクルロールには、製品と国フィールドに基づいてマッチする共有ルールがあります。
管理者は、ユーザロール設定レコードを作成する際に、以下の選択を行います:
- ユーザ = Thomas Chung
- 製品 = CholeCap
- 国 = 米国
- ロール = レビューア AR
Vault は、Thomas を自動管理グループの CholeCap – 米国 – レビューア AR に設定し、これにより、マッチするプロモーションバインダーと販促資材のレビューアロールが設定されます。
ライフサイクルロールの矛盾
1 つのアプリケーションロールを複数のライフサイクルロールにマッピングし、これらのライフサイクルロールが動的アクセスコントロールを使用している場合、ライフサイクルロールの共有ルールタブに警告が表示される場合があります (管理者 > コンテンツ設定 > ドキュメントライフサイクル)。これらの警告は、同じアプリケーションロールを使用するライフサイクルロール間で共有ルールが異なることを示します。
新規の実装で作業している場合、同じアプリケーションロールを使用するライフサイクルロールの設定を連携することが強く推奨されます。これにより、管理業務を簡素化する将来のエンハンスメントのメリットが得られるようになります。
既存の実装では、そのままの設定にしておくことも可能です。引き続き Vault は期待通りに動作します。
共有ルール
共有ルールは、どのユーザがどのロールにいるかをコントロールする動的な方法を提供します。共有ルールを作成する際に、ドキュメントとユーザロール設定オブジェクトの両方に、オブジェクト参照または単一値の選択リストフィールドを定義します。Vault は、自動管理グループのマッチング基準として、これらのフィールドの値を使用して、設定しているライフサイクルロール経由でアクセス権限を取得します。例えば、ユーザロール設定オブジェクトとドキュメントの両方に、製品 (product__c) フィールドを設定します。共有ルールは、このフィールドにマッチングを定義します。ルールがアクティブなときに、Vault は、現在のドキュメントバージョンの製品値が、ユーザロール設定レコードの製品値とマッチするかを確認します。
ロールが、完全なマッチのほか、「部分」マッチに基づいてアクセス権限を付与する場合は、複数の共有ルールを設定することができます。例えば、サイトマネージャは、治験、治験実施国および施設フィールドのマッチング条件から承認者アクセス権限を得ることができ、治験マネージャは、治験のみのマッチング条件からアクセス権限を得ることができます。
ルックアップフィールド付きの共有ルール
共有ルールは、それが指すフィールドがオブジェクト参照または単一値の選択リストであれば、ドキュメントのオブジェクトルックアップフィールドにマッチさせることができます。例えば、製品: 治療領域にマッチするルールをサポートするには、ドキュメントにルックアップタイプフィールドを作成する必要があります。ユーザロール設定オブジェクトでは、既存の治療領域選択リストを使用する選択リストタイプフィールドを作成します。
共有ルールの作成方法
共有ルールを作成するには:
- ロールの詳細: 管理者 > コンテンツ設定 > ドキュメントライフサイクル > [ライフサイクル] > ロール に進んだら、特定のロールをクリックします。
- 共有ルールタブをクリックします。
- 作成をクリックします。
- ルールにわかりやすいラベルを入力します。ラベルは、ドキュメントの共有設定に表示されます。
- 任意の作業: 名前を編集します。これはラベルに基づいて自動的に割り当てられますが、必要に応じて変更することができます。これは API 経由で表示されます。
- 任意の作業: 説明を入力します。説明は、共有ルールの詳細ページにのみ表示されます。
- ルール条件で、ユーザロール設定オブジェクトとドキュメントにフィールドを選択することで、マッチングパラメータを定義します。フィールドマッピングについて詳細をご確認ください。条件の下には、対応する自動管理グループのパターンが表示されます。
- 保存をクリックします。
- 作成をクリックして、必要に応じて他の共有ルールを追加します。
最初にルールを作成する際、またはルールを修正する際に、Vault は、新たな設定に適応するようにレコードを再インデックスする必要があります。これには最大数時間かかる場合があります。
共有ルールを編集 & 削除する方法
共有ルールを変更するには、オブジェクト設定の共有ルールタブに戻り、特定のルールをクリックします。
- 編集をクリックして、ラベル、名前、説明、基準を変更します。
- 削除をクリックしてルールを完全に削除します。
ルール条件フィールドマッピングの柔軟性について
デフォルトでVault は、ルール条件の定義時に、ユーザロール設定フィールドを同じ名前 (接尾辞を除く) のドキュメントフィールドにマッピングします。同じオブジェクト、選択リスト、ルックアップフィールドを参照する有効なドキュメントフィールドが複数ある場合、ドロップダウンの使用可能なフィールドから選択することができます。そのようなフィールドをマッピングする共有ルールを定義したら、そのマッピングは続くすべての共有ルール定義に引き継がれます。
空白値の一致
動的アクセスコントロールの一致ルールはフィールド値間の完全一致を探します。フィールドが共有ルールに含まれている場合、空白フィールド値は他の空白フィールド値にのみ一致します。例えば、国フィールドが空白のユーザロール設定レコードは、国フィールドが空白のドキュメントにしか一致しません。ルールに使用される空白値は、一致のワイルドカードではなく、他の値のように扱われます。Vault はルールに含まれないフィールドの値は考慮しません。
制限
ユーザの Vault は、ロールごとに、最大 8 個の共有ルールを持つことができます。
手動割り当て
ロールに DAC を有効化しても、必要な権限を持つユーザは、別のユーザをロールに追加することで、手動でドキュメントを共有することができます。さらにユーザは、ワークフローの開始時に、ロールにユーザを追加することもできます。手動割り当ては、ロール設定の許可グループを尊重します。
ユーザは、手動割り当てオプションを使用して、ロールの共有ルールから割り当てられたグループを削除することはできません。
ドキュメントタイプグループ
Vault は、ドキュメントタイプグループオブジェクトを提供し、これは、ドキュメントタイプに基づいた共有ルールが必要な Vault でユーザロール設定レコードの作成を簡素化するのに役立ちます。ドキュメントタイプに基づいた共有ルールが必要ない場合、この設定を省略することができます。
ドキュメントタイプグループの設定
これを使用するには、まずドキュメントタイプグループレコードを作成する必要があります。次に、ドキュメントタイプ設定を編集し、特定のドキュメントタイプグループを選択します。
基本ドキュメント、ドキュメントタイプまたはサブタイプにドキュメントタイプグループを選択すると、すべての子レベルが当該ライフサイクルを引き継ぎます。選択するグループをどのレベルでも変更することができます。変更すると、編集されたタイプまたはサブタイプの子は、新しい値を引き継ぐことになります。
複数のドキュメントタイプグループを選択する
任意のドキュメントタイプ、サブタイプまたは分類の場合、複数のドキュメントタイプグループを選択することができます。そうすることで、より複雑な共有ルールをサポートすることができます。
例えば、Miki は、ドキュメントタイプが広告 – ウェブの日本のドキュメントの編集者ですが、米国のアクセスコントロールはそこまで厳格ではありません。John は、ドキュメントタイプが広告 – ウェブ、広告 – 印刷または広告 – ラジオの米国のドキュメントの編集者です。これを設定するには、ドキュメントタイプグループを広告 – ウェブに適用し、別のグループを 3 つすべてのドキュメントタイプに適用します。次に、単一のユーザロール設定レコードを作成して Miki のアクセス権限をサポートし、単一のレコードを作成して John のアクセス権限をサポートします。これがなければ、3 つのユーザロール設定レコードを John に、1 つのレコードを Miki に作成する必要があります。