如何通过 Amazon Cognito 身份验证从 VPC 外部访问 OpenSearch 控制面板?

上次更新日期:2022 年 12 月 14 日

我的 Amazon OpenSearch Service 集群位于虚拟私有云(VPC)中。我想从此 VPC 外部访问 OpenSearch 控制面板端点。

解决方法

使用以下方法之一通过 Amazon Cognito 身份验证从 VPC 外部访问 OpenSearch 控制面板:

使用 SSH 隧道

有关更多信息,请参阅如何使用 SSH 隧道通过 Amazon Cognito 身份验证从 VPC 外部访问 OpenSearch 控制面板?

  • 优点:通过 SSH 协议提供安全连接。所有连接都使用 SSH 端口。
  • 缺点:需要进行客户端配置和代理服务器。

使用 NGINX 代理

有关更多信息,请参阅如何使用 NGINX 代理通过 Amazon Cognito 身份验证从 VPC 外部访问 OpenSearch 控制面板?

  • 优点:安装更容易,因为只需要进行服务器端配置。使用标准 HTTP(端口 80)和 HTTPS(端口 443)。
  • 缺点:需要代理服务器。连接的安全级别取决于代理服务器的配置方式。

(可选)如果开启了细粒度访问控制(FGAC),请添加经 Amazon Cognito 身份验证的角色

如果在 OpenSearch Service 集群上开启了细粒度访问控制(FGAC),您可能会遇到缺少角色错误。要解决缺少角色错误,请执行以下步骤:

1.    登录 Amazon OpenSearch Service 控制台。

2.    在导航窗格的 Managed clusters(托管集群)下,选择 Domains(域)。

3.    选择 Actions(操作),然后选择 Edit security configurations(编辑安全配置)。

4.    选择 Set IAM ARN as your master user(将 IAM ARN 设置为您的主用户)。

6.    在 IAM ARN 字段中,添加经 Amazon Cognito 身份验证的 ARN 角色。

7.    选择 Submit(提交)。

有关细粒度访问控制的更多信息,请参阅教程: IAM 主用户和 Amazon Cognito

使用 VPN

有关更多信息,请参阅 AWS Site-to-Site VPN 是什么?

  • 优点: 确保您的本地设备与 VPC 之间连接安全。对 TLS VPN 使用标准 TCP 和 UDP。
  • 缺点:需要 VPN 设置并进行客户端配置。

注意:要允许或限制对资源的访问,必须修改 VPC 网络配置以及与 OpenSearch Service 域关联的安全组。有关更多信息,请参阅测试 VPC 域