前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0698-6.2.0-Navigator审计日志查看对应用户的操作

0698-6.2.0-Navigator审计日志查看对应用户的操作

作者头像
Fayson
发布2019-09-16 15:56:16
1.2K0
发布2019-09-16 15:56:16
举报
文章被收录于专栏:Hadoop实操Hadoop实操

文档编写目的

CDH集群中有数据管理的组件Cloudera Navigator,本文档主要介绍这个组件的其中一个功能:审计,Cloudera Navigator审计可以从选定的集群服务收集一些事件,用户可以在控制台查看这些审计的日志,可以使用可配置的过滤器进行搜索,快速得到相关的信息,并且可以将这些信息导出为CSV或JSON文件。下面会对审计功能的使用进行一些测试。

测试环境

集群的环境为CDH6.2.0

集群服务器的OS版本为RedHat7.2

1.集群已启用Kerberos

2.集群已安装Sentry

3.Hive的用户模拟已关闭

4.HDFS ACL已开启

创建用户进行操作

1.在OS和Kerberos中创建几个用户用于测试

2.使用不同的用户访问服务,用于测试审计日志中用户的区分

使用test_hdfs_audit用户操作HDFS

  • 登陆Kerberos
  • 上传文件到HDFS
  • 查看文件
  • 删除文件

使用test_hive_audit操作Hive

  • 登陆Kerberos
  • beeline登陆Hive
  • 建表
  • 插入数据
  • 查看数据
  • 删除表

使用test_impala_audit操作Impala

  • 登陆Kerberos
  • 登陆Impala
  • 建表
  • 插入数据
  • 查看数据
  • 删除表

使用test_spark_audit操作spark

  • 登陆Kerberos
  • 登陆Spark
  • 使用Spark

使用test_hue_audit用户登陆Hue进行操作

  • 在Hue中使用Hive

建表

插入数据

查询

  • 在Hue中使用Impala

更新元数据

查询

在Navigator中查看操作的审计日志

查看test_hdfs_audit用户的操作

查看test_hive_audit用户的操作

查看test_impala_audit用户的操作

查看test_spark_audit用户的操作

查看test_hue_audit用户的操作

基于Navigator的审计日志验证一些问题

5.1 HIVE/HUE查询的数据量信息的记录

例如返回行数(1000行),返回数据量(100M)等类似信息

  • 在beeline命令行执行语句select * from web_returns limit 100;
  • 在Navigator中查看审计日志,只能看到执行的语句,并没有返回结果的信息
  • 在beeline命令行执行语句select count(*) from web_returns;
  • 查看审计日志,同样的也只能查看到执行的语句,而无法查看到返回的数据信息

在Hue中使用Hive查询

查看操作对应的审计日志,与在beeline命令行操作的审计日志一致

由上面的测试可以得知,在Navigator的审计日志中无法获取Hive中查询返回的数据的详细信息,只能看到查询执行的语句以及涉及的HDFS上的目录

5.2 是否有HDFS文件操作(如上传文件),涉及到的文件的大小的记录

是否能够在日志中查看操作文件的大小

  • 准备一个测试用的文件,大小为1.1G,上传到HDFS上
  • 在Navigator中查看审计日志,无法查看到操作涉及到的文件的详细信息

审计日志中只记录了对文件的操作,涉及到的目录,并没有记录文件的大小等详细信息

5.3 对于越权访问是否记录

比如A用户不能访问HDFS中的security.txt,从而导致操作失败

  • 使用用户test_hdfs_audit用户查看Hive的数据目录,没有权限,查看失败
  • 在Navigator中查看对应的审计日志,可以看到这一步操作被记录了下来

在审计日志中用户越权访问没有权限访问的文件,这个失败的操作会被记录下来,但是无法看到该用户越权访问的目录或文件的详细信息,只能看到要访问的文件或目录名。

5.4 对于HIVE/HUE,用户越权操作是否记录

比如仅有查询权限的用户尝试创建表、低权限用户查询没有访问权限数据、查询权限的用户尝试插入数据等,是否有对应的日志

  • 测试只有查询权限的用户建表

授予test_hdfs_audit组查询权限

使用test_hdfs_audit用户登陆Hive,然后建表,建表失败

查看审计日志,能够看到操作失败的日志

  • 测试低权限用户查询没有访问权限的数据

授予test_hdfs_audit用户组对test库的所有权限

使用test_hdfs_audit用户登陆Hive,然后查询default库下的表web_returns,查询失败,没有权限

查看审计日志,能够看到操作失败的日志

  • 测试查询权限的用户插入数据

授予test_hdfs_audit用户组查询权限

对test表插入数据,插入失败,没有权限

查看审计日志,能够查看到失败的操作的日志信息

由上面的三个测试可以看出,Navigator的审计日志里能够看到越权操作的信息,但是和之前的日志信息一样,无法看出详细的信息,只能看到当前的用户执行的语句失败了,但是并不能看到失败的原因,以及任何关于权限的信息。

5.5 日志的导出

在Navigator的Audits页面可以直接将审计日志导出

可以选择JSON和CSV两种格式,对于导出哪些属性也可以选择

CSV文件如下:

JSON文件如下:

5.6 通过API接口查询审计日志

进入API界面http://cdh1.hadoop.com:7187/api-console/index.html

填入三个必须的参数,参数query用于过滤条件,该参数支持过滤多个条件,使用分号连接,例如service=hive;table=test这样的形式,两个时间参数都是时间的毫秒数

查询结果如下:

查询的API为:

代码语言:javascript
复制
http://cdh1.hadoop.com:7187/api/v14/audits?query=service==hive&startTime=1567058400000&endTime=1567072581000&limit=100&offset=0&format=JSON&attachment=false

官网的Navigator API相关介绍如下:

代码语言:javascript
复制
http://fqdn-n.example.com:port/api/vn/operation
http://fqdn-n.example.com:port/api-console/index.html
http://fqdn-n.example.com:port/api-console/tutorial.html

将路径中的主机名换成安装Navigator服务的主机名即可

总结

1.在Navigator的审计功能中,能够记录CDH集群所有服务的信息,包括一些因为各种原因失败的操作,以及非人工即服务自身进行的操作也会被记录。

2.在文档的整个测试过程看来,除了在Spark中的操作,审计日志看不到详细的操作过程,只能看到对HDFS上的文件进行了操作,但是在其他服务中,整个操作的过程都可以完整的在审计日志中查看到。例如在HDFS上的操作,在审计日志中可以看到查看文件信息、将文件移动到回收站;在Hive上的操作,可以看到审计日志中显示的操作名称,建表、查询、删除表等;在Impala上的操作与Hive中类似,对表的操作都能够在审计日志中看到;在Hue中操作时,可以在审计日志中看到Hue中使用了哪些服务,分别做了什么操作。同时日志也支持API导出为JSON或者CSV格式。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档