정책 편집 화면의 Audit Logging 을 No 로 두면 Ranger Audit UI 에 안 보이는 것은 물론, HDFS 의 /ranger/audit 에도 기록이 남지 않는지.
감사 기록을 만드는 주체는 Ranger Admin 이 아니라 각 서비스에 붙은 Ranger 플러그인이다. HDFS NameNode · HiveServer2 · Impala · Kudu 같은 프로세스 안에서 플러그인이 접근 요청을 판정하고, 그 결과를 감사 레코드로 만들어 설정된 저장소로 보낸다.
그래서 감사 저장소 설정은 Ranger Admin 의 ranger-admin-site.xml 이 아니라 플러그인 쪽 설정 파일(ranger-<service>-audit.xml)에 있다. ranger-admin-site.xml 의 Solr 관련 설정은 Audit UI 가 조회할 대상을 가리키는 것이지 기록을 만드는 설정이 아니다.
| 속성 | 내용 |
|---|---|
xasecure.audit.destination.solr |
Solr 로 보낼지 여부 |
xasecure.audit.destination.solr.urls 또는 ...zookeepers |
Solr 접속 정보 |
xasecure.audit.destination.hdfs |
HDFS 로 보낼지 여부 |
xasecure.audit.destination.hdfs.dir |
HDFS 저장 경로 (/ranger/audit 등) |
xasecure.audit.destination.log4j |
서비스 로그로 보낼지 여부 |
xasecure.audit.is.enabled |
그 플러그인의 감사 기능 전체 스위치 |
Cloudera Manager 에서는 서비스별 Ranger 플러그인 설정 항목으로 노출된다.
정책의 Audit Logging 을 No 로 하면, 그 정책이 매칭되어 허용된 요청에 대한 감사 레코드가 만들어지지 않는다. 기록 자체가 생성되지 않으므로 Solr · HDFS · 로그 등 어느 저장소에도 남지 않는다. 저장소를 골라서 끄는 설정이 아니다.
여기서 흔히 오해하는 부분이 있다. 이 스위치는 그 정책에 매칭된 경우만 덮는다. 다음은 그대로 기록된다.
즉 No 로 두면 "정상 허용 트래픽" 의 잡음이 줄어드는 것이지 감사가 꺼지는 것이 아니다. 접근량이 많은 경로(예: 임시 디렉터리 읽기)의 잡음을 줄이는 용도로 쓴다.
hdfs dfs -ls -R /ranger/audit | tail
hdfs dfs -du -h -s /ranger/audit/hdfs
curl -s "http://<solr-host>:8983/solr/ranger_audits/select?q=*:*&rows=0&wt=json"
특정 사용자·자원으로 좁혀 확인한다.
curl -s "http://<solr-host>:8983/solr/ranger_audits/select?q=reqUser:alice&rows=5&wt=json"
플러그인이 감사를 보내고 있는지는 Ranger Admin 의 Audit → Plugins 탭에서도 볼 수 있다. 여기에 최근 동기화 시각이 갱신되지 않으면 플러그인이 Admin 과 통신하지 못하는 상태다.
Solr 는 UI 조회용이라 보존 기간을 짧게(수 주) 가져가고, 장기 보존은 HDFS 를 쓰는 구성이 일반적이다. 둘을 함께 켜면 같은 기록이 양쪽에 남는다.
Solr 컬렉션이 커지면 Audit UI 조회가 급격히 느려지므로 보존 정책을 반드시 건다. HDFS 쪽은 날짜별 디렉터리로 쌓이므로 오래된 것을 주기적으로 정리하거나 아카이브한다.