AWS Machine Learning Blog

Securing Quick access from corporate networks with AWS PrivateLink

6.9内容质量
Securing Quick access from corporate networks with AWS PrivateLink

TL;DR · AI 摘要

Securing Quick access from corporate networks with AWS PrivateLink Artificial Intelligence Securing Quick access from co...

核心要点

  • 主题聚焦:Securing Quick access from corporate networks wi
  • 来源:AWS Machine Learning Blog,建议结合原文判断细节。
  • AI 分析暂不可用,本条为保底评分与摘要。
#AI#前端#后端#云计算#安全
打开原文

使用 AWS PrivateLink 从企业网络安全访问 Quick | 人工智能

使用 AWS PrivateLink 从企业网络安全访问 Quick

当企业数据位于企业防火墙后或私有本地数据中心时,即使 Amazon Quick 中的 AI 代理和仪表板可以查询几乎所有数据源,AWS 也无法直接访问这些数据。管理员必须确保敏感的企业数据在可访问 AI 驱动的洞察和操作的同时,不会暴露在公共互联网上。

对许多企业而言,通过公共互联网路由流量会带来不可接受的风险。HIPAA、FedRAMP 和 PCI-DSS 等法规框架通常要求敏感数据保留在受控网络边界内。即使合规性不是主要驱动因素,暴露内部数据路径会增加攻击面、使审计追踪复杂化,并引入可能降低用户体验的可变延迟。

本指南将展示如何通过 AWS PrivateLink 将本地数据源私密连接到 Amazon Quick,而无需流量经过公共互联网。假设您已拥有 AWS Direct Connect 或 AWS 站点到站点 VPN,将本地环境连接到虚拟私有云(VPC)。在此基础上,我们将配置由 AWS PrivateLink 提供支持的 VPC 端点,使 Quick 能够通过 AWS 背骨网络访问私有资源,然后通过安全组和 VPC 端点策略实现纵深防御。

最终,您将获得一种网络架构,使 Quick 与本地数据源之间的流量避开公共互联网,从而减少攻击面,提供稳定的低延迟连接,并为合规性提供清晰的审计追踪。

Amazon Quick 与建立私有网络连接

Amazon Quick 是一个 AI 驱动的工作空间,将搜索、分析、研究和自动化整合到单一的对话式体验中。了解哪些组件可以访问私有网络以及访问方式,将决定后续部分的架构设计。

Amazon Quick 中的数据访问分为两条路径。面向用户的流量包括任何打开 Quick 控制台、与仪表板交互、进行 API 调用或使用 Quick Desktop 的用户。所有这些流量都通过 VPC 端点(参见用户和 API 访问的 VPC 端点),使用户会话远离公共互联网。

数据获取流量是指 Quick 本身访问您的网络以提取数据。这由 VPC 连接处理(参见数据源访问的 VPC 连接),这也是大多数架构决策所在。发起数据获取连接的功能和集成包括:

  • Amazon Quick Sight 可通过部署在您 VPC 中的 ENI 直接查询本地数据库(PostgreSQL、MySQL、SQL Server、Oracle 等)。这是 VPC 连接的最大消耗者。
  • Amazon Quick Flows 和 Amazon Quick Automate 是独立的自动化功能。Flows 处理重复性任务。Automate 处理需要人工干预的复杂多系统编排。两者都会调用操作连接器,包括在您的 VPC 中私有托管的 MCP 服务器。任何调用内部 API 的工作流都会通过此路径路由。
  • Quick Agents 支撑所有对话交互,可以直接调用操作连接器。当自定义代理调用私有托管的 MCP 服务器或内部 API 时,流量会通过 VPC 连接传输。
  • Amazon Quick Index 在 Confluence、SharePoint 和 Amazon Simple Storage Service (Amazon S3) 等连接源之间构建统一的搜索层。对于 VPC 内部或本地数据中心的数据,目前仅支持 Amazon Redshift 的知识库 VPC 连接。Confluence、SharePoint、Box、Google Drive、OneDrive 和 Amazon S3 等源当前无法使用快速 VPC 连接(参见支持的 VPC 数据源)。您仍然可以通过存储桶策略将 Amazon S3 存储桶访问限制为 VPC 端点,这是一个独立的机制。
  • Amazon Quick Research 在访问私有数据源时使用 VPC 连接,同时访问防火墙后的企业数据源和公共互联网数据,以生成其基于引用的报告。
  • Quick 应用基于结构化数据和操作连接器构建交互式 Web 应用程序,并继承 Quick Sight 和 Flows 的相同 VPC 连接能力。
  • Quick Spaces 整理来自上述功能的内容,但不会主动建立自己的数据连接。

这两种流量路径需要两种不同的私有连接机制协同工作:

  • VPC 端点(AWS PrivateLink):处理面向用户的流量,如访问 Quick 网站、进行 API 调用和管理访问。这些机制可将用户流量保留在公共互联网之外。
  • VPC 连接:处理数据源流量。Amazon Quick 通过 VPC(进而连接到本地网络)访问您的数据库、Amazon Redshift 知识库源和内部 API 以获取数据。这些连接在 Quick 控制台中进行配置。

配置私有连接

本节按顺序介绍四个构建模块:用于用户和 API 访问的 VPC 端点、用于数据源访问的 VPC 连接、用于 AWS 数据服务的 VPC 端点,以及对外部必要域名的出站访问。

先决条件

在为 Quick 配置私有连接之前,请确保以下条件已满足:

  • 拥有有效 AWS 账户并已订阅 Amazon Quick 企业版(VPC 连接需要企业版)。
  • 在 Quick 部署的 AWS 区域中已存在 VPC。
  • 使用支持的 AWS 区域。Quick 网站的 VPC 端点在 AWS 中国区域或 AWS GovCloud (US) 区域不可用。
  • 已建立 AWS Direct Connect 连接或站点到站点 VPN,连接本地网络和 VPC。这是将流量从数据中心传输到 AWS 的私有路径。
  • 拥有创建和管理 VPC 端点、安全组和 Quick 管理权限的 AWS Identity and Access Management (IAM) 权限。创建 VPC 连接时,管理员的 IAM 身份还需要以下权限:quicksight:CreateVPCConnection、quicksight:DescribeVPCConnection、quicksight:ListVPCConnections、quicksight:UpdateVPCConnection、quicksight:DeleteVPCConnection、ec2:DescribeSubnets、ec2:DescribeVpcs、ec2:DescribeSecurityGroups、iam:ListRoles 和 iam:PassRole(限定于 VPC 连接执行角色)。
  • 可访问组织的 DNS 管理(Route 53 私有托管区域或本地 DNS 转发器),因为私有 DNS 解析会通过 VPC 端点而不是公共地址路由流量。

用于用户和 API 访问的 VPC 端点(AWS PrivateLink)

由 PrivateLink 支持的 VPC 端点处理所有面向 Amazon Quick 的用户流量,包括网站访问、API 调用和嵌入式内容。它们可防止用户需要通过公共互联网访问 Amazon Quick 控制台。

图1:通过VPC端点从企业数据中心访问Amazon Quick的私有连接

如图1所示:(1) 企业网络中的客户端向Quick发送请求;(2) 请求通过AWS Direct Connect传输,经由Direct Connect网关进入您的VPC;(3) Quick的VPC端点评估端点策略并允许或拒绝请求;(4) 被允许的请求通过AWS网络到达Amazon Quick。

#### 规划您的VPC端点架构

规划端点架构时,首先确定您的Quick账户部署的AWS区域,因为VPC端点必须位于同一区域。为端点ENI部署选择跨多个可用区的子网,并确保这些子网可通过Direct Connect或VPN路由到本地网络。

设计安全组以限制端点ENI上的流量仅限必要端口和源地址范围。如果希望所有流量都通过私有网络传输(包括Amazon Quick对Amazon S3、Amazon Redshift和Amazon Athena的调用),还需规划这些服务的VPC端点(参见配置数据源VPC端点)。

#### 为Quick创建VPC端点

要实现完整的私有访问,Quick需要两个接口型VPC端点:

  • 网站访问端点 – 服务名称 com.amazonaws.<region>.quicksight-website。该端点处理大部分用户访问Quick控制台的流量。Quick网站的私有DNS名称与公共URL不同,因此必须为<region>.quicksight.aws.amazon.com创建指向VPC端点的A记录。
  • API访问端点 – 服务名称 com.amazonaws.<region>.quicksight。该端点处理程序化API调用。当启用私有DNS时,对quicksight.<region>.amazonaws.com的现有API调用会自动通过VPC端点路由,无需额外DNS配置。如需符合FIPS标准,请使用 com.amazonaws.<region>.quicksight-fips。

注意:并非所有Quick API都可通过API VPC端点访问。以下13个API不被支持:操作连接器API(CreateActionConnector、DeleteActionConnector、DescribeActionConnector、DescribeActionConnectorPermissions、ListActionConnectors、SearchActionConnectors、UpdateActionConnector、UpdateActionConnectorPermissions)和流API(GetFlowMetadata、GetFlowPermissions、ListFlows、SearchFlows、UpdateFlowPermissions)。需要通过编程方式管理操作连接器或流的自动化流程,必须使用公共API端点。详见Quick和接口型VPC端点。

如果管理员通过VPC以IAM用户身份登录Amazon Quick,还需创建以下AWS管理控制台端点:

  • com.amazonaws.<region>.console
  • com.amazonaws.<region>.signin

在Amazon虚拟私有云(Amazon VPC)控制台中创建网站端点的步骤如下:

  • 打开Amazon VPC控制台。在导航窗格中,选择PrivateLink和Lattice下的Endpoints,然后选择Create endpoint(创建端点)。
  • 输入名称标签(例如my-quicksight-vpc-endpoint),在类型中选择AWS services(AWS服务)。
  • 在服务列表中搜索com.amazonaws.<region>.quicksight,选择com.amazonaws.<region>.quicksight-website(图2)。

图2:命名端点并选择Quick网站端点服务

  • 在网络设置中选择您的VPC。在附加设置中保持启用私有DNS名称的选项选中。
  • 选择至少两个可用区的子网,然后选择端点ENI的安全组(图3)。

图3:为端点选择VPC、私有DNS、子网和安全组

  • 选择策略(参见下文的“设置VPC端点策略”部分),添加标签,然后选择“创建端点”(图4)。

图4:选择端点策略并创建端点

  • 对API端点com.amazonaws.<region>.quicksight重复这些步骤。

#### 配置DNS解析

对于网站端点,为<region>.quicksight.aws.amazon.com创建A记录,并将其指向VPC端点的DNS名称。这样,当企业网络中的用户解析Quick URL时,流量将通过私有端点而非公共互联网传输。对于API端点,只需在VPC端点上启用私有DNS,因为API调用会自动解析到端点的私有IP地址。

Route 53私有托管区域仅响应关联VPC内部的查询。由于用户从企业网络连接,需配置本地DNS服务器将<region>.quicksight.aws.amazon.com的查询转发到VPC中的Route 53 Resolver入站端点(或在本地DNS中托管等效记录)。最后,从企业网络验证DNS解析,确认请求解析到VPC内的私有IP地址而非公共地址。

在Route 53中创建记录的步骤:

  • 在Route 53控制台中,选择“托管区域”,然后选择“创建托管区域”。
  • 在“域名”字段中,输入<region>.quicksight.aws.amazon.com(例如,us-east-1.quicksight.aws.amazon.com)。将区域限定在特定区域可避免覆盖其他Quick主机名。选择“私有托管区域”,关联您的VPC,然后选择“创建托管区域”(图5)。

图5:在Amazon Route 53中创建私有托管区域

  • 在新创建的托管区域中,选择“创建记录”(图6)。

图6:在新私有托管区域中创建记录

  • 保持“记录名称”为空,选择记录类型A,启用别名,选择“别名到VPC端点”,选择您的区域和网站端点的DNS名称,然后选择“创建记录”(图7)。

图7:创建指向Quick网站VPC端点的别名A记录

#### 设置VPC端点策略

VPC端点策略限制哪些账户或组织可以使用该端点。对于Quick,策略可通过AWS账户ID或组织ID进行范围限定。要修改策略,请在Amazon VPC控制台中打开端点,选择“策略”选项卡,然后选择“编辑策略”(图8)。

重要限制:对于Quick网站端点,Principal、Action和Resource字段必须全部设置为*。条件只能针对aws:PrincipalAccount或aws:OrgId属性指定。更严格的操作级策略仅支持在API端点上使用。

网站端点策略示例:

code
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalAccount": ["012345678901"]
                }
            }
        }
    ]
}

图8:从VPC端点详情页面打开端点策略

API端点策略示例(限制特定操作):

code
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "quicksight:DescribeUser",
                "quicksight:ListUsers"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalAccount": ["012345678901"]
                }
            }
        }
    ]
}

图9:编辑自定义VPC端点策略

数据源访问的VPC连接

虽然VPC端点处理面向用户的流量,但VPC连接处理服务器端路径,这意味着Amazon Quick会进入您的VPC以访问数据库、Amazon Redshift知识库源和内部API。

#### VPC连接的工作原理

Amazon Quick Enterprise版与Amazon VPC完全集成。当您在Amazon Quick中创建VPC连接时,您会将弹性网络接口(ENI)添加到VPC子网中。这些ENI使Quick能够与VPC内的资源交换网络流量,并通过该VPC可访问的任何内容(包括通过Direct Connect或VPN连接的本地系统)进行通信。

所有标准VPC安全控制都适用于此类流量。路由表、网络ACL、子网和安全组以与VPC内任何其他实例之间流量相同的方式管理Quick的入站和出站流量。这意味着您可以连接到:

  • 未暴露在公共互联网上的私有数据库。
  • 通过Direct Connect或VPN可访问的本地数据源。
  • 通过IP地址在您的网络内可访问的内部API。

为VPC连接的ENI创建专用的安全组(例如QuickSight-VPC)。在每个数据源的安全组中,允许从该安全组ID的数据库端口入站流量。

注意:2023年4月27日之前创建的VPC连接:附加到Quick网络接口的安全组不是有状态的。您必须添加一个入站规则,明确允许从数据源安全组的所有端口(0–65535)返回流量,因为返回数据包使用随机分配的目标端口。2023年4月27日之后创建的连接使用标准有状态行为。参见安全组:入站和出站规则。

#### 创建执行角色

Amazon Quick不会为您创建VPC连接的执行角色。在添加连接之前,请创建专用的IAM角色(推荐),或更新一个已信任Quick的现有角色,例如本文档截图中使用的aws-quicksight-service-role-v0。该角色需要:

  • 一个权限策略,授予Amazon Elastic Compute Cloud(Amazon EC2)执行Quick管理ENI所需的操作(图10)。
  • 一个信任策略,允许quicksight.amazonaws.com担任该角色。只有具有此信任策略的角色才会出现在Quick控制台的执行角色列表中。

权限策略:

code
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface",
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups"
            ],
            "Resource": "*"
        }
    ]
}

图10:添加VPC连接执行角色所需的Amazon EC2权限

信任策略:

code
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": { "Service": "quicksight.amazonaws.com" },
            "Action": "sts:AssumeRole"
        }
    ]
}

#### 配置 VPC 连接

在 Quick 控制台中创建 VPC 连接的步骤如下:

  • 以管理员身份登录 Amazon Quick,点击右上角的个人资料图标,然后选择“管理账户”(图 11)。如果看不到此选项,说明您不是 Quick 管理员。

图 11:从 Quick 个人资料菜单打开“管理账户”

  • 在导航窗格中,选择“安全”下的“管理 VPC 连接”(图 12),然后选择“添加 VPC 连接”。

图 12:在“管理账户”页面的“安全”下管理 VPC 连接

  • 提供以下信息(图 13):描述性的 VPC 连接名称。目标 VPC 的 VPC ID。此信息之后无法更改。上一步创建的执行角色。至少两个位于不同可用区的子网。至少一个安全组 ID。(可选)如果数据库主机名必须通过私有 DNS 解析,请在“DNS 解析端点”下输入 Route 53 Resolver 入站端点的 IP 地址。
  • 选择“添加”。

图 13:在 Quick 控制台中添加 VPC 连接

连接状态在 Quick 完成 ENI 配置前显示为“不可用”,之后变为“可用”。状态为“部分可用”表示其中一个 ENI 不可用,但连接仍可使用。

配置数据源 VPC 端点

VPC 端点(此处用于 AWS 服务 API 的 PrivateLink)和 VPC 连接(Quick ENI 放置在您的 VPC 中;参见数据源访问的 VPC 连接)是不同的机制。Quick 在获取仪表板和分析数据时会访问其他 AWS 服务(如 Amazon S3、Amazon Redshift、Amazon Athena、AWS Secrets Manager)。如果希望所有流量保持私有(包括 Quick 对这些 AWS 服务的调用),请为每个服务创建接口或网关 VPC 端点:

| 服务 | 端点类型 | 服务名称 | |------------------|----------|--------------------------------------| | Amazon S3 | 网关 | com.amazonaws.<region>.s3 | | Amazon Redshift | 接口 | com.amazonaws.<region>.redshift | | Amazon Athena* | 接口 | com.amazonaws.<region>.athena | | AWS Secrets Manager | 接口 | com.amazonaws.<region>.secretsmanager | | AWS Glue | 接口 | com.amazonaws.<region>.glue |

  • Athena 不支持作为 VPC 连接的数据源。Athena 端点仅通过 AWS PrivateLink 传输 Athena API 流量。

在放置 Amazon Quick ENI 的相同 VPC 中创建这些端点。确保路由表和安全组允许 Amazon Quick 子网与端点子网之间的流量。

启用对所需外部域的访问

虽然 Quick 与本地数据源之间的数据流量在私有网络中传输,但用户的浏览器仍需要访问一组域以实现登录、静态资源、客户端指标和集成。即使已配置 VPC 端点,不支持 VPC 端点的域仍需要通过企业代理或防火墙进行出站连接。如果您的账户使用 IAM Identity Center,浏览器登录还需要公共 AWS 登录和 IAM Identity Center 端点(参见“安全用户访问和身份联合”)。

| 所需外部域 | 域名 | 用途 | VPC 端点支持 | |------------------------|------------------------------|------------------------------|--------------| | Quick 网站流量的主要域 | <region>.quicksight.aws.amazon.com | Quick 网站流量的主要部分 | 是 | | | quicksight.<region>.amazonaws.com | | |

快速公共API调用

code
signin.aws.amazon.com

用于使用IAM身份的AWS控制台登录

code
<region>.signin.aws

登录

无

code
*.cloudfront.net

静态资源(CSS、JavaScript)

code
*.s3.<region>.amazonaws.com

报告和缩略图

code
*.execute-api.<region>.amazonaws.com

客户端指标

code
*.kinesisvideo.amazonaws.com

自动化工作流的实时流媒体

code
apis.google.com/js/api.js

Google Drive文件选择器

不适用

code
*.officeapps.live.com

快速侧边栏扩展

code
outlook.cloud.microsoft
code
*.sharepoint.com
code
*.office.com
code
*.office365.com

来源:Quick访问的域名

配置指南:

  • 对于支持VPC端点的域名(Quick网站和API、signin.aws.amazon.com以及Amazon S3),创建对应的VPC端点和DNS记录。
  • 对于不支持VPC端点的域名,通过企业互联网出口(出站代理或防火墙)允许访问。如果用户流量通过您的VPC出口,使用公共子网中的NAT网关。
  • 如果安全策略需要URL级别过滤,使用出站代理或AWS网络防火墙的域名过滤规则,仅允许之前列出的域名。
  • 从企业工作站(或同一出口路径的实例)进行测试:对每个域名执行nslookup和curl命令,确认DNS解析和路由。

强制VPC端点限制

在端点配置和测试完成后,您可以强制要求所有对Quick账户的访问必须通过VPC端点,完全阻止互联网访问。因此,用户只能通过您建立的私有路径从企业网络访问Quick。

Quick提供IP和VPC端点限制控制,将账户访问限制在预定义的IP范围、VPC ID或VPC端点ID列表中。例如,您可以创建仅允许通过Direct Connect使用的VPC端点访问的规则,这意味着任何尝试从公共互联网访问Quick的请求都将被拒绝。

通过Quick控制台配置(仅使用IAM凭证登录的管理员可以访问限制页面):

  • 点击您的个人资料图标,然后选择管理账户。在安全选项下,选择管理IP/VPC限制。
  • 在限制字段中输入VPC端点ID(例如,vpce-001122def),输入描述,然后选择添加(图14)。
  • 选择保存更改以应用规则。
  • 启用强制限制。

图14:在IP和VPC端点限制页面上添加VPC端点规则

或者通过AWS命令行界面(AWS CLI)进行配置:

code
aws quicksight update-ip-restriction \
--aws-account-id ACCOUNT_ID \
--region REGION \
--enabled \
--vpc-endpoint-id-restriction-rule-map \
vpce-001122def=CorporateVpcEndpoint

注意:UpdateIpRestriction会替换整个规则映射。使用aws quicksight describe-ip-restriction获取当前规则,并在更新时包含任何现有规则。

关键考虑事项:

  • IP和VPC端点规则适用于Quick的网页、嵌入式和移动访问,这意味着它们不会限制对公共API的访问。要限制特定来源的API调用,请使用带有aws:SourceIp或aws:SourceVpce条件的IAM策略。
  • 在启用限制之前,请确保自己的IP或VPC端点已包含在规则中,否则您可能会被锁定。
  • 规则可能需要最多10分钟才能完全生效。
  • 您可以将 IP 规则与 VPC 端点规则结合使用,只要满足任一规则类型,流量就会被允许通过。您最多可以添加 100 条 IP 规则和 VPC 端点规则。
  • IP 规则和 VPC 端点规则适用于您账户下的所有 AWS 区域,但您只能在创建 Quick 账户的 AWS 区域中添加或管理这些规则。
  • 如果您有公开嵌入的仪表板,在启用限制后,它们只能通过 VPC 端点进行访问。

启用限制后,只有通过指定 VPC 端点(或允许的 IP 范围)到达的流量才能访问您的 Quick 账户。所有其他访问请求将被拒绝。

安全用户访问和身份联合

私有网络连接可以将流量保留在公共互联网之外,但它并未回答 Quick 内部谁可以访问什么的问题。本节介绍如何将企业身份提供商集成到 Quick 中,控制用户配置,并在 Quick 组件之间实施细粒度的访问分段。

与 AWS IAM Identity Center 集成

重要:对于与 IAM Identity Center 集成的 Quick 账户,基于浏览器的认证需要访问公共 AWS 登录和 IAM Identity Center 端点。VPC 端点不提供此浏览器登录路径。不需要公共 IP 地址。通过 NAT 网关或代理提供出站连接。有关私有访问的注意事项,请参阅 IAM Identity Center 用户指南中的相关内容。

Amazon Quick 使用 AWS IAM Identity Center 作为员工身份管理的中心点。IAM Identity Center 使用 SAML 2.0 进行认证,使用 SCIM 2.0 进行用户和组的自动配置,与您现有的企业身份提供商(IdP)进行连接。这提供了以下功能:

  • 从您的 IdP 同步自动用户配置和取消配置。
  • 组成员资格同步 – 当用户被添加到或从组中移除时,这些更改会传播到 Quick。
  • 使用现有企业凭据进行单点登录(SSO)。
  • 通过假设的 IAM 角色获取临时凭据 – 无需长期有效的 Quick 特定密码。

有关如何使用身份提供商设置 IAM Identity Center 的逐步指南,请参阅 IAM Identity Center 入门。

Quick 中的基于角色的访问

Quick 支持三种基础角色,这些角色决定了用户可以执行的操作:

  • 管理员 – 全面管理权限,包括数据源配置、VPC 连接、安全设置、用户管理以及 SPICE 容量购买。
  • 作者 – 可创建和发布仪表板、构建代理、配置空间、管理数据源、创建流程以及构建应用程序。
  • 读者 – 可查看已发布的仪表板、与代理进行交互、使用被授予访问权限的空间,以及使用 Quick Research 报告。

这些角色映射到联邦用户在登录时假设的 IAM 角色。通过在您的 IdP 中管理角色分配,您可以维护一个关于谁拥有什么访问级别的单一事实来源。

此外,Quick 支持自定义权限配置文件,可以在账户、角色或用户级别上覆盖默认角色权限。用户级别的权限会覆盖角色级别,角色级别又会覆盖账户级别。这为管理员提供了超越三种基础角色的细粒度控制。

使用空间进行用户分段

Quick 空间为基于角色的访问分段提供了额外的一层。每个空间可以配置特定的用户和组权限,这意味着:

  • 一个包含敏感收入仪表板和财务知识库的财务团队空间,仅限财务组访问。
  • 一个包含与CRM连接的代理和销售漏斗仪表板的销售团队空间,仅限销售用户访问。
  • 跨职能空间可以与多个组共享,并设置相应的权限。

空间级访问权限由从身份提供商同步的组控制,因此将新团队成员添加到相应组后,会自动授予其访问相关空间的权限。

QuickSight中的行级安全

对于由结构化数据支持的仪表板,QuickSight支持行级安全(RLS),限制每个用户或组可查看的数据行。RLS通过数据集规则进行配置,这些规则是一个权限数据集,将用户或组映射到其可访问的字段值。

例如,可以配置区域销售仪表板,使:

  • EMEA销售组仅能看到region = 'EMEA' 的行。
  • NA销售组仅能看到region = 'NA' 的行。
  • 销售副总裁能看到所有行。

RLS规则基于IAM Identity Center确定的用户身份进行评估,这意味着控制登录的相同身份联合也管理数据级访问权限。这同样适用于传统仪表板视图和AI驱动的自然语言查询。相同的安全策略限制AI在生成答案时可引用的数据范围。

列级安全

除了行级限制外,QuickSight还支持列级安全(CLS),以隐藏特定用户或组的敏感列。例如,包含员工信息的数据集可能会将薪资和SSN列限制为仅限HR组访问,而其他组仍可访问同一数据集中的非敏感列。

身份与私有连接的关联

身份层和网络层协同工作:

  • 企业网络上的用户通过您的IdP → IAM Identity Center → Quick进行身份验证。
  • 他们的请求通过VPC端点(私有网络路径;参见用户和API访问的VPC端点)到达Quick。
  • Quick评估其身份以确定角色、空间访问权限和RLS/CLS策略。
  • 当Quick从本地源获取数据时,它使用VPC连接(您VPC中的ENI;参见数据源访问的VPC连接)通过Direct Connect连接到数据库。
  • 响应通过相同的私有路径返回给用户。

除了启用对所需外部域的访问时描述的登录和静态资源流量外,所有流量均不经过公共互联网,用户身份在每个环节都决定其可见内容和可执行操作。

验证和测试

在生产环境中强制实施限制之前,验证每种访问模式的端到端连接性:

访问模式 | 测试 | 预期结果 ---|---|--- 网站(VPC端点) | 从企业网络执行 nslookup <region>.quicksight.aws.amazon.com | 解析为您的VPC CIDR中的私有IP 网站(认证) | 从企业计算机导航到Quick控制台 | 通过IdP完成登录。控制台正常加载 API(VPC端点) | 在VPC内执行 aws quicksight describe-account-settings | 返回账户设置;流量日志显示源IP来自您的VPC 数据源(VPC连接) | 创建一个测试QuickSight数据源,通过VPC连接指向本地数据库 | 连接测试成功。测试查询返回数据

知识库(VPC连接)

通过VPC连接从Amazon Redshift源创建知识库,然后触发同步

同步完成。内容显示在知识库中

操作连接器(VPC连接)

创建指向内部API的测试操作,并通过代理调用

操作返回预期响应

嵌入式仪表板

从内部应用加载嵌入式Quick Sight仪表板

仪表板渲染完成。浏览器开发者工具确认私有IP

监控

为持续可见性,启用所有端点和VPC连接ENI的VPC流量日志以捕获流量元数据。监控VPC端点的CloudWatch指标(ActiveConnections、BytesProcessed、PacketsDropped),并对连接失败或异常流量源设置警报。这些日志也作为合规文档中引用的审计跟踪。

常见问题排查

症状

可能原因

解决方法

无法从企业网络访问快速网站

DNS未解析到VPC端点

验证记录的A记录指向端点DNS名称,并且本地DNS将名称转发到Route 53 Resolver入站端点。检查端点的私有DNS设置。

启用限制后被锁定

IP/端点不在允许列表中

使用具有API访问权限的IAM身份执行

code
update-ip-restriction

CLI命令添加端点(API未受IP/VPC规则限制)

API调用超时

安全组阻止流量

确保端点安全组允许从企业CIDR传入HTTPS(端口443)

数据源连接失败

VPC连接ENI无法到达目标

验证VPC连接ENI的安全组允许向数据库端口出站,且数据库安全组允许从Quick安全组传入。对于2023年4月27日前创建的连接,验证入站所有端口返回流量规则。检查路由表是否包含通往本地网络的路径。

静态资源未加载(空白页面)

外部域名被阻止

确保代理或NAT网关允许访问,且可通过S3 VPC端点或代理访问

SSO登录失败

登录域名无法访问

通过防火墙/代理允许访问和。对于IAM Identity Center账户,还需允许公共AWS登录和IAM Identity Center端点(参见安全用户访问和身份联合)

VPC连接状态显示UNAVAILABLE

执行角色配置错误

验证执行角色包含

code
ec2:CreateNetworkInterface
code
ec2:DescribeSubnets
code
ec2:DescribeSecurityGroups
code
ec2:ModifyNetworkInterfaceAttribute
code
ec2:DeleteNetworkInterface

且信任策略允许

code
quicksight.amazonaws.com

公共嵌入式仪表板无法访问

VPC端点限制阻止公共流量

已知行为:启用限制后,公共嵌入需要VPC端点访问。考虑为公共用户创建独立端点,或禁用公共嵌入

安全最佳实践

网络隔离和身份控制单独使用都不充分。此架构依赖两者:网络控制阻止未授权访问路径,而身份控制阻止授权会话中的未授权数据访问。以下实践维护这两层防护。

  • 最小权限端点策略:通过 aws:PrincipalAccount 或 aws:OrgId 限制网站端点。在 API 端点上,将策略范围限定为自动化所需的具体操作,而非允许所有 quicksight:* 操作。
  • 分层安全组:同时为 VPC 端点 ENI(用户流量)和 VPC 连接 ENI(数据流量)应用安全组。在端点 ENI 上,限制入站 HTTPS 仅限于企业 CIDR 范围。在 VPC 连接 ENI 上,使用专用安全组,限制出站流量仅限于数据库端口和 Quick 需要的特定目标,并在每个数据源的入站规则中引用该安全组。
  • 在所有端点 ENI 上启用 VPC 流日志:这些日志可捕获用于安全监控、异常检测和合规审计的流量元数据。它们还能提供监管框架要求的受控网络边界审计轨迹。
  • 定期审核端点策略:每季度审查端点策略。使用 AWS Config 规则检测与基准配置的偏差。
  • 按敏感性隔离 VPC 连接:如果存在多个数据环境(开发、预发布、生产),为每个环境创建具有独立安全组的单独 VPC 连接,以防止跨环境访问。
  • 使用 CloudWatch 进行监控:在 PacketsDropped 和 ActiveConnections 指标上设置警报。异常模式可能表明配置错误或未经授权的访问尝试。

示例需求和 AWS 配置

以下示例展示了本文档中的配置如何满足常见的网络安全需求。请与您的安全团队一起将这些示例与您的具体需求进行评估。

需求

可支持评估的 AWS 控制措施

敏感数据不得通过公共互联网传输

用于用户流量的 VPC 端点、用于数据流量的 VPC 连接、用于网络可视化的 VPC 流日志

用户数据隔离

VPC 连接 ENI 上的安全组、敏感数据访问的行级安全

仅允许授权端点访问

VPC 端点限制(第 4 节)、CloudTrail API 日志和 VPC 流日志

成本考量

组件

成本模型

预估

VPC 接口端点

每可用区 $0.01/小时 + $0.01/GB 处理数据

每端点每可用区约 $7.20/月(固定)+ 数据传输费用

VPC 网关端点(S3)

无费用

VPC 连接(Quick ENI)

包含在 Quick Enterprise 中

无额外费用

NAT 网关(用于外部域名)

$0.045/小时 + $0.045/GB 处理数据

约 $32/月(固定)+ 数据传输费用

VPC 流日志

CloudWatch 日志摄入速率

随流量体积变化

Direct Connect

端口小时 + 数据传输

随电路规模变化

成本优化建议:

  • 在可能的情况下,使用网关端点(无额外费用)代替接口端点访问 S3。
  • 合并端点 ENI:每个端点只需在 Amazon Quick VPC 连接子网所在的可用区中创建 ENI。
  • 仅在端点 ENI 上选择性启用 VPC 流日志,而非整个 VPC。
  • 评估是否所有外部域名都需要 NAT 网关访问,或是否针对流量模式使用定向代理更具成本效益。

该架构建立了四种互补的控制机制:VPC端点确保用户流量私有化,VPC连接为Quick提供访问数据源的私有路径,身份联邦控制访问权限的分配,VPC端点限制强制要求使用私有路径。每一层都可独立审计,并对应特定的合规要求(参见合规映射)。

在实现上述架构后,Quick Agents可查询本地数据库,Quick Research可在防火墙后调查企业数据源,Quick Sight仪表板可可视化敏感数据,Quick Flows可编排内部系统,所有操作均无需数据经由公共互联网传输。AI功能保持不变,数据暴露风险被彻底消除。

实施步骤如下:首先部署用户和API访问的VPC端点,并在继续配置数据源访问的VPC连接前验证用户访问权限。仅在确认所有访问模式均可通过私有路径正常工作后,再启用VPC端点限制。关于身份联邦配置和高级RLS/CLS设置,请参阅IAM Identity Center文档。

About the authors

'"`