USER MANUALS

他の開発チームと共有するビューに対する間接アクセスの制限

複数の開発チームが使用するマルチレイヤーの仮想モデルでは、中間レイヤーでの制限の定義が避けられない場合があります。それぞれのレイヤーは、各自のセキュリティ上の懸念を抱える複数のチームによって管理されます。あるレイヤー内のビューの所有者は、そのビューのデータが上位レイヤーのビューによって不適切に公開されないようにする必要があります。

このシナリオでは、最終ユーザーからどのデータにアクセスできるかを制御できなく場合があります。そのため、あるビューに対するアクセス権を付与した場合、該当のデータに対する権限が他のユーザーにも付与されてしまうことを避けるため、セキュリティモデルの動作の変更を行うことができます。これを行うには 2 つの方法があります。

  1. グローバルセキュリティポリシーの使用。

  2. または、 Indirect Access 権限の使用 (以下のセクションを参照)。

グローバルセキュリティポリシーを使用する、共有ビューに対する間接アクセスの制限

Denodo の エンタープライズプラス サブスクリプションバンドルには、 タグベースのセキュリティポリシー が組み込まれており、選択したユーザーまたはロールの許可リストを簡単に定義できます。このリストにより、選択したユーザーやロールは、該当のビューに間接的にアクセスできるため、リストに含まれていないユーザーやロールの視界が制限されます。この方法の例については、「 Best Practices in Designing Fine-Grained Privileged in Multi-layered Virtual Models 」記事の「Allow indirect access to a restricted list of roles」のセクションを参照してください。

間接アクセス権限を使用する、共有ビューに対する間接アクセスの制限

Denodo には間接アクセスを制限する代替方法が組み込まれています。この方法では、グローバルセキュリティポリシーを使用する必要はありません。この中には、特定のビューのロールに付与できる新しい INDIRECT_ACCESS 権限があります。

最初の セクション の例を使用して、この機能について説明します。

EMPLOYEE ビューに関する INDIRECT_ACCESS 権限の付与 を HR ロールに対して行うことができます。

  • HR のユーザーは、EMPLOYEE ビューを使用してクエリを実行できます。

  • HR のユーザーは、従業員情報を使用して新しいビューを作成できます。

  • HR のユーザーは、派生ビュー (従業員情報を使用するビュー) に対する EXECUTE 権限を SALES 部署に付与できます。

  • SALES のユーザーは派生ビューを実行できますが、SALES に ` INDIRECT_ACCESS` が付与されるまでは、EMPLOYEE ビューのデータはすべて制限されます。

注釈

このセキュリティモデルを実装する場合は、以下の点に留意してください。

  • この機能は、サーバーレベルではデフォルトで無効になっています (以前の動作がデフォルトです)。

  • サーバーレベルで機能を有効にしたら、特定のビューに対して有効にする必要があります。

  • 特定のビューに対して機能を有効にしたら、INDIRECT_ACCESS 権限をロールに付与することにより、何らかの方法でその特定のビューのデータにクエリを実行する他のビューを実行してそのビューのデータを取得するユーザーを定義することができます。

この実装方法について順を追って説明します。

  1. 最初に、[Administration] > [Server Configuration] > [Privileges] でこの機能をサーバーレベルで有効にして、[Allow Indirect access by default] オプションをチェックします。

../../../../_images/indirect_access_server_configuration.png
  1. これらの権限を含むロールは、ビューやプロシージャの詳細ペインで権限のタブをクリックし、[Restrict indirect access] オプションをチェックすることで、そのビューやプロシージャに対して構成できます。この権限を持つロールを選択できます。

../../../../_images/indirect_access_view_privileges.png

権限を構成するには、[Administration] > [Role Management] オプションを選択し、ロールを選択して [Assign Privileges] ボタンをクリックする方法もあります。データベースの詳細権限の列の編集ボタンをクリックし、変更するエレメントの間接アクセス列のボタンをクリックします。この列には、indirect_access 権限が構成されているエレメントのチェック状態が表示されます。

../../../../_images/indirect_access_roles.png
Add feedback