【问题标题】:Give access Lambda to Opensearch [IAM & Configure domain level access policy] [duplicate]授予 Lambda 对 Opensearch 的访问权限 [IAM 和配置域级别访问策略] [重复]
【发布时间】:2022-01-22 04:55:13
【问题描述】:

我需要您帮助我制定正确的政策。我正在使用 ACloud Guru AWS Sandbox,并且我正在尝试使用 elasticsearch lib 来在 lambda 上运行 python 代码。但是对于 Opensearch,只能使用“配置域级别访问策略”。我通过策略为我的家庭 IP 开放了访问权限:

    {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:us-east-1:yyyyyyyyyyy:domain/test-es-1/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": "xx.xx.xxx.xx/32"
        }
      }
    }
  ]
}

它对我来说很好,现在我试图在 Lambda 上运行一些简单的代码并得到一个错误

"errorMessage": "AuthorizationException(403, '{"Message":"用户:匿名无权执行:es:ESHttpPut"}')","errorType": "AuthorizationException",

我决定打开区域 us-east-1 并添加部分:

{
  "Effect": "Allow",
  "Action": "es:*",
  "Principal": {
    "AWS": "*"
  },
  "Resource": "arn:aws:es:us-east-1:yyyyyyyyyyy:domain/test-es-1/*",
  "Condition": {
      "StringEquals": {
          "aws:RequestedRegion": "us-east-1"
      }
  }
}

但我无法保存策略,出现错误:

UpdateDomainConfig: {"message":"对您的域应用限制性访问策略"}

也许我的方向错误,有人可以帮助我解决问题或推动我朝着正确的方向前进。

提前谢谢你, BR 阿列克谢。

【问题讨论】:

标签: python amazon-web-services aws-lambda amazon-iam opensearch


【解决方案1】:

Deployment of servless app fails - Enable fine-grained access control or apply a restrictive access policy to your domain 中提取,AWS 似乎认为您的方法过于公开。请检查上一篇文章/答案中列出的替代方法。如果您想知道如何使某个方法适用于您的用例,请告诉我,我们可以深入研究!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 1970-01-01
    • 2020-12-15
    • 2016-04-29
    • 2018-11-21
    • 2012-11-07
    相关资源
    最近更新 更多