一、Ranger Audit概述

Ranger提供了一个集中式框架,用于收集访问Audit历史记录和报告数据,包括对各种参数的过滤。HDP增强了在Hadoop内部不同组件中捕获的Audit信息,并通过此集中报告功能提供了见解。

二、Ambari启用Audit方式

建议将Ranger Audit写入Solr和HDFS。对Solr的audit主要用于从Ranger Admin UI启用查询。HDFS是Audit的长期目标;HDFS中存储的Audit可以导出到任何SIEM系统或另一个Audit存储中。
通常在标准的Ambari安装过程中启用Solr和HDFS Audit。

1.Audit to Solr 配置

如果已在集群中安装并配置了Solr服务,则可以将Ranger Audit保存并存储到Solr。

步骤1:

从Ambari仪表板中,选择Ranger服务。选择配置>高级,然后向下滚动并选择高级Ranger-admin-site。
设置以下属性值:ranger.audit.source.type = solr。
image.png

步骤2:

在“ Ranger Configs”选项卡上,选择“ Ranger Audit”。SolrCloud按钮应设置为ON。当SolrCloud按钮从OFF设置为ON时,会自动加载SolrCloud配置设置,但是您也可以手动更新设置。
image.png

步骤3:

重新启动Ranger服务

步骤4:

重新启动Ranger服务后,您将需要对每个插件进行特定的配置更改,以确保在Solr中捕获了插件的数据。
例如,如果您想配置HBase进行对Solr的Audit,请执行以下步骤:
a.选中高级ranger-hbase-audit中的Audit到Solr复选框。
b.为HBase启用Ranger插件。
c.重新启动HBase组件。

步骤5:

通过在Web浏览器中打开以下URL之一,验证将Ranger Audit日志传递给Solr:

  • http://{RANGER_HOST_NAME}:6080/index.html#!/reports/audit/bigData
  • 对于HDP Search的Solr实例: http:{SOLR_HOST}:8983/solr/ranger_audits
  • 对于Ambari Infra的Solr实例:http:{SOLR_HOST}:8886/solr/ranger_audits

    2.Audit to Hdfs 配置

    以下步骤显示了如何将Hbase的Ranger Audit保存到HDFS中。您可以对其他组件使用相同的过程。

    步骤1:

    从Ambari仪表板中,选择HBase服务。在“配置”选项卡上,向下滚动并选择“ 高级Ranger-hbase-audit”。选中“ Audit to Hdfs 复选框。
    image.png

    步骤2:

设置要在HDFS中存储Audit的HDFS路径: xasecure.audit.destination.hdfs.dir = hdfs://$NAMENODE_FQDN:8020/ranger/audit
image.png

步骤3:

为HBase启用Ranger插件。
image.png

步骤4:

确保插件sudo用户对HDFS路径:具有权限 hdfs://NAMENODE_FQDN:8020/ranger/audit
例如,我们需要为Resource:创建策略 /ranger/audit,对用户hbase的所有权限

步骤5:

保存配置更新,然后重新启动HBase。

步骤6:

为HBase组件生成一些Audit日志。

步骤7:

检查NameNode上的HFDS组件日志: hdfs://NAMENODE_FQDN:8020/ranger/audit

三、Ranger Web UI审计记录

1.Access介绍

此页面记录每次授权的信息 包括策略id、时间、访问用户、访问的资源、访问的类型、授权结果等信息。可以根据条件进行搜索
开启此功能需要先安装Solr
image.png

2.Admin介绍

此页面记录对策略的操作
image.png

3.Login Sessions介绍

此页面记录登陆RangerAdmin的操作
image.png

4.Plugins介绍

记录Plugins的同步策略
image.png

5.Pugins Status介绍

Plugin的状态
image.png

四、Ranger Audit配置参数详解

参数名 详细解释
xasecure.audit.provider.summary.enabled
1. 将此属性设置为true。这将导致在将审核消息发送到各个接收器之前对其进行汇总。(ambari默认为ture)
1. 默认情况下,它设置为false即禁用审计汇总。
1. 此处汇总的意思是在设定时间内将完全相同的操作汇总成一条记录到日志(ambari默认5秒汇总一次)
xasecure.audit.provider.queue.size
1. 如果未指定,则该值默认为1048576,即队列的大小可存储1M(1024 * 1024)消息。(ambari为默认值)
xasecure.audit.provider.summary.interval.ms
1. 汇总消息的最大时间间隔。
1. 如果未指定,则默认为5000,即5秒。
Summarization Batch size
1. 请注意,无论此时间间隔如何,一次汇总最多10万条消息都将考虑进行汇总。因此,如果在此时间间隔内记录了超过100k的消息,则即使在配置的时间间隔内记录了类似的消息,它们也可能显示为多个汇总审核消息。
1. 此值100k 用户不可配置。这里提到它是为了更好地理解汇总逻辑。
Audit to HDFS
1. 此处默认为true,即日志写到hdfs,为false则不写
xasecure.audit.is.enabled
1. 此属性默认为ture,是开启Ranger KMS后才用到的

Audit其他属性请参考
https://cwiki.apache.org/confluence/display/RANGER/Ranger+0.5+Audit+Configuration#Ranger0.5AuditConfiguration-Summarization
Ranger Audit具体介绍请参考官网
https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.1.0/managing-auditing/content/audit_overview.html