diff --git a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchService.java b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchService.java
index d7207e433215e4bbdbf7a5254b0aa9d16dfbee09..3d6a0c8f2144b33a5210685c699d85765ffbf879 100644
--- a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchService.java
+++ b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchService.java
@@ -61,10 +61,7 @@ public class OzgCloudElasticsearchService {
 	}
 
 	public void createSecurityRoleIfMissing(String roleName) throws Exception {
-		LOG.debug("{}: Check elasticsearch role...", roleName);
-		if (!remoteService.existsSecurityRole(roleName)) {
-			remoteService.createSecurityRole(buildPutRoleRequestData(roleName));
-		}
+		remoteService.createOrUpdateSecurityRole(buildPutRoleRequestData(roleName));
 	}
 
 	PutRoleRequestData buildPutRoleRequestData(String roleName) {
@@ -76,10 +73,7 @@ public class OzgCloudElasticsearchService {
 	}
 
 	public void createSecurityUserIfMissing(String namespace, String password) throws Exception {
-		LOG.debug("{}: Check elasticsearch user...", namespace);
-		if (!remoteService.existsSecurityUser(namespace)) {
-			remoteService.createSecurityUser(buildPutUserRequestData(namespace, password));
-		}
+		remoteService.createOrUpdateSecurityUser(buildPutUserRequestData(namespace, password));
 	}
 
 	PutUserRequestData buildPutUserRequestData(String namespace, String password) {
diff --git a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchRemoteService.java b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchRemoteService.java
index 12c4c5db85dff6deeb1d815386f13b54823d6b38..958c9f03801f39306a94a4e4097067dede362cce 100644
--- a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchRemoteService.java
+++ b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchRemoteService.java
@@ -46,11 +46,11 @@ public class ElasticsearchRemoteService {
 		return !client.security().getRole(builder -> builder.name(roleName)).result().isEmpty();
 	}
 
-	public void createSecurityRole(PutRoleRequestData requestData) throws Exception {
+	public void createOrUpdateSecurityRole(PutRoleRequestData requestData) throws Exception {
 		try {
-			LOG.info("{}: Create elasticsearch role ", requestData.getName());
+			LOG.info("{}: Create or update elasticsearch role ", requestData.getName());
 			client.security().putRole(createPutRoleRequest(requestData));
-			LOG.info("{}: Create elasticsearch role successful", requestData.getName());
+			LOG.info("{}: Create or update elasticsearch role successful", requestData.getName());
 		} catch (Exception e) {
 			throw new RuntimeException("Create elasticsearch role " + requestData.getName() + "failed.", e);
 		}
@@ -78,11 +78,11 @@ public class ElasticsearchRemoteService {
 		return !client.security().getUser(builder -> builder.username(userName)).result().isEmpty();
 	}
 
-	public void createSecurityUser(PutUserRequestData requestData) throws Exception {
+	public void createOrUpdateSecurityUser(PutUserRequestData requestData) throws Exception {
 		try {
-			LOG.info("{}: Create elasticsearch user", requestData.getUsername());
+			LOG.info("{}: Create or update elasticsearch user", requestData.getUsername());
 			client.security().putUser(createPutUserRequest(requestData));
-			LOG.info("{}: Create elasticsearch user successful", requestData.getUsername());
+			LOG.info("{}: Create or update elasticsearch user successful", requestData.getUsername());
 		} catch (Exception e) {
 			throw new RuntimeException("Create elasticsearch user " + requestData.getUsername() + "failed.", e);
 		}
diff --git a/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/OzgCloudElasticsearchServiceTest.java b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/OzgCloudElasticsearchServiceTest.java
index 8d0c3734879f08925a6dce3fa0fcc6ee97dc711d..e9ac1e2d7e2af811c2fc5bb5f02a23f16291124a 100644
--- a/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/OzgCloudElasticsearchServiceTest.java
+++ b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/OzgCloudElasticsearchServiceTest.java
@@ -139,23 +139,14 @@ class OzgCloudElasticsearchServiceTest {
 
 		private final PutRoleRequestData putRoleRequest = PutRoleRequestDataTestFactory.create();
 
-		@SneakyThrows
-		@Test
-		void shouldCheckIfSecurityRoleExists() {
-			service.createSecurityRoleIfMissing(NAMESPACE);
-
-			verify(remoteService).existsSecurityRole(NAMESPACE);
-		}
-
 		@SneakyThrows
 		@Test
 		void shouldCreateSecurityRoleIfMissing() {
-			when(remoteService.existsSecurityRole(any())).thenReturn(false);
 			doReturn(putRoleRequest).when(service).buildPutRoleRequestData(any());
 
 			service.createSecurityRoleIfMissing(NAMESPACE);
 
-			verify(remoteService).createSecurityRole(putRoleRequest);
+			verify(remoteService).createOrUpdateSecurityRole(putRoleRequest);
 		}
 
 		@DisplayName("create put role request data")
@@ -200,23 +191,14 @@ class OzgCloudElasticsearchServiceTest {
 
 		private final PutUserRequestData putUserRequestData = PutUserRequestDataTestFactory.create();
 
-		@SneakyThrows
-		@Test
-		void shouldCheckIfSecurityUserExists() {
-			service.createSecurityUserIfMissing(NAMESPACE, PutUserRequestDataTestFactory.PASSWORD);
-
-			verify(remoteService).existsSecurityUser(NAMESPACE);
-		}
-
 		@SneakyThrows
 		@Test
 		void shouldCreateSecurityUserIfMissing() {
-			when(remoteService.existsSecurityUser(any())).thenReturn(false);
 			doReturn(putUserRequestData).when(service).buildPutUserRequestData(any(), any());
 
 			service.createSecurityUserIfMissing(NAMESPACE, PutUserRequestDataTestFactory.PASSWORD);
 
-			verify(remoteService).createSecurityUser(putUserRequestData);
+			verify(remoteService).createOrUpdateSecurityUser(putUserRequestData);
 		}
 
 		@DisplayName("create put user request data")
diff --git a/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchRemoteServiceITCase.java b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchRemoteServiceITCase.java
index 5ac49af8471222eff42202a3ec63a15a14cd579a..f5914e95c3f53cb8a535ab3677f9cf018eaccbc9 100644
--- a/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchRemoteServiceITCase.java
+++ b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchRemoteServiceITCase.java
@@ -142,7 +142,7 @@ class ElasticsearchRemoteServiceITCase {
 		@SneakyThrows
 		@Test
 		void shouldCreateSecurityRole() {
-			service.createSecurityRole(PutRoleRequestDataTestFactory.create());
+			service.createOrUpdateSecurityRole(PutRoleRequestDataTestFactory.create());
 			
 			assertThat(existsSecurityRole()).isTrue();
 		}
@@ -213,7 +213,7 @@ class ElasticsearchRemoteServiceITCase {
 		@SneakyThrows
 		@Test
 		void shouldCreateSecurityUser() {
-			service.createSecurityUser(PutUserRequestDataTestFactory.create());
+			service.createOrUpdateSecurityUser(PutUserRequestDataTestFactory.create());
 			
 			assertThat(existsSecurityUser()).isTrue();
 		}