You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by wu...@apache.org on 2022/10/16 08:15:15 UTC

[ambari] branch trunk updated: AMBARI-25124: ambari-audit.log entries span multiple lines (#3396)

This is an automated email from the ASF dual-hosted git repository.

wuzhiguo pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 5fc20b85f7 AMBARI-25124: ambari-audit.log entries span multiple lines (#3396)
5fc20b85f7 is described below

commit 5fc20b85f72097ab30b04f39d482e85a8cf26534
Author: Zhiguo Wu <wu...@apache.org>
AuthorDate: Sun Oct 16 16:15:05 2022 +0800

    AMBARI-25124: ambari-audit.log entries span multiple lines (#3396)
---
 .../ambari/server/audit/event/LoginAuditEvent.java   |  7 +++----
 .../AddRepositoryVersionRequestAuditEvent.java       |  9 +++------
 .../ChangeRepositoryVersionRequestAuditEvent.java    | 10 ++++------
 .../ClusterPrivilegeChangeRequestAuditEvent.java     | 18 ++++++++++--------
 .../ViewPrivilegeChangeRequestAuditEvent.java        | 16 ++++++++--------
 .../ambari/server/audit/LoginAuditEventTest.java     | 12 ++++++------
 .../request/creator/PrivilegeEventCreatorTest.java   | 12 ++++++------
 .../creator/RepositoryVersionEventCreatorTest.java   | 20 ++++++++++----------
 .../creator/ViewPrivilegeEventCreatorTest.java       | 12 ++++++------
 9 files changed, 56 insertions(+), 60 deletions(-)

diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java
index 9be216ad3b..f9523c10ad 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/LoginAuditEvent.java
@@ -62,15 +62,14 @@ public class LoginAuditEvent extends AbstractUserAuditEvent {
     protected void buildAuditMessage(StringBuilder builder) {
       super.buildAuditMessage(builder);
 
-      builder.append(", Operation(User login), Roles(").append(System.lineSeparator());
+      builder.append(", Operation(User login), Roles(");
 
       if (roles != null && !roles.isEmpty()) {
         List<String> lines = new LinkedList<>();
         for (Map.Entry<String, List<String>> entry : roles.entrySet()) {
-          lines.add("    " + entry.getKey() + ": " + StringUtils.join(entry.getValue(), ", "));
+          lines.add(entry.getKey() + ": " + StringUtils.join(entry.getValue(), ", "));
         }
-        builder.append(StringUtils.join(lines, System.lineSeparator()));
-        builder.append(System.lineSeparator());
+        builder.append(StringUtils.join(lines, ","));
       }
       builder.append("), Status(")
         .append(reasonOfFailure == null ? "Success" : "Failed");
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java
index 82207d21c7..fb85ddc097 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/AddRepositoryVersionRequestAuditEvent.java
@@ -88,18 +88,15 @@ public class AddRepositoryVersionRequestAuditEvent extends RequestAuditEvent {
         .append(repoVersion)
         .append("), Repositories(");
 
-      if (!repos.isEmpty()) {
-        builder.append(System.lineSeparator());
-      }
 
       for (Map.Entry<String, List<Map<String, String>>> repo : repos.entrySet()) {
         builder.append("Operating system: ").append(repo.getKey());
-        builder.append(System.lineSeparator());
+        builder.append("(");
         for (Map<String, String> properties : repo.getValue()) {
-          builder.append("    Repository ID(").append(properties.get("repo_id"));
+          builder.append("Repository ID(").append(properties.get("repo_id"));
           builder.append("), Repository name(").append(properties.get("repo_name"));
           builder.append("), Base url(").append(properties.get("base_url")).append(")");
-          builder.append(System.lineSeparator());
+          builder.append(")");
         }
       }
 
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java
index fdba4eb013..83e36140b5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java
@@ -89,18 +89,16 @@ public class ChangeRepositoryVersionRequestAuditEvent extends RequestAuditEvent
         .append(repoVersion)
         .append("), Repositories(");
 
-      if (!repos.isEmpty()) {
-        builder.append(System.lineSeparator());
-      }
+
 
       for (Map.Entry<String, List<Map<String, String>>> repo : repos.entrySet()) {
         builder.append("Operating system: ").append(repo.getKey());
-        builder.append(System.lineSeparator());
+        builder.append("(");
         for (Map<String, String> properties : repo.getValue()) {
-          builder.append("    Repository ID(").append(properties.get("repo_id"));
+          builder.append("Repository ID(").append(properties.get("repo_id"));
           builder.append("), Repository name(").append(properties.get("repo_name"));
           builder.append("), Base url(").append(properties.get("base_url")).append(")");
-          builder.append(System.lineSeparator());
+          builder.append(")");
         }
       }
 
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java
index 5b2ceca8bb..a49215fef8 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java
@@ -80,28 +80,30 @@ public class ClusterPrivilegeChangeRequestAuditEvent extends RequestAuditEvent {
       roleSet.addAll(roles.keySet());
 
       builder.append(", Roles(");
-      if (!users.isEmpty() || !groups.isEmpty()|| !roles.isEmpty()) {
-        builder.append(System.lineSeparator());
-      }
+
 
       List<String> lines = new LinkedList<>();
 
       for (String role : roleSet) {
-        lines.add(role + ": ");
+        List<String>  tmpLines = new LinkedList<>();
+        lines.add(role + ": [");
         if (users.get(role) != null && !users.get(role).isEmpty()) {
-          lines.add("  Users: " + StringUtils.join(users.get(role), ", "));
+          tmpLines.add("Users: " + StringUtils.join(users.get(role), ", "));
         }
         if (groups.get(role) != null && !groups.get(role).isEmpty()) {
-          lines.add("  Groups: " + StringUtils.join(groups.get(role), ", "));
+          tmpLines.add("Groups: " + StringUtils.join(groups.get(role), ", "));
         }
         if (roles.get(role) != null && !roles.get(role).isEmpty()) {
-          lines.add("  Roles: " + StringUtils.join(roles.get(role), ", "));
+          tmpLines.add("Roles: " + StringUtils.join(roles.get(role), ", "));
         }
+        lines.add(StringUtils.join(tmpLines, ";"));
+        lines.add("] ");
       }
 
-      builder.append(StringUtils.join(lines, System.lineSeparator()));
+      builder.append(StringUtils.join(lines, ""));
 
       builder.append(")");
+
     }
 
     public ClusterPrivilegeChangeRequestAuditEventBuilder withUsers(Map<String, List<String>> users) {
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java
index 2fdb3ef436..7aaf928864 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ViewPrivilegeChangeRequestAuditEvent.java
@@ -101,26 +101,26 @@ public class ViewPrivilegeChangeRequestAuditEvent extends RequestAuditEvent {
       roleSet.addAll(roles.keySet());
 
       builder.append(", Permissions(");
-      if (!users.isEmpty() || !groups.isEmpty() || !roles.isEmpty()) {
-        builder.append(System.lineSeparator());
-      }
 
       List<String> lines = new LinkedList<>();
 
       for (String role : roleSet) {
-        lines.add(role + ": ");
+        List<String>  tmpLines = new LinkedList<>();
+        lines.add(role + ": [");
         if (users.get(role) != null && !users.get(role).isEmpty()) {
-          lines.add("  Users: " + StringUtils.join(users.get(role), ", "));
+          tmpLines.add("Users: " + StringUtils.join(users.get(role), ", "));
         }
         if (groups.get(role) != null && !groups.get(role).isEmpty()) {
-          lines.add("  Groups: " + StringUtils.join(groups.get(role), ", "));
+          tmpLines.add("Groups: " + StringUtils.join(groups.get(role), ", "));
         }
         if (roles.get(role) != null && !roles.get(role).isEmpty()) {
-          lines.add("  Roles: " + StringUtils.join(roles.get(role), ", "));
+          tmpLines.add("Roles: " + StringUtils.join(roles.get(role), ", "));
         }
+        lines.add(StringUtils.join(tmpLines, ";"));
+        lines.add("] ");
       }
 
-      builder.append(StringUtils.join(lines, System.lineSeparator()));
+      builder.append(StringUtils.join(lines, ""));
 
       builder.append(")");
     }
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java
index b2ab7cc0cd..39b96ae224 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/LoginAuditEventTest.java
@@ -55,7 +55,7 @@ public class LoginAuditEventTest {
     // When
     String actualAuditMessage = evnt.getAuditMessage();
 
-    String roleMessage = System.lineSeparator() + "    a: r1, r2, r3" + System.lineSeparator();
+    String roleMessage =  "a: r1, r2, r3";
 
     // Then
     String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(User login), Roles(%s), Status(Success)",
@@ -74,7 +74,7 @@ public class LoginAuditEventTest {
     // When
     actualAuditMessage = evnt.getAuditMessage();
 
-    roleMessage = System.lineSeparator() + "    a: r1, r2, r3" + System.lineSeparator();
+    roleMessage = "a: r1, r2, r3";
 
     // Then
     expectedAuditMessage = String.format("User(%s), RemoteIp(%s), ProxyUser(%s), Operation(User login), Roles(%s), Status(Success)",
@@ -109,7 +109,7 @@ public class LoginAuditEventTest {
     // When
     String actualAuditMessage = evnt.getAuditMessage();
 
-    String roleMessage = System.lineSeparator() + "    a: r1, r2, r3" + System.lineSeparator();
+    String roleMessage =  "a: r1, r2, r3" ;
 
     // Then
     String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(%d)",
@@ -130,7 +130,7 @@ public class LoginAuditEventTest {
     // When
     actualAuditMessage = evnt.getAuditMessage();
 
-    roleMessage = System.lineSeparator() + "    a: r1, r2, r3" + System.lineSeparator();
+    roleMessage = "a: r1, r2, r3" ;
 
     // Then
     expectedAuditMessage = String.format("User(%s), RemoteIp(%s), ProxyUser(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(%d)",
@@ -164,7 +164,7 @@ public class LoginAuditEventTest {
     // When
     String actualAuditMessage = evnt.getAuditMessage();
 
-    String roleMessage = System.lineSeparator() + "    a: r1, r2, r3" + System.lineSeparator();
+    String roleMessage = "a: r1, r2, r3" ;
 
     // Then
     String expectedAuditMessage = String.format("User(%s), RemoteIp(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(UNKNOWN USER)",
@@ -185,7 +185,7 @@ public class LoginAuditEventTest {
     // When
     actualAuditMessage = evnt.getAuditMessage();
 
-    roleMessage = System.lineSeparator() + "    a: r1, r2, r3" + System.lineSeparator();
+    roleMessage =  "a: r1, r2, r3";
 
     // Then
     expectedAuditMessage = String.format("User(%s), RemoteIp(%s), ProxyUser(%s), Operation(User login), Roles(%s), Status(Failed), Reason(%s), Consecutive failures(UNKNOWN USER)",
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java
index 84d6dc9772..41c291a92b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java
@@ -96,12 +96,12 @@ public class PrivilegeEventCreatorTest extends AuditEventCreatorTestBase{
     AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result);
 
     String actual = event.getAuditMessage();
-    String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Role change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Roles(\n" +
-      "Permission1: \n" +
-      "  Users: " + userName + "\n" +
-      "  Groups: testgroup\n" +
-      "Permission2: \n" +
-      "  Users: " + userName + "2)";
+    String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Role change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Roles(" +
+      "Permission1: [" +
+      "Users: " + userName + ";" +
+      "Groups: testgroup]" +
+      " Permission2: [" +
+      "Users: " + userName + "2] )";
 
     Assert.assertTrue("Class mismatch", event instanceof ClusterPrivilegeChangeRequestAuditEvent);
     Assert.assertEquals(expected, actual);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java
index e4d1d4711c..38c88b5979 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/RepositoryVersionEventCreatorTest.java
@@ -59,11 +59,11 @@ public class RepositoryVersionEventCreatorTest extends AuditEventCreatorTestBase
     AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result);
 
     String actual = event.getAuditMessage();
-    String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version addition), RequestType(POST), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(\n" +
-      "Operating system: redhat6\n" +
-      "    Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com)\n" +
-      "Operating system: redhat7\n" +
-      "    Repository ID(1), Repository name(MyRepo), Base url(http://example.com)\n" +
+    String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version addition), RequestType(POST), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(" +
+      "Operating system: redhat6(" +
+      "Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com))" +
+      "Operating system: redhat7(" +
+      "Repository ID(1), Repository name(MyRepo), Base url(http://example.com))" +
       ")";
 
     Assert.assertTrue("Class mismatch", event instanceof AddRepositoryVersionRequestAuditEvent);
@@ -89,11 +89,11 @@ public class RepositoryVersionEventCreatorTest extends AuditEventCreatorTestBase
     AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result);
 
     String actual = event.getAuditMessage();
-    String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(\n" +
-      "Operating system: redhat6\n" +
-      "    Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com)\n" +
-      "Operating system: redhat7\n" +
-      "    Repository ID(1), Repository name(MyRepo), Base url(http://example.com)\n" +
+    String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Repository version change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Stack(StackName), Stack version(1.9), Display name(MyStack), Repo version(1.2-56), Repositories(" +
+      "Operating system: redhat6(" +
+      "Repository ID(2), Repository name(MyRepo6), Base url(http://example6.com))" +
+      "Operating system: redhat7(" +
+      "Repository ID(1), Repository name(MyRepo), Base url(http://example.com))" +
       ")";
 
     Assert.assertTrue("Class mismatch", event instanceof ChangeRepositoryVersionRequestAuditEvent);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java
index 121513931f..a2cf86fa2b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java
@@ -74,12 +74,12 @@ public class ViewPrivilegeEventCreatorTest extends AuditEventCreatorTestBase{
     AuditEvent event = AuditEventCreatorTestHelper.getEvent(creator, request, result);
 
     String actual = event.getAuditMessage();
-    String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(View permission change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Type(MyView), Version(MyView), Name(MyView), Permissions(\n" +
-      "Permission1: \n" +
-      "  Users: testuser\n" +
-      "  Groups: testgroup\n" +
-      "Permission2: \n" +
-      "  Users: testuser2)";
+    String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(View permission change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Type(MyView), Version(MyView), Name(MyView), Permissions(" +
+      "Permission1: [" +
+      "Users: testuser;" +
+      "Groups: testgroup]" +
+      " Permission2: [" +
+      "Users: testuser2] )";
 
     Assert.assertTrue("Class mismatch", event instanceof ViewPrivilegeChangeRequestAuditEvent);
     Assert.assertEquals(expected, actual);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ambari.apache.org
For additional commands, e-mail: commits-help@ambari.apache.org