Skip to content
This repository was archived by the owner on Feb 26, 2021. It is now read-only.

Feature/elasticsearch authentication - #164

Open
rfelber wants to merge 39 commits into
masterfrom
feature/elastic-authentication
Open

Feature/elasticsearch authentication#164
rfelber wants to merge 39 commits into
masterfrom
feature/elastic-authentication

Conversation

@rfelber

Copy link
Copy Markdown
Member

@rfelberrfelber added the elasticsearch Changes to the Elasticsearch Integration label Apr 16, 2020
@rfelber
rfelber marked this pull request as draft April 16, 2020 19:36
@rfelberrfelber changed the title Feature/elasticsearch authentication (WIP / Draft)Feature/elasticsearch authenticationApr 16, 2020
@rfelber
rfelber marked this pull request as ready for review April 17, 2020 07:42
@J12934
J12934 self-requested a review April 17, 2020 08:25
@J12934

Copy link
Copy Markdown
Member

Have you tested out the compatability of the changes with both elasticsearch 6.x and 7.x?

@rfelber

Copy link
Copy Markdown
MemberAuthor

I testet this PR with elasticsearch v.7.x but not with v.6.x

@J12934

Copy link
Copy Markdown
Member

Tried it out with kibana 6.x seems to be crashing while trying to look for the dashboards/ kibana index, see logs below.

Error Logs
2020-04-20 10:56:50.008 INFO 6 --- [aTaskExecutor-2] i.s.p.e.ElasticSearchPersistenceProvider : Initializing ElasticSearchPersistenceProvider
2020-04-20 10:56:50.018 INFO 6 --- [aTaskExecutor-2] i.s.p.e.ElasticSearchPersistenceProvider : No elasticsearch authentication configured. Trying to connect without authentication
2020-04-20 10:56:51.361 WARN 6 --- [aTaskExecutor-2] org.elasticsearch.client.RestClient : request [PUT http://persistence-elasticsearch:9200/securecodebox_localhost_2020-04-20?master_timeout=30s&include_type_name=true&timeout=30s] returned 1 warnings: [299 Elasticsearch-6.8.6-3d9f765 "the default number of shards will change from [5] to [1] in 7.0.0; if you wish to continue using the default of [5] shards, you must manage this on the create index request or with an index template"]
2020-04-20 10:56:52.303 ERROR 6 --- [aTaskExecutor-2] i.s.s.delegate.SummaryGeneratorDelegate : Unexpected Error while trying to init a persistence provider!
org.elasticsearch.ElasticsearchStatusException: Elasticsearch exception [type=illegal_argument_exception, reason=request [/.kibana/_search] contains unrecognized parameter: [ccs_minimize_roundtrips]]
at org.elasticsearch.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:177) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:1793) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:1770) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1527) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1484) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1454) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:970) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at io.securecodebox.persistence.elasticsearch.ElasticSearchPersistenceProvider.initializeKibana(ElasticSearchPersistenceProvider.java:467) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at io.securecodebox.persistence.elasticsearch.ElasticSearchPersistenceProvider.init(ElasticSearchPersistenceProvider.java:155) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at io.securecodebox.persistence.elasticsearch.ElasticSearchPersistenceProvider.persist(ElasticSearchPersistenceProvider.java:224) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at io.securecodebox.scanprocess.delegate.SummaryGeneratorDelegate.persist(SummaryGeneratorDelegate.java:90) [sdk-0.0.1-SNAPSHOT.jar!/:na]
at io.securecodebox.scanprocess.delegate.SummaryGeneratorDelegate.execute(SummaryGeneratorDelegate.java:72) [sdk-0.0.1-SNAPSHOT.jar!/:na]
at org.camunda.bpm.engine.impl.bpmn.delegate.JavaDelegateInvocation.invoke(JavaDelegateInvocation.java:39) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:57) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocationInContext(DefaultDelegateInterceptor.java:90) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:62) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.bpmn.behavior.ServiceTaskDelegateExpressionActivityBehavior$3.call(ServiceTaskDelegateExpressionActivityBehavior.java:117) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.bpmn.behavior.ServiceTaskDelegateExpressionActivityBehavior$3.call(ServiceTaskDelegateExpressionActivityBehavior.java:101) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.bpmn.behavior.AbstractBpmnActivityBehavior.executeWithErrorPropagation(AbstractBpmnActivityBehavior.java:110) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.bpmn.behavior.ServiceTaskDelegateExpressionActivityBehavior.performExecution(ServiceTaskDelegateExpressionActivityBehavior.java:126) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.bpmn.behavior.TaskActivityBehavior.execute(TaskActivityBehavior.java:68) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationActivityExecute$2.callback(PvmAtomicOperationActivityExecute.java:60) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationActivityExecute$2.callback(PvmAtomicOperationActivityExecute.java:49) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl.continueIfExecutionDoesNotAffectNextOperation(PvmExecutionImpl.java:1988) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationActivityExecute.execute(PvmAtomicOperationActivityExecute.java:41) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationActivityExecute.execute(PvmAtomicOperationActivityExecute.java:30) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.AtomicOperationInvocation.execute(AtomicOperationInvocation.java:95) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.invokeNext(CommandInvocationContext.java:127) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:107) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:82) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:640) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:614) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl$6.callback(PvmExecutionImpl.java:1927) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl$6.callback(PvmExecutionImpl.java:1924) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl.continueExecutionIfNotCanceled(PvmExecutionImpl.java:1994) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl.dispatchDelayedEventsAndPerformOperation(PvmExecutionImpl.java:1943) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl.dispatchDelayedEventsAndPerformOperation(PvmExecutionImpl.java:1924) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(PvmAtomicOperationTransitionNotifyListenerStart.java:60) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(PvmAtomicOperationTransitionNotifyListenerStart.java:30) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.core.operation.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:67) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.AtomicOperationInvocation.execute(AtomicOperationInvocation.java:95) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.invokeNext(CommandInvocationContext.java:127) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:107) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:82) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:72) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:649) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:624) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.core.operation.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:60) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.AtomicOperationInvocation.execute(AtomicOperationInvocation.java:95) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.invokeNext(CommandInvocationContext.java:127) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:107) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:82) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:72) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:649) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:624) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.core.operation.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:60) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.AtomicOperationInvocation.execute(AtomicOperationInvocation.java:95) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.invokeNext(CommandInvocationContext.java:127) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:107) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:82) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:640) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:614) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationTransitionCreateScope.scopeCreated(PvmAtomicOperationTransitionCreateScope.java:37) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationCreateScope.execute(PvmAtomicOperationCreateScope.java:53) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationCreateScope.execute(PvmAtomicOperationCreateScope.java:27) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.AtomicOperationInvocation.execute(AtomicOperationInvocation.java:95) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.invokeNext(CommandInvocationContext.java:127) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:114) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext$1.call(CommandInvocationContext.java:98) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext$1.call(CommandInvocationContext.java:96) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.context.ProcessApplicationClassloaderInterceptor.call(ProcessApplicationClassloaderInterceptor.java:47) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.application.AbstractProcessApplication.execute(AbstractProcessApplication.java:117) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.application.AbstractProcessApplication.execute(AbstractProcessApplication.java:128) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.context.Context.executeWithinProcessApplication(Context.java:194) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:96) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:82) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:72) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.jobexecutor.AsyncContinuationJobHandler.execute(AsyncContinuationJobHandler.java:80) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.jobexecutor.AsyncContinuationJobHandler.execute(AsyncContinuationJobHandler.java:39) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.persistence.entity.JobEntity.execute(JobEntity.java:138) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.cmd.ExecuteJobsCmd.execute(ExecuteJobsCmd.java:102) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.cmd.ExecuteJobsCmd.execute(ExecuteJobsCmd.java:39) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:27) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:106) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:45) [camunda-engine-spring-7.10.0.jar!/:7.10.0]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) [spring-tx-5.2.2.RELEASE.jar!/:5.2.2.RELEASE]
at org.camunda.bpm.engine.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:43) [camunda-engine-spring-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:69) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.jobexecutor.ExecuteJobHelper.executeJob(ExecuteJobHelper.java:50) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.jobexecutor.ExecuteJobHelper.executeJob(ExecuteJobHelper.java:43) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.jobexecutor.ExecuteJobsRunnable.executeJob(ExecuteJobsRunnable.java:91) [camunda-engine-7.10.0.jar!/:7.10.0]
at org.camunda.bpm.engine.impl.jobexecutor.ExecuteJobsRunnable.run(ExecuteJobsRunnable.java:60) [camunda-engine-7.10.0.jar!/:7.10.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]
Suppressed: org.elasticsearch.client.ResponseException: method [POST], host [http://persistence-elasticsearch:9200], URI [/.kibana/_search?pre_filter_shard_size=128&typed_keys=true&max_concurrent_shard_requests=5&ignore_unavailable=false&expand_wildcards=open&allow_no_indices=true&ignore_throttled=true&search_type=query_then_fetch&batched_reduce_size=512&ccs_minimize_roundtrips=true], status line [HTTP/1.1 400 Bad Request]
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"request [/.kibana/_search] contains unrecognized parameter: [ccs_minimize_roundtrips]"}],"type":"illegal_argument_exception","reason":"request [/.kibana/_search] contains unrecognized parameter: [ccs_minimize_roundtrips]"},"status":400}
at org.elasticsearch.client.RestClient.convertResponse(RestClient.java:283) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:261) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:235) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1514) ~[elasticsearch-persistenceprovider-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
... 92 common frames omitted

Setting SECURECODEBOX_PERSISTENCE_ELASTICSEARCH_KIBANA_INITIALIZE to false doesn't seem to help, as it is already crashing at the indexExists check:

if (indexExists(indexName)) {
initialized = true;
// Check if Kibana should be initialized with some default default security dashboards
if(initializeKibana) {
initializeKibana();
}
}

@rfelber

rfelber commented Apr 20, 2020

Copy link
Copy Markdown
MemberAuthor

That makes sense... The kibana initialize step is seperated from the elasticsearch index initialize step. A second config option could help us here to seperate this: SECURECODEBOX_PERSISTENCE_ELASTICSEARCH_ELASTICSEARCH_INITIALIZE=true|false.

An we could think about supporting different versions:
SECURECODEBOX_PERSISTENCE_ELASTICSEARCH_VERSION = 6|7|8

snyk-botand others added 15 commits April 20, 2020 23:29
…e13ad7ae512f1032927
[Snyk] Upgrade com.amazonaws:aws-java-sdk-s3 from 1.11.728 to 1.11.754
…eBox/engine into feature/elastic-authentication
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

elasticsearchChanges to the Elasticsearch Integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extend the elasticsearch persistenceProvider with authentication methods

3 participants

@rfelber@J12934@snyk-bot