Tôi đang cố gắng sử dụng Elasticsearch để lưu trữ dữ liệu cho một hàm Lambda được kết nối với Bộ kỹ năng Alexa. Lambda hoạt động hoàn toàn không có Elasticsearch nhưng ES cung cấp kết hợp mờ rất cần thiết.Quyền truy cập ElasticSearch từ Lambda?
Cách duy nhất tôi có thể truy cập từ Lambda là bật truy cập toàn cầu của Elasticsearch nhưng đó thực sự là một ý tưởng tồi. Tôi cũng có thể truy cập từ máy tính của mình thông qua chính sách truy cập mở hoặc chính sách địa chỉ IP. Có cách nào để truy cập chỉ đọc thông qua Lambda và đọc-ghi qua IP?
Vào IAM, tôi đã cấp vai trò Lambda của mình AmazonESReadOnlyAccess. Về phía ES tôi đã thử điều này nhưng nó chỉ làm việc cho địa chỉ 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"
}
}
}
]
}
forum post này hỏi cùng một câu hỏi nhưng không được trả lời.
là [này] (https://github.com/DavidMuller/aws-requests- auth) mô-đun bạn ngụ ý? Ngoài ra không thiết lập của tôi nhìn bên phải nếu không cố gắng để làm một lai của IAM và IP? – Keith
Tôi đã cập nhật câu trả lời bằng một liên kết đến dự án mà tôi đang đề cập đến. – garnaat
Ok có những thứ chủ yếu hoạt động ngay bây giờ. Tôi không thể tìm ra cách để làm auth với vai trò Lambda nhưng thay vì sử dụng một người dùng chuyên dụng. Vấn đề duy nhất là tôi không thể truy cập Kibana từ trình duyệt của tôi nữa nhưng đó không phải là một vấn đề lớn. – Keith