audit table

1. modify parameter

alter system set audit_trail=db_extended scope=spfile;

shutdown immediate;

startup open;


2. start to audit table

create table test(id number, name varchar2(40));

AUDIT INSERT,UPDATE,DELETE,SELECT on test;


3. see the audit configuration

select * from dba_obj_audit_opts;


4. do some DDL and DML

select * from test;
insert into test(id, name) values(1, 'andy');


5. check the result;

select * from dba_audit_trail order by timestamp desc;


6. cancel the audit;

noaudit  INSERT,UPDATE,DELETE,SELECT on test;

<think>嗯,用户询问如何在HBase 1.2.0中启用审计功能。这个问题涉及HBase的配置管理,需要仔细处理。 先回顾HBase审计功能的基本原理。HBase通过继承Coprocessor接口实现审计功能,核心类是RegionObserver,它能在读写操作前后触发审计日志记录。HBase 1.2.x版本应该已经内置了LogAudit类作为默认实现。 用户提供的引用材料中,引用[2]提到启动HBase服务的命令是/usr/house/hbase/hbase-1.2.6/bin/start-hbase.sh,说明用户环境可能使用类似路径。引用[4]展示的XML配置格式也值得参考,但要注意hive.querylog.location参数与HBase无关。 配置步骤需要重点关注三个环节:首先在hbase-site.xml中添加审计协处理器声明,需要完整类名org.apache.hadoop.hbase.security.audit.LogAudit;其次设置日志级别,建议在log4j.properties中将SecurityLogger调至INFO;最后确保HBase服务账户对日志目录有写权限。 审计日志的默认路径是HBase日志目录下的SecurityAuth.audit文件,可以通过hbase.security.logger配置项自定义路径。考虑到用户环境,可能需要明确说明日志目录位置,比如参考引用[1]中Hive的配置路径/app/hive/conf。 安全策略方面要提醒用户:审计日志可能包含敏感数据,需设置访问权限;大量写操作时注意日志轮转策略;正式环境建议测试性能影响。 用户可能延伸的问题包括:如何解析审计日志格式,如何集成ELK等监控工具,以及审计功能与Ranger/Sentry的权限关联。这些都可以作为后续建议点。</think>在 HBase 1.2.0 中启用审计功能主要通过配置协处理器(Coprocessor)和日志级别实现。以下是详细步骤: ### 一、启用审计协处理器 1. **编辑 `hbase-site.xml`** 找到 HBase 的配置文件 `conf/hbase-site.xml`(通常在 `$HBASE_HOME/conf/` 目录下),添加或修改以下配置项: ```xml <property> <name>hbase.coprocessor.region.classes</name> <value>org.apache.hadoop.hbase.security.audit.LogAudit</value> </property> <property> <name>hbase.coprocessor.master.classes</name> <value>org.apache.hadoop.hbase.security.audit.LogAudit</value> </property> ``` > **说明**: > - `hbase.coprocessor.region.classes`:在 RegionServer 上启用协处理器,审计数据操作(如 Get, Put, Scan 等)。 > - `hbase.coprocessor.master.classes`:在 HMaster 上启用协处理器,审计管理操作(如创建/删除表、修改 Schema 等)。 ### 二、配置审计日志级别 2. **编辑 `log4j.properties`** 修改 HBase 的日志配置文件 `conf/log4j.properties`,确保审计日志级别为 `INFO`: ```properties # 设置 SecurityLogger 的日志级别为 INFO log4j.logger.SecurityLogger.org.apache.hadoop.hbase.security.audit=INFO ``` > **关键点**:审计事件默认通过 `SecurityLogger` 输出,需单独配置其级别。 ### 三、设置审计日志路径(可选) 3. **自定义审计日志位置** 如需指定审计日志文件路径,在 `hbase-site.xml` 中添加: ```xml <property> <name>hbase.security.log.file</name> <value>/var/log/hbase/hbase-audit.log</value> <!-- 自定义路径 --> </property> ``` > 确保 HBase 服务账户对该路径有写入权限。 ### 四、重启 HBase 服务 4. **应用配置** 保存配置后,按顺序重启 HBase 服务: ```bash # 停止 HBase $HBASE_HOME/bin/stop-hbase.sh # 启动 HBase(需先启动 ZooKeeper 和 HDFS) $HBASE_HOME/bin/start-hbase.sh ``` > 参考启动命令[^2]。 ### 五、验证审计功能 5. **检查日志输出** 执行 HBase 操作(如 `hbase shell` 中创建表或插入数据),观察审计日志文件(默认在 HBase 日志目录下的 `SecurityAuth.audit` 文件): ```bash tail -f $HBASE_HOME/logs/SecurityAuth.audit ``` 正常输出示例: ``` 2024-06-20 10:00:00,123 INFO [SecurityLogger] AUDIT: user=admin@EXAMPLE.COM, ip=192.168.1.100, operation=CreateTable, table=test_table ``` ### 注意事项 1. **性能影响**:审计日志会记录所有操作,高频写入场景可能影响性能。生产环境建议评估并优化日志输出(如异步写入)。 2. **日志安全**:审计日志包含敏感操作信息,需严格限制访问权限。 3. **日志轮转**:配置 `log4j.properties` 中的日志轮转策略,避免日志文件过大: ```properties log4j.appender.RFA=org.apache.log4j.RollingFileAppender log4j.appender.RFA.File=${hbase.log.dir}/SecurityAuth.audit log4j.appender.RFA.MaxFileSize=100MB log4j.appender.RFA.MaxBackupIndex=10 ``` ### 相关问题 1. HBase 审计日志包含哪些关键字段?如何解析这些日志进行安全分析? 2. 如何将 HBase 审计日志集成到 ELK(Elasticsearch, Logstash, Kibana)等监控系统中? 3. 启用审计功能后出现性能下降,有哪些优化策略? 4. HBase 1.2.0 的审计功能与 Apache Ranger 或 Sentry 的集成方式是什么? [^1]: 配置目录参考位置 [^2]: HBase 服务启动命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值