権限の監査¶
権限処理時の詳細ログの記録¶
詳細ログを記録するには、以下の手順を実行します。
以下のコマンドを実行します。
SET 'com.denodo.vdb.security.queryPrivilegesLoggerEnabled' = 'true';
ログカテゴリ
com.denodo.vdb.security.queryPrivileges
をDEBUG
に設定します。これを行うには、<DENODO_HOME>/conf/vdp/log4j2.xml
を編集するか、ストアドプロシージャ 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 種類があります。
ローカルユーザーの偽装: ユーザーのセキュリティ構成を使用してクエリを実行します。以下の例のように、クエリでコンテキスト句
impersonate_user
を使用します。SELECT ename FROM employee CONTEXT('impersonate_user'='user1');
ロールの偽装: 一連のロールのセキュリティ構成を使用してクエリを実行します。ローカルユーザーや一部の外部ユーザーにも、デフォルトのロール
allUsers
が含まれていることに注意してください。以下の例のように、クエリでコンテキスト句impersonate_roles
を使用します。SELECT ename FROM employee CONTEXT('impersonate_roles'='role1,role2,role3')