You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Amplify限制Elastic Search集群的访问权限?

AWS OpenSearch(原Elasticsearch)集群访问控制方案选择

核心结论

你无需启用集群创建页面内置的Amazon Cognito认证配置,优先采用自定义JSON访问策略+网络层隔离的方案即可满足需求,同时避免ES被公开访问。

具体原因&配置说明

  • 内置的Cognito认证能力仅适用于终端用户直接访问OpenSearch Dashboards(原Kibana)、或直接请求ES集群端点的场景。你的所有ES请求均由自定义Lambda代理转发,身份校验逻辑已经在Lambda层完成,启用该配置只会增加不必要的校验开销,没有实际收益。
  • 首先做网络层隔离,从根源避免ES公开访问:将集群部署在VPC私有子网内,不分配公网IP,公网环境根本无法触达集群端点。
  • 自定义JSON访问策略仅允许你的代理Lambda的执行角色访问ES集群,参考配置示例如下:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::[你的AWS账号ID]:role/[你的Lambda执行角色名]"
      },
      "Action": ["es:ESHttpGet"],
      "Resource": "arn:aws:es:[集群部署区域]:[你的AWS账号ID]:domain/[你的集群名称]/*"
    }
  ]
}
  • 你现有Lambda层的Cognito用户校验、按用户过滤返回字段的逻辑无需修改,所有业务层的权限控制都可以在Lambda层完成,灵活度远高于ES侧的内置规则。

注意事项

  • 任何场景下都不要给ES集群配置允许0.0.0.0/0的访问规则,避免意外暴露到公网。
  • 如果Lambda和ES集群部署在同一个VPC,需要为Lambda配置VPC访问权限,确保它可以正常访问私有子网内的ES端点。

内容的提问来源于stack exchange,提问作者Jonatan Tibarovsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 17:15:06