5

Sau khi thiết lập AWS Elasticsearch, tôi đã cài đặt proxy Logstash và Kibana trên máy chủ IP tĩnh và thêm chính sách truy cập miền này vào ES và nó hoạt động tốt:Thêm chính sách truy cập tên miền vào dịch vụ AWS Elasticsearch (IP tĩnh và Lambda ARN)

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "", 
     "Effect": "Allow", 
     "Principal": { 
     "AWS": "*" 
     }, 
     "Action": "es:*", 
     "Resource": "arn:aws:es:ap-southeast-1:323137313233:domain/sg-es-logs/*", 
     "Condition": { 
     "IpAddress": { 
      "aws:SourceIp": [ 
      "192.192.192.192" 
      ] 
     } 
     } 
    } 
    ] 
} 

Bây giờ tôi cần phải cho phép Lambda chức năng để thực hiện es:ESHttpDelete hành động trên AWS ES, vì vậy tôi tạo ra các chức năng với vai trò hiện service-role/Elasticsearch sau đó sao chép có liên quan ARN từ IAM Managment console để thêm nó vào chính sách truy cập AWS ES, để tìm ra điều này:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Principal": { 
     "AWS": [ 
      "arn:aws:iam:: 323137313233:role/service-role/Elasticsearch" 
     ] 
     }, 
     "Action": [ 
     "es:*" 
     ], 
     "Resource": "arn:aws:es:ap-southeast-1:323137313233:domain/sg-es-logs/*" 
    } 
    ] 
} 

Vấn đề ở trên ES tôi nên chọn chính sách truy cập miền cho IP tĩnh hoặc ARN nhưng không phải cả hai. Khi tôi cố gắng hợp nhất chúng bằng tay không bằng cách sử dụng giao diện điều khiển nó không hoạt động. Tôi đã kiểm tra tài liệu AWS nhưng họ đã không đề cập đến nếu có thể hay không.

+1

FWIW, Amazon Developer Support rất tốt, nhưng bạn mất 30 đô la một tháng. Tôi không biết câu trả lời và như bạn đã nói, các tài liệu không thực sự nói về cách làm những gì bạn muốn làm. –

+1

Chính sách đầu tiên của bạn có trường Chính bị cấm. Làm thế nào bạn đã bao giờ làm cho nó hoạt động? Thay vì chỉ định Hiệu trưởng, hãy thử thêm điều kiện thứ hai nơi bạn so sánh ARN chính – JayEye

Trả lời

2

Bạn có thể thêm nhiều câu lệnh chính sách bên trong mảng Statement theo định dạng chính sách JSON. Vì vậy, chính sách cuối cùng của bạn sẽ giống như sau:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "", 
     "Effect": "Allow", 
     "Principal": { 
     "AWS": "*" 
     }, 
     "Action": "es:*", 
     "Resource": "arn:aws:es:ap-southeast-1:323137313233:domain/sg-es-logs/*", 
     "Condition": { 
     "IpAddress": { 
      "aws:SourceIp": [ 
      "192.192.192.192" 
      ] 
     } 
     } 
    }, 
    { 
     "Effect": "Allow", 
     "Principal": { 
     "AWS": [ 
      "arn:aws:iam:: 323137313233:role/service-role/Elasticsearch" 
     ] 
     }, 
     "Action": [ 
     "es:*" 
     ], 
     "Resource": "arn:aws:es:ap-southeast-1:323137313233:domain/sg-es-logs/*" 
    } 
    ] 
} 
Các vấn đề liên quan