elasticsearch - 无法使用 CLI 更新 ElasticSearch 访问策略
问题描述
我有一个看起来像这样的访问策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "arn:aws:es:us-east-1:123456789012:domain/es01-vpc01-prod-useast1/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"123.456.123.456"
]
}
}
}
]
}
据我了解,这应该将所有与es相关的权限授予 IP 123.456.123.456 上的任何人。这确实适用于大多数事情:我可以访问 ElasticSearch,还可以执行 CLI 命令,例如aws es describe-elasticsearch-domain --domain-name es01-vpc01-prod-useast1
但是,由于某种原因,我无法使用以下命令从 CLI 修改访问策略:
aws es update-elasticsearch-domain-config --domain-name es01-vpc01-prod-useast1 --access-policies '{\"Version\": \"2012-10-17\",\"Statement\": [{\"Effect\": \"Allow\",\"Principal\": {\"AWS\": \"*\"},\"Action\": \"es:*\",\"Resource\": \"arn:aws:es:us-east-1:123456789012:domain/es01-vpc01-prod-useast1/*\",\"Condition\": {\"IpAddress\": {\"aws:SourceIp\": [\"123.456.123.456\"]}}}]}'
我收到一个错误,例如:
调用 UpdateElasticsearchDomainConfig 操作时发生错误 (AccessDeniedException):用户:arn:aws:iam::123456789012:user/MyUser 无权执行:es:UpdateElasticsearchDomainConfig on resource:arn:aws:es:us-east-1: 123456789012:域/es01-vpc01-prod-useast1
我尝试了访问策略的变体,例如将特定角色添加到访问策略中,例如
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:role/MyRole"
},
"Action": [
"es:UpdateElasticsearchDomainConfig"
],
"Resource": "arn:aws:es:us-east-1:123456789012:domain/es01-vpc01-prod-useast1"
}
但仍然没有成功。完成这项工作的诀窍是什么?
解决方案
我知道这是一个老话题,但万一其他人也有同样的问题。
请注意,仅当 ES 域位于 VPC 之外时,ES 的 IP 地址白名单才有效。
以下命令对我有用,主要是如果您将 JSON 用单引号括起来,则不需要转义双引号。
将“我的域”、“1234567890”的帐户 ID 和“127.0.0.1”的 IP 地址更改为您自己的,它应该适合您。
aws es update-elasticsearch-domain-config --domain-name my-domain --access-policies '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "arn:aws:es:us-east-1:1234567890:domain/my-domain/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "127.0.0.1"
}
}
}
]
}'
推荐阅读
- reactjs - 如何使用 reactjs 和 typescript 将 prop 指定为可选?
- css - 时间轴 CSS 卡片序列
- amazon-web-services - 如何以用户身份在 Ceph 中创建主题
- react-native - React Native Navigation - 添加 headerRight 导致标题从左侧推开
- c# - 多个可选参数,包括 ASP.NET Core Web API 路由中的枚举类型
- solr - 仅查询期间的 Apache Solr 同义词
- javascript - 在 create-react-app 中启用生产中的 javascript 源映射
- azure - Azure 托管标识 - 凭据翻转信息
- pandas - Pandas 统计的独特游戏玩家数量
- javascript - 在链接器方法之外的赛普拉斯中存储元素的文本