There are 3 different ways to connect with authentication: with username/password, Azure AD or Amazon Web Services (AWS).
To connect to an Elasticsearch with basic authentication you will need to encrypt your password and add the right values to the configuration.
Follow the next steps:
In a terminal run, in Saga's root folder.
Code Block | ||||
---|---|---|---|---|
| ||||
java -jar bin/saga-secure-<version>.jar -ep=<password> -config="config/config.json" |
Update "providers"
Saga_json |
---|
"providers": [
{
"name": "filesystem-provider",
"type": "FileSystem",
"baseDir": "./config"
},
{
"name": "saga-provider",
"type": "Elastic",
"indexName": "saga",
"nodeUrls": ["http://localhost:9200"],
"authentication":"none"
"user": "<username>",
"password": "<path_to_pwd_file>",
"timestamp": "updatedAt",
"exclude": [
"updatedAt",
"createdAt"
]
} |
Update "solutions"
Saga_json |
---|
"solutions": [ { "display": "Saga", "elasticSearch": { "nodeUrls": ["http://localhost:9200"], "indexName": "saga", "user": "<username>", "password": "<path_to_pwd_file>", "timeout": 30, "delay": 5, "retries": 3 } } ] |
...
Update the Saga's config file (the one within the Aspire configuration folder) to reflect the relative path of those files:
Saga_json |
---|
{ "config": { "security": { "encryptionKeyFile": "./bin/saga.ek" }, "libraryJars": [ "./lib" ], ... "providers": [ { "name": "filesystem-provider", "type": "FileSystem", "baseDir": "./config" }, { "name": "saga-provider", "type": "Elastic", "indexName": "saga", "nodeUrls": [ "http://localhost:9200" ], "user": "<user>", "password": "./bin/pwd.txt", "timestamp": "updatedAt", "exclude": [ "updatedAt", "createdAt" ], "maxResults": 2000000 } ] } |
To connect to an Elasticsearch with AWS authentication you will need to set your Amazon Web Services credentials locally as environmental variables or get them from the ECS or EC2 credentials.
Follow the next steps:
Info | ||
---|---|---|
| ||
SagaElasticIndexer gets the credentials automatically by getting the credentials file. That is why you only need to specify region and service in the config file which is below this note. |
Update "providers" using authentication factor as "aws".
Saga_json |
---|
"providers": [
{
"name": "filesystem-provider",
"type": "FileSystem",
"baseDir": "./config"
},
{
"name": "saga-provider",
"type": "Elastic",
"indexName": "saga",
"nodeUrls": ["http://localhost:9200"],
"authentication":"aws",
"service": "<aws_service>",
"region": "<region_where_the_aws_service_is_located>"
"timestamp": "updatedAt",
"exclude": [
"updatedAt",
"createdAt"
]
} |
Update "solutions" using authentication factor as "aws".
Saga_json |
---|
"solutions": [
{
"display": "Saga",
"elasticSearch": {
"nodeUrls": ["http://localhost:9200"],
"indexName": "saga",
"authentication":"aws",
"service": "<aws_service>",
"region": "<region_where_the_aws_service_is_located>",
"timeout": 30,
"delay": 5,
"retries": 3
}
}
] |
Content by Label | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...