如何使用 Amazon Cognito 身份验证从 VPC 外部访问 Kibana?

上次更新时间:2020 年 12 月 23 日

我的 Amazon Elasticsearch Service 集群位于 Virtual Private Cloud (VPC) 中。如何使用 Amazon Cognito 身份验证从 VPC 外部访问 Kibana 终端节点?

解决方法

使用以下方法之一通过 Amazon Cognito 身份验证从 VPC 外部访问 Kibana:

使用 SSH 隧道

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

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

使用 NGINX 代理

有关详细信息,请参阅如何使用 NGINX 代理通过 Amazon Cognito 身份验证从 VPC 外部访问 Kibana?

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

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

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

1.    登录您的 AWS 管理控制台

2.    在分析下,选择 Elasticsearch Service

3.    选择操作

4.    选择 Modify master user(修改主用户)。

5.    选择 Set IAM ARN(设置 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 网络配置以及与 Elasticsearch 域关联的安全组。有关更多信息,请参阅测试 VPC 域