资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

lightdb中审计日志的设置以及lightdb-em中审计日志的使用

Java 更新时间: 发布时间: 计算机考试归档 最新发布

lightdb中审计日志的设置以及lightdb-em中审计日志的使用

1,什么是审计日志?

LightDB 审计扩展(ltaudit)通过标准的 LightDB 日志记录工具提供详细的会话和/或对象审计日志记录。
Ltaudit 的目标是为 LightDB 用户提供生成符合政府、财务或 ISO 认证要求的审计日志的能力。
审计是对个人或组织帐目的正式检查,通常由独立机构进行。由 ltaudit 收集的信息正确地称为审计跟踪或审计日志。本文档使用审计日志这一术语。

2,如何设置配置审计日志?

1,设置只能由超级用户修改。允许普通用户更改他们的设置将会破坏审计日志的要点。
2,可以在全局(在 lightdb.conf 中或使用 ALTER SYSTEM… SET)、数据库级别(使用 ALTER DATABASE… SET)或角色级别(使用 ALTER ROLE… SET)指定设置。请注意,设置不是通过正常的角色继承来继承的,SETROLE 不会更改用户的 ltaudit 设置。这是角色系统的一个局限性,而不是 Ltaudit 所固有的。

2.1,审计日志参数

指定会话审核日志将记录哪些类别的语句。可能的值是:
READ:当源是关系或查询时,执行 SELECt 和 COPY 操作。
WRITE:当目标是一个关系时,插入、更新、删除、截断和复制。
FUNCTION:函数调用和 DO 块。
ROLE:与角色和特权相关的语句: GRANT、 REVOKE、 CREATE/ALTER/DROP。
DDL:ROLE 类中未包含的所有 DDL。
MISC:杂项指令,例如丢弃、取出、检查点、真空、设定。
MISC_SET:其他 SET 命令,例如 SETROLE。
ALL:包括以上所有。
示例:
SQL:

set ltaudit.log = 'read, ddl';

create table account
(
    id int,
    name text,
    pdtext,
    description text
);

insert into account (id, name, pd, description)
             values (1, 'user1', 'wuku', 'blah, blah');

select *
    from account;

Log Output 日志输出:

AUDIT: SESSION,1,1,DDL,CREATE TABLE,TABLE,public.account,create table account
(
    id int,
    name text,
    pdtext,
    description text
);,
AUDIT: SESSION,2,1,READ,SELECt,,,select *
    from account,,

对象审核日志记录影响特定关系的日志语句。只支持 SELECt、 INSERT、 UPDATE 和 DELETE 命令。对象审计日志记录中不包括 TRUNCATE。
对象级审计日志通过角色系统实现。Role 设置定义了将用于审计日志记录的角色。当审计角色对所执行的命令具有权限或从另一个角色继承权限时,将记录审计关系(TABLE、 VIEW 等)。这允许您有效地拥有多个审计角色,即使在任何上下文中只有一个主角色。
示例,将 ltaudit.role 设置为 auditor 并授予 Account 表上的 SELECT 和 DELETE 特权。帐户表上的任何 SELECT 或 DELETE 语句现在都将被记录:

set ltaudit.role = 'auditor';

grant select, delete
   on public.account
   to auditor;

示例

set ltaudit.role = 'auditor';

create table account
(
    id int,
    name text,
    pd text,
    description text
);

grant select (pd)
   on public.account
   to auditor;

select id, name
  from account;

select pd
  from account;

grant update (name, pd)
   on public.account
   to auditor;

update account
   set description = 'yada, yada';

update account
   set pd= 'kuwu';

create table account_role_map
(
    account_id int,
    role_id int
);

grant select
   on public.account_role_map
   to auditor;

select account.pd,
       account_role_map.role_id
  from account
       inner join account_role_map
            on account.id = account_role_map.account_id

Log Output 日志输出:

AUDIT: OBJECT,1,1,READ,SELECt,TABLE,public.account,select pd
  from account,
AUDIT: OBJECT,2,1,WRITE,UPDATe,TABLE,public.account,update account
   set pd= 'kuwu',
AUDIT: OBJECT,3,1,READ,SELECT,TABLE,public.account,select account.pd,
       account_role_map.role_id
  from account
       inner join account_role_map
            on account.id = account_role_map.account_id,
AUDIT: OBJECT,3,1,READ,SELECt,TABLE,public.account_role_map,select account.pd,
       account_role_map.role_id
  from account
       inner join account_role_map
            on account.id = account_role_map.account_id,

3,在lightdb数据库中实际操作:

3.1,配置lightdb.conf文件

3.2重启数据库,让配置生效,现在打印的日志全部是审计日志,因为在配置文件中配置后是全局生效

3.3在em中查看记录的审计日志,路径在 日志检索->SQL审计日志


输入关键字with后查询到相关的审计日志

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/1094216.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【lightdb中审计日志的设置以及lightdb-em中审计日志的使用】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2