Sto provando a utilizzare Elasticsearch per l'archiviazione dei dati per una funzione Lambda collegata a Alexa Skills Kit. La Lambda funziona bene senza Elasticsearch ma ES fornisce una corrispondenza fuzzy tanto necessaria.Autorizzazioni per accedere a ElasticSearch da Lambda?
L'unico modo in cui sono riuscito ad accedervi da Lambda è abilitando l'accesso globale a Elasticsearch, ma questa è una pessima idea. Sono anche stato in grado di accedere dal mio computer tramite criteri di accesso aperto o criteri di indirizzo IP. C'è un modo per fare l'accesso in sola lettura tramite Lambda e leggere e scrivere tramite IP?
Su IAM ho concesso il mio ruolo Lambda AmazonESReadOnlyAccess. Sul lato ES Ho provato questo ma ha funzionato solo per l'indirizzo IP:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::NUMBER:root",
"arn:aws:iam::NUMBER:role/lambda_basic_execution"
]
},
"Action": "es:*",
"Resource": "arn:aws:es:us-east-1:NUMBER:domain/NAME/*"
},
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "arn:aws:es:us-east-1:NUMBER:domain/NAME/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "MY IP"
}
}
}
]
}
Questa forum post chiede la stessa domanda, ma è rimasta senza risposta.
Is [questo] (https://github.com/DavidMuller/aws-requests- auth) il modulo che intendi? Inoltre, il mio setup sembra giusto altrimenti per provare a fare un ibrido di IAM e IP? – Keith
Ho aggiornato la risposta con un collegamento al progetto a cui mi riferivo. – garnaat
Ok le cose funzionano per lo più adesso. Non riuscivo a capire un modo per fare l'autenticazione con il ruolo Lambda, ma invece utilizzavo un utente dedicato. L'unico problema è che non riesco più ad accedere a Kibana dal mio browser, ma non è un grosso problema. – Keith