Aws lambda 将数据安全地从lambda推送到elastic

Aws lambda 将数据安全地从lambda推送到elastic,aws-lambda,amazon-cognito,amazon-iam,aws-elasticsearch,Aws Lambda,Amazon Cognito,Amazon Iam,Aws Elasticsearch,我有一个接受单个假定角色请求的策略。当我试图从lambda推送数据时,我得到一个拒绝访问错误。 如果我使用这一行打开对弹性服务器的访问,那么它将按预期工作 但它并不安全。如何将数据从lambda推送到仅限于Cognito用户的弹性服务 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:sts::51346

我有一个接受单个假定角色请求的策略。当我试图从lambda推送数据时,我得到一个拒绝访问错误。 如果我使用这一行打开对弹性服务器的访问,那么它将按预期工作

但它并不安全。如何将数据从lambda推送到仅限于Cognito用户的弹性服务

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:sts::51346970xxxx:assumed-role/document-search-CognitoAuthorizedRole-LZWR058L66O8/CognitoIdentityCredentials"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:us-east-1:51346970xxxx:domain/documentsearchapp/*"
    }
  ]
}

您为什么不在lambda中添加以下策略(不带
主体
行):
{
“版本”:“2012-10-17”,“语句”:[
{
效果]:“允许”,
资源”:“arn:aws:es:us-east-1:51346970xxxx:domain/documentsearchapp/*”
}
]
}
然后只允许Cognito用户执行lambda?我在这里也有同样的需要,我设法解决了这个问题!
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:sts::51346970xxxx:assumed-role/document-search-CognitoAuthorizedRole-LZWR058L66O8/CognitoIdentityCredentials"
      },
      "Action": "es:*",
      "Resource": "arn:aws:es:us-east-1:51346970xxxx:domain/documentsearchapp/*"
    }
  ]
}