AV9*_*V94 42 amazon-ec2 amazon-web-services elasticsearch kibana-4 amazon-elasticsearch
我创建了Amazon elasticsearch服务,并使用logstash将数据填充到其中,logstash已安装在EC2实例上.在Amazon弹性服务控制台页面上,将有一个访问Kibana的链接.
search-cluster_name-XXXXXXXXXXXXXXXXXXX.region_name.es.amazonaws.com/_plugin/kibana/
Run Code Online (Sandbox Code Playgroud)
当我点击链接时,浏览器抛出以下错误.
{"Message":"User: anonymous is not authorized to perform: es:ESHttpGet on resource: arn:aws:es:region_name:account_id:domain/cluster_name/_plugin/kibana/"}
Run Code Online (Sandbox Code Playgroud)
我确定这与ES域的访问策略有关.如何修改访问策略,以便通过点击指定的链接访问Kibana?
Pet*_*ete 27
您可以使用基于IAM和IP地址的访问来设置访问策略. 在这里看到我的答案.简而言之:
arn:aws:iam::aws:policy/AmazonESFullAccess策略的配置文件 这是一个示例策略(语句顺序很重要!)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::xxxxxxxxxxxx:root"
},
"Action": "es:*",
"Resource": "arn:aws:es:us-west-2:xxxxxxxxxxxx:domain/my-elasticsearch-domain/*"
},
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "arn:aws:es:us-west-2:xxxxxxxxxxxx:domain/my-elasticsearch-domain/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"192.168.1.0",
"192.168.1.1"
]
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
luw*_*zek 13
我用于那个名为aws-es-kibana的代理工具.它会将您发送给aws kibana的所有请求签名.
IAM配置:
我创建了具有编程访问权限的新IAM用户"elasticsearch_user"(我获得了与该帐户关联的accessKeyId和secretAccessKey).
Elasticsearch配置:
我创建了弹性搜索策略,允许新创建的IAM用户访问:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::{YOUR_AWS_ACCOUNT_ID}:user/elasticsearch_user"
]
},
"Action": "es:*",
"Resource": "arn:aws:es:eu-central-1:{YOUR_AWS_ACCOUNT_ID}:domain/{YOUR_ELASTICSEARCH_DOMAIN}/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
从当地车站连接到kibana:
要从我的本地站(Windows)连接到kibana,我只需要输入控制台:
SET AWS_ACCESS_KEY_ID=myAccessKeyId
SET AWS_SECRET_ACCESS_KEY=mySecretAccessKey
aws-es-kibana search-{PROTECTED_PART_OF_YOUR_ELASTICSEARCH_ENDPOINT}.eu-central-1.es.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
之后你应该代理访问你的kibana:http://127.0.0.1:9200/_plugin/kibana
您必须为elasticsearch集群配置访问策略。有两种选择:
选项1,使用基于IAM的访问是更好的选择:
kibana_user以编程访问方式进行调用。保存accessKeyId和secretAccessKey。同时复制用户的ARN。kibana_user。
kibana_user 
我强烈建议您不要使用基于IP的访问的第二种方法。即使您拥有静态IP,
唯一有意义的情况是,如果您使用自己的身份验证方法和静态IP运行自己的代理服务器。
| 归档时间: |
|
| 查看次数: |
27948 次 |
| 最近记录: |