You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ma...@apache.org on 2022/07/21 00:40:24 UTC
[atlas] branch master updated: ATLAS-3422: Cassandra audit repository updated to support authenticated Cassandra cluster
This is an automated email from the ASF dual-hosted git repository.
madhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/atlas.git
The following commit(s) were added to refs/heads/master by this push:
new e156bb567 ATLAS-3422: Cassandra audit repository updated to support authenticated Cassandra cluster
e156bb567 is described below
commit e156bb56756aaa6ed23af41c4305b3f9d4bb5912
Author: Arun Vasudevan <av...@homeaway.com>
AuthorDate: Tue Sep 24 14:37:35 2019 -0500
ATLAS-3422: Cassandra audit repository updated to support authenticated Cassandra cluster
Signed-off-by: Madhan Neethiraj <ma...@apache.org>
---
distro/src/conf/atlas-application.properties | 2 ++
.../atlas/repository/audit/CassandraBasedAuditRepository.java | 8 +++++++-
.../atlas/repository/audit/CassandraAuditRepositoryTest.java | 5 +++++
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/distro/src/conf/atlas-application.properties b/distro/src/conf/atlas-application.properties
index e06e74a26..e96f58a8d 100755
--- a/distro/src/conf/atlas-application.properties
+++ b/distro/src/conf/atlas-application.properties
@@ -35,6 +35,8 @@
# See the configuration documentation for more information about configuring the various storage backends.
#
atlas.graph.storage.backend=${graph.storage.backend}
+atlas.graph.storage.username=
+atlas.graph.storage.password=
atlas.graph.storage.hbase.table=apache_atlas_janus
${graph.storage.properties}
diff --git a/repository/src/main/java/org/apache/atlas/repository/audit/CassandraBasedAuditRepository.java b/repository/src/main/java/org/apache/atlas/repository/audit/CassandraBasedAuditRepository.java
index 4037ac206..1f9174e2e 100644
--- a/repository/src/main/java/org/apache/atlas/repository/audit/CassandraBasedAuditRepository.java
+++ b/repository/src/main/java/org/apache/atlas/repository/audit/CassandraBasedAuditRepository.java
@@ -69,6 +69,8 @@ public class CassandraBasedAuditRepository extends AbstractStorageBasedAuditRepo
public static final String CASSANDRA_PORT_PROPERTY = "atlas.graph.storage.port";
public static final String CASSANDRA_REPLICATION_FACTOR_PROPERTY = "atlas.EntityAuditRepository.replicationFactor";
public static final String CASSANDRA_AUDIT_KEYSPACE_PROPERTY = "atlas.EntityAuditRepository.keyspace";
+ public static final String CASSANDRA_USERNAME_PROPERTY = "atlas.graph.storage.username";
+ public static final String CASSANDRA_PASSWORD_PROPERTY = "atlas.graph.storage.password";
private static final String AUDIT_TABLE_SCHEMA =
"CREATE TABLE audit(entityid text, "
@@ -97,6 +99,8 @@ public class CassandraBasedAuditRepository extends AbstractStorageBasedAuditRepo
private Session cassSession;
private String clusterName;
private int port;
+ private String username;
+ private String password;
private Map<String, List<String>> auditExcludedAttributesCache = new HashMap<>();
private PreparedStatement insertStatement;
@@ -211,6 +215,8 @@ public class CassandraBasedAuditRepository extends AbstractStorageBasedAuditRepo
replicationFactor = APPLICATION_PROPERTIES.getInt(CASSANDRA_REPLICATION_FACTOR_PROPERTY, DEFAULT_REPLICATION_FACTOR);
clusterName = APPLICATION_PROPERTIES.getString(CASSANDRA_CLUSTERNAME_PROPERTY, DEFAULT_CLUSTER_NAME);
port = APPLICATION_PROPERTIES.getInt(CASSANDRA_PORT_PROPERTY, DEFAULT_PORT);
+ username = APPLICATION_PROPERTIES.getString(CASSANDRA_USERNAME_PROPERTY, "");
+ password = APPLICATION_PROPERTIES.getString(CASSANDRA_PASSWORD_PROPERTY, "");
}
@VisibleForTesting
@@ -222,7 +228,7 @@ public class CassandraBasedAuditRepository extends AbstractStorageBasedAuditRepo
Cluster.Builder cassandraClusterBuilder = Cluster.builder();
String hostname = APPLICATION_PROPERTIES.getString(CASSANDRA_HOSTNAME_PROPERTY, "localhost");
- Cluster cluster = cassandraClusterBuilder.addContactPoint(hostname).withClusterName(clusterName).withPort(port).build();
+ Cluster cluster = cassandraClusterBuilder.addContactPoint(hostname).withClusterName(clusterName).withPort(port).withCredentials(username.trim(), password.trim()).build();
try {
cassSession = cluster.connect();
if (cluster.getMetadata().getKeyspace(keyspace) == null) {
diff --git a/repository/src/test/java/org/apache/atlas/repository/audit/CassandraAuditRepositoryTest.java b/repository/src/test/java/org/apache/atlas/repository/audit/CassandraAuditRepositoryTest.java
index 26d3a6042..6d28ada6e 100644
--- a/repository/src/test/java/org/apache/atlas/repository/audit/CassandraAuditRepositoryTest.java
+++ b/repository/src/test/java/org/apache/atlas/repository/audit/CassandraAuditRepositoryTest.java
@@ -38,6 +38,8 @@ public class CassandraAuditRepositoryTest extends AuditRepositoryTestBase {
private final String CLUSTER_HOST = "localhost";
private final String CLUSTER_NAME_TEST = "Test Cluster";
private final int CLUSTER_PORT = 9042;
+ private final String CLUSTER_USERNAME = "";
+ private final String CLUSTER_PASSWORD = "";
@BeforeClass
public void setup() {
@@ -61,6 +63,8 @@ public class CassandraAuditRepositoryTest extends AuditRepositoryTestBase {
props.put(CassandraBasedAuditRepository.CASSANDRA_CLUSTERNAME_PROPERTY, CLUSTER_NAME_TEST);
props.put(CassandraBasedAuditRepository.CASSANDRA_HOSTNAME_PROPERTY, CLUSTER_HOST);
props.put(CassandraBasedAuditRepository.CASSANDRA_PORT_PROPERTY, CLUSTER_PORT);
+ props.put(CassandraBasedAuditRepository.CASSANDRA_USERNAME_PROPERTY, CLUSTER_USERNAME);
+ props.put(CassandraBasedAuditRepository.CASSANDRA_PASSWORD_PROPERTY, CLUSTER_PASSWORD);
return props;
}
@@ -69,6 +73,7 @@ public class CassandraAuditRepositoryTest extends AuditRepositoryTestBase {
Cluster.Builder cassandraClusterBuilder = Cluster.builder();
Cluster cluster =
cassandraClusterBuilder.addContactPoint(CLUSTER_HOST).withClusterName(CLUSTER_NAME_TEST).withPort(CLUSTER_PORT)
+ .withCredentials(CLUSTER_USERNAME.trim(), CLUSTER_PASSWORD.trim())
.build();
int retryCount = 0;