USER MANUALS

権限の監査

権限処理時の詳細ログの記録

詳細ログを記録するには、以下の手順を実行します。

  1. 以下のコマンドを実行します。

SET 'com.denodo.vdb.security.queryPrivilegesLoggerEnabled' = 'true';
  1. ログカテゴリ com.denodo.vdb.security.queryPrivilegesDEBUG に設定します。これを行うには、 <DENODO_HOME>/conf/vdp/log4j2.xml を編集するか、ストアドプロシージャ LOGCONTROLLER を実行します。

Virtual DataPort を停止すると、LOGCONTROLLER で行われた変更が失われます。
CALL LOGCONTROLLER('com.denodo.vdb.security.queryPrivileges', 'DEBUG');

この機能を有効にすると、クエリで処理された各ビューのエントリログが作成され、ユーザーとそのロールの読み込まれた権限の詳細が示されます。特定のビューに対して表示される権限は、そのビューに対する全体の権限を決定するために処理されるものであることに注意してください。つまり、処理された権限を基に最終的な権限を決定できる場合でも、リストに表示されていない権限がさらにある可能性があります。また、これらの処理された権限の一部が、最終的な権限の一部ではない可能性があります。

この機能は非常に冗長なため、監査後にプロパティをデフォルト値に戻すことを強くお勧めします。

SET 'com.denodo.vdb.security.queryPrivilegesLoggerEnabled' = 'false';
CALL logcontroller('com.denodo.vdb.security.queryPrivileges', 'error');

偽装

Virtual DataPort では、クエリでユーザーやロールになりすまし、権限やポリシーの使用状況を監査することができます。デフォルトでは、クエリでなりすますことができるのは impersonator ロールを持つ管理者ユーザーのみですが、このプロパティを有効にするだけで、管理者以外のユーザーでも impersonator ロールでクエリを実行することができます。

SET 'com.denodo.vdb.security.allowImpersonateToRegularUsers' = 'true';

偽装には次の 2 種類があります。

  1. ローカルユーザーの偽装: ユーザーのセキュリティ構成を使用してクエリを実行します。以下の例のように、クエリでコンテキスト句 impersonate_user を使用します。

    SELECT ename
    FROM employee
    CONTEXT('impersonate_user'='user1');
    
  2. ロールの偽装: 一連のロールのセキュリティ構成を使用してクエリを実行します。ローカルユーザーや一部の外部ユーザーにも、デフォルトのロール allUsers が含まれていることに注意してください。以下の例のように、クエリでコンテキスト句 impersonate_roles を使用します。

    SELECT ename
    FROM employee
    CONTEXT('impersonate_roles'='role1,role2,role3')
    
Add feedback