AWS 教程:通过 AWS PrivateLink 安全连接企业网络与 Amazon Quick
Securing Quick access from corporate networks with AWS PrivateLink
AWS Machine Learning Blog 介绍如何通过 AWS PrivateLink 和 VPC 连接,让 Amazon Quick 私下访问企业内网及本地数据源,避免相关流量经过公共互联网。
文章梳理了用户访问与数据获取两条私有网络路径,并说明端点策略、身份控制和访问限制如何配合保护企业内网数据。
当企业数据位于公司防火墙之后或私有本地数据中心内时,即使 Amazon Quick 中的 AI 代理和控制面板几乎可以查询任何数据源,AWS 与这些数据之间也没有直接的网络路径。管理员必须确保其敏感企业数据在可供 AI 驱动的洞察和操作访问的同时,不会暴露于公共互联网。
对于许多企业而言,通过公共互联网路由流量会带来不可接受的风险。HIPAA、FedRAMP 和 PCI-DSS 等监管框架通常要求敏感数据保留在受控的网络边界内。即使合规性不是首要驱动因素,暴露内部数据路径也会扩大攻击面、增加审计跟踪的复杂性,并引入可能降低用户体验的可变延迟。
本指南将介绍如何以私有方式将本地数据源连接到 Amazon Quick,确保流量不经过公共互联网。本文假定您已经拥有 AWS Direct Connect 或 AWS Site-to-Site 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 内部或本地部署的数据,目前仅支持通过知识库 VPC 连接访问 Amazon Redshift。Confluence、SharePoint、Box、Google Drive、OneDrive 和 Amazon S3 等数据源目前无法使用 Quick 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 Enterprise(VPC 连接需要 Enterprise 版本)。
- Quick 部署所在 AWS 区域中的现有 VPC。
- 受支持的 AWS 区域。Quick 网站 VPC 端点在 AWS 中国区域或 AWS GovCloud(美国)区域中不可用。
- 已在本地网络与 VPC 之间建立 AWS Direct Connect 连接或站点到站点 VPN。这是将流量从数据中心传输到 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 Virtual Private Cloud (Amazon VPC) 控制台中创建网站端点:
- 打开 Amazon VPC 控制台。在导航窗格的 PrivateLink and Lattice 下,选择 Endpoints,然后选择 Create endpoint。
- 输入 Name tag(例如 my-quicksight-vpc-endpoint),并在 Type 中选择 AWS services。
- 在 Services 下,搜索
com.amazonaws.<region>.quicksight并选择com.amazonaws.<region>.quicksight-website(图 2)。
图 2:为端点命名并选择 Quick 网站端点服务
- 在 Network settings 下,选择您的 VPC。在 Additional settings 下,保持选中 Enable private DNS name。
- 选择至少两个可用区中的子网,然后选择端点 ENI 的安全组(图 3)。
图 3:为端点选择 VPC、私有 DNS、子网和安全组
- 选择 Policy(请参阅下文“设置 VPC 端点策略”部分),添加标签,然后选择 Create endpoint(图 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 控制台中,选择 Hosted zones,然后选择 Create hosted zone。
- 在 Domain name 中,输入
<region>.quicksight.aws.amazon.com(例如,us-east-1.quicksight.aws.amazon.com)。将区域限定在您的 Region,可避免覆盖其他 Quick 主机名。选择 Private hosted zone,关联您的 VPC,然后选择 Create hosted zone(图 5)。
图 5:在 Amazon Route 53 中创建私有托管区
- 在新建的托管区中,选择 Create record(图 6)。
图 6:在新建的私有托管区中创建记录
- 将 Record name 留空,选择记录类型 A,开启 Alias,选择 Alias to VPC endpoint,选择您的 Region 和网站端点的 DNS 名称,然后选择 Create records(图 7)。
图 7:创建指向 Quick 网站 VPC 端点的别名 A 记录
设置 VPC 端点策略
VPC 端点策略会限制哪些账户或组织可以使用该端点。对于 Quick,可以按 AWS 账户 ID 或 Organization ID 设置策略范围。要更改策略,请在 Amazon VPC 控制台中打开该端点,选择 Policy 选项卡,然后选择 Edit Policy(图 8)。
重要限制:对于 Quick 网站端点,
Principal、Action和Resource字段都必须设置为*。条件只能针对aws:PrincipalAccount或aws:OrgId属性进行指定。仅 API 端点支持限制更严格的操作级策略。
网站端点策略示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "*",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalAccount": ["012345678901"]
}
}
}
]
}图 8:从 VPC 端点详细信息页面打开端点策略
API 端点策略示例(限制为特定操作):
{
"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)的返回流量,因为返回数据包使用随机分配的目标端口。此日期之后创建的连接采用标准有状态行为。请参阅 安全组:入站和出站规则。
创建执行角色
Amazon Quick 不会为你创建 VPC 连接执行角色。添加连接之前,请创建专用 IAM 角色(推荐),或更新已有的、信任 Quick 的角色,例如本文截图中使用的 aws-quicksight-service-role-v0。该角色需要:
- 授予 Amazon Quick 用于管理其 ENI 的 Amazon Elastic Compute Cloud(Amazon EC2)操作权限策略(图 10)。
- 允许
quicksight.amazonaws.com承担该角色的信任策略。只有具有此信任策略的角色才会显示在 Quick 控制台的 执行角色 列表中。
权限策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:DeleteNetworkInterface",
"ec2:ModifyNetworkInterfaceAttribute",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
],
"Resource": "*"
}
]
}图 10:添加 VPC 连接执行角色所需的 Amazon EC2 权限
信任策略:
{
"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 连接”
- Provide the following (Figure 13):
- 描述性 VPC 连接名称。
- 目标 VPC 的 VPC ID。之后无法更改。
- 你在上一步中创建的 执行角色。
- 不同可用区中的至少两个 子网。
- 至少一个 安全组 ID。
- (可选)如果数据库主机名必须通过私有 DNS 解析,请在 DNS 解析器端点 下输入 Route 53 Resolver 入站端点的 IP 地址。
- 选择 添加。
图 13:在 Quick 控制台中添加 VPC 连接
连接状态会显示为 UNAVAILABLE,直到 Quick 完成 ENI 配置,之后会变为 AVAILABLE。状态为 PARTIALLY AVAILABLE 表示其中一个 ENI 不可用,但仍可使用该连接。
配置数据源 VPC 端点
VPC 端点(此处用于 AWS 服务 API 的 PrivateLink)和 VPC 连接(放置在 VPC 中的 Quick ENI;请参阅数据源访问的 VPC 连接)是不同的机制。Quick 在为控制面板和分析检索数据时会访问其他 AWS 服务(Amazon S3、Amazon Redshift、Amazon Athena、AWS Secrets Manager)。如果希望所有流量都保持私有,包括 Amazon 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 端点可确保 Athena API 流量仅通过 AWS PrivateLink 传输。
在放置 Amazon Quick ENI 的同一 VPC 中创建这些端点。确保路由表和安全组允许 Amazon Quick 子网与端点子网之间的流量。
启用对所需外部域的访问
Quick 与本地数据源之间的数据流量会保留在私有网络中,但用户的浏览器仍需访问一组域名,以用于登录、静态资源、客户端指标和集成。即使已配置 VPC 端点,不支持 VPC 端点的域名仍需要出站连接,通常通过企业代理或防火墙实现。如果您的账户使用 IAM Identity Center,浏览器登录还需要公共 AWS 登录和 IAM Identity Center 端点(请参阅安全的用户访问和身份联合)。
所需外部域
| 域名 | 用途 | VPC 端点支持 |
<region>.quicksight.aws.amazon.com |
Quick 网站的大部分流量 | 是 |
quicksight.<region>.amazonaws.com |
Quick 公共 API 调用 | 是 |
signin.aws.amazon.com |
使用 IAM 身份的账户的 AWS 控制台登录 | 是 |
<region>.signin.aws |
登录 | 否 |
*.cloudfront.net |
静态资源(CSS、JavaScript) | 否 |
*.s3.<region>.amazonaws.com |
报告和缩略图 | 是 |
*.execute-api.<region>.amazonaws.com |
客户端指标 | 否 |
*.kinesisvideo.amazonaws.com |
自动化工作流的实时流 | 否 |
apis.google.com/js/api.js |
Google Drive 文件选择器 | 不适用 |
*.officeapps.live.com |
Quick 侧边栏扩展 | 不适用 |
outlook.cloud.microsoft |
Quick 侧边栏扩展 | 不适用 |
*.sharepoint.com |
Quick 侧边栏扩展 | 不适用 |
*.office.com |
Quick 侧边栏扩展 | 不适用 |
*.office365.com |
Quick 侧边栏扩展 | 不适用 |
来源: Quick 访问的域名。
配置指南:
- 对于支持 VPC 端点的域名(Quick 网站和 API、
signin.aws.amazon.com和 Amazon S3),请创建相应的 VPC 端点和 DNS 记录。 - 对于不支持 VPC 端点的域名,请通过企业互联网出口(出站代理或防火墙)允许访问。如果用户流量通过 VPC 出站,请在公有子网中使用 NAT 网关。
- 如果您的安全策略要求按 URL 进行筛选,请使用出站代理或 AWS Network Firewall 域名筛选规则,仅允许访问前面列出的域名。
- 从企业工作站(或位于同一出站路径中的实例)进行测试:对每个域名执行
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)进行配置:
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 policy。 - 启用限制前,请确保规则中包含您自己的 IP 或 VPC 端点,否则您将无法访问自己的账户。
- 规则最多可能需要 10 分钟才能完全生效。
- 您可以组合使用 IP 规则和 VPC 端点规则,只要流量符合任一类型的规则即可获准访问。您最多可以添加 100 条 IP 和 VPC 端点规则。
- 账户的所有 AWS 区域都会强制执行 IP 和 VPC 端点规则,但您只能在创建 Quick 账户的 AWS 区域中添加或管理这些规则。
- 如果您有公开嵌入的控制面板,启用限制后,只能通过 VPC 端点访问这些控制面板。
强制实施限制后,只有通过指定的 VPC 端点(或允许的 IP 范围)到达的流量才能访问您的 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 容量购买。
- 作者 – 可以创建和发布控制面板、构建代理、配置 Spaces、管理数据源、创建流程和构建应用。
- 读者 – 可以查看已发布的控制面板、与代理交互、使用获准访问的 Spaces,以及查看 Quick Research 报告。
这些角色映射到联合用户在登录时所代入的 IAM 角色。通过在 IdP 中管理角色分配,您可以维护一个统一的事实来源,明确每个人拥有什么级别的访问权限。
此外,Quick 支持自定义权限配置文件,可在账户、角色或用户级别覆盖默认角色权限。用户级别的权限会覆盖角色级别的权限,而角色级别的权限又会覆盖账户级别的权限。这让管理员能够在三种基本角色之外进行精细控制。
通过 Spaces 对用户进行分组
Quick Spaces 在角色之外提供了另一层访问细分机制。每个 Space 都可以配置特定用户和群组的权限,这意味着:
- 包含敏感收入控制面板和财务知识库的财务团队 Space,仅对财务群组开放。
- 包含连接 CRM 的代理和销售管道控制面板的销售团队 Space,仅限销售人员访问。
- 跨职能 Space 可以与多个群组共享,并设置相应权限。
Space 级别的访问权限由从身份提供商同步的群组控制,因此,将新团队成员添加到相应群组后,系统会自动授予其相关 Spaces 的访问权限。
Quick Sight 中的行级安全性
对于由结构化数据支持的控制面板,Quick Sight 支持行级安全性 (RLS),用于限制每位用户或群组可以查看的数据行。RLS 通过数据集规则进行配置;数据集规则是一种权限数据集,用于将用户或群组映射到其可访问的字段值。
例如,可以将区域销售控制面板配置为:
- EMEA 销售群组只能看到满足
region = 'EMEA'的行。 - NA 销售群组只能看到满足
region = 'NA'的行。 - 销售副总裁可以看到所有行。
RLS 规则根据 IAM Identity Center 确定的用户身份进行评估,这意味着控制登录的同一身份联合机制也控制数据级别的访问权限。此规则同样适用于传统控制面板视图和由 AI 驱动的自然语言查询。相同的安全策略也会限制 AI 在生成答案时可以引用的数据。
列级安全性
除了行级限制外,Quick Sight 还支持列级安全性(CLS),可对特定用户或群组隐藏敏感列。例如,包含员工信息的数据集可能仅允许 HR 群组访问薪资和 SSN 列,同时其他群组仍可访问同一数据集中的非敏感列。
身份与私有连接如何关联
身份层和网络层协同工作:
- 企业网络上的用户通过你的 IdP → IAM Identity Center → Quick 进行身份验证。
- 用户请求通过 VPC 端点到达 Quick(私有网络路径;请参阅用于用户和 API 访问的 VPC 端点)。
- Quick 会评估用户身份,以确定其角色、Space 访问权限以及 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 |
返回账户设置;Flow Logs 显示源 IP 来自你的 VPC |
| 数据源(VPC 连接) | 创建一个测试 Quick Sight 数据源,通过 VPC 连接指向本地数据库 | 连接测试成功。测试查询返回数据 |
| 知识库(VPC 连接) | 使用 VPC 连接从 Amazon Redshift 数据源创建知识库,然后触发同步 | 同步完成。内容显示在知识库中 |
| 操作连接器(VPC 连接) | 创建一个指向内部 API 的测试操作,并通过代理调用 | 操作返回预期响应 |
| 嵌入式控制面板 | 从内部应用加载嵌入式 Quick Sight 控制面板 | 控制面板正常显示。浏览器开发者工具确认使用私有 IP |
监控
为持续监控流量情况,请在所有端点和 VPC 连接 ENI 上启用 VPC Flow Logs,以捕获流量元数据。监控 VPC 端点上的 CloudWatch 指标(ActiveConnections、BytesProcessed、PacketsDropped),并针对连接故障或异常流量来源设置警报。这些日志也可作为合规文档中所述的审计记录。
常见问题排查
| 症状 | 可能原因 | 解决方法 |
| 从企业网络无法访问 Quick 网站 | DNS 未解析到 VPC 端点 | 验证 <region>.quicksight.aws.amazon.com 的 A 记录指向端点 DNS 名称,并确认本地 DNS 将该名称转发到 Route 53 Resolver 入站端点。检查端点上的私有 DNS 设置。 |
| 启用限制后无法访问 | 你的 IP/端点不在允许列表中 | 使用具有 API 访问权限的 IAM 身份执行 update-ip-restriction CLI 命令,将你的端点添加到列表中(API 不受 IP/VPC 规则限制)。 |
| API 调用超时 | 安全组阻止了流量 | 确保端点安全组允许来自企业 CIDR 的入站 HTTPS(端口 443)流量。 |
| 数据源连接失败 | VPC 连接 ENI 无法访问目标 | 验证 VPC 连接 ENI 上的安全组允许出站访问数据库端口,并且数据库安全组允许来自 Quick 安全组的入站流量。对于在 2023 年 4 月 27 日之前创建的连接,验证是否配置了允许所有端口返回流量的入站规则。检查路由表,确认存在通往本地网络的路径。 |
| 静态资源未加载(空白页面) | 外部域被阻止 | 确保代理或 NAT 网关允许 *.cloudfront.net,并且 *.s3.<region>.amazonaws.com 可通过 S3 VPC 端点或代理访问。 |
| SSO 登录失败 | 无法访问登录域 | 允许 signin.aws.amazon.com 和 <region>.signin.aws 通过防火墙/代理。对于 IAM Identity Center 账户,还要允许 AWS 公共登录端点和 IAM Identity Center 端点(请参阅“安全用户访问和身份联合”)。 |
| VPC 连接状态显示为 UNAVAILABLE | 执行角色配置错误 | 验证执行角色具有 ec2:CreateNetworkInterface、ec2:DescribeSubnets、ec2:DescribeSecurityGroups、ec2:ModifyNetworkInterfaceAttribute 和 ec2:DeleteNetworkInterface,并且其信任策略允许 quicksight.amazonaws.com。 |
| 无法访问公开嵌入式控制面板 | VPC 端点限制阻止公共流量 | 已知情况:启用限制后,公开嵌入需要访问 VPC 端点。可考虑为公共用户单独设置一个端点,或禁用公开嵌入。 |
安全最佳实践
仅依靠网络隔离或身份控制都不够。此架构同时依赖二者:网络控制可阻止未经授权的访问路径,而身份控制可阻止在已授权会话中未经授权的数据访问。以下实践有助于维护这两个层面。
- 遵循最小权限原则的端点策略:按
aws:PrincipalAccount或aws:OrgId限制网站端点。对于 API 端点,应将策略范围限定为自动化所需的特定操作,而不是允许所有quicksight:*操作。 - 分层安全组:将安全组应用于 VPC 端点 ENI(用户流量)和 VPC 连接 ENI(数据流量)。对于端点 ENI,将入站 HTTPS 限制为企业 CIDR 范围。对于 VPC 连接 ENI,使用专用安全组,将出站流量限制为 Quick 所需的数据库端口和目标,并在每个数据源的入站规则中引用该安全组。
- 为所有端点 ENI 启用 VPC Flow Logs:这些日志会捕获流量元数据,用于安全监控、异常检测和合规审计。它们还会提供监管框架要求的受控网络边界审计跟踪。
- 定期审核端点策略:每季度审查端点策略。使用 AWS Config 规则检测配置是否偏离基准。
- 按敏感级别分离 VPC 连接:如果有多个数据环境(开发、预发布、生产),请创建具有不同安全组的独立 VPC 连接,以防止跨环境访问。
- 使用 CloudWatch 进行监控:针对
PacketsDropped和ActiveConnections指标设置警报。异常模式可能表明配置错误或有人试图进行未经授权的访问。
示例要求和 AWS 配置
以下示例展示了本文中的配置如何满足常见的网络安全要求。请与安全团队一起,根据自身要求进行评估。
| 要求 | 可用于支持评估的 AWS 控制措施 |
| 敏感数据不得经由公共互联网传输 | 用于用户流量的 VPC 端点、用于数据流量的 VPC 连接,以及用于提供网络可见性的 VPC Flow Logs |
| 用户数据隔离 | VPC 连接 ENI 上的安全组,以及用于敏感数据访问的行级安全 |
| 仅允许访问授权端点 | VPC 端点限制(第 4 节)、CloudTrail API 日志和 VPC Flow Logs |
成本考量
| 组件 | 成本模型 | 估算 |
| VPC 接口端点 | 每个可用区每小时 $0.01 + 每处理 1 GB 收取 $0.01 | 每个端点每个可用区每月约 $7.20(固定费用)+ 数据传输费用 |
| VPC 网关端点(S3) | 免费 | 免费 |
| VPC 连接(Quick ENI) | 包含在 Quick Enterprise 中 | 不额外收费 |
| NAT 网关(用于外部域名) | 每小时 $0.045 + 每处理 1 GB 收取 $0.045 | 每月约 $32(固定费用)+ 数据传输费用 |
| VPC Flow Logs | CloudWatch Logs 摄取费率 | 因流量大小而异 |
| Direct Connect | 端口时长 + 数据传输 | 因线路容量而异 |
成本优化提示:
- 尽可能使用网关端点(不额外收费)访问 S3,而非接口端点。
- 合并端点 ENI:每个端点只需在 Amazon Quick VPC 连接子网所在的可用区中配置 ENI。
- 仅在端点 ENI 上选择性启用 VPC Flow Logs,而非在整个 VPC 上启用。
- 考虑是否所有外部域名都需要通过 NAT 网关访问,或者对于你的流量模式,使用定向代理是否更具成本效益。
结论
此架构建立了四项互补控制:VPC 端点确保用户流量保持私有,VPC 连接为 Quick 提供通往数据源的私有路径,身份联合决定谁可以访问哪些内容,而 VPC 端点限制则确保必须使用这条私有路径。每一层都可独立审计,并对应特定的合规要求(请参阅合规性映射)。
完成这些配置后,Quick Agents 可以查询本地数据库,Quick Research 可以调查防火墙后的企业数据源,Quick Sight 控制面板可以可视化敏感数据,Quick Flows 可以编排内部系统,所有这些操作都无需让数据经过公共互联网。AI 功能不变,暴露风险则被消除。
实施时,先设置用于用户和 API 访问的 VPC 端点,并在继续配置用于数据源访问的 VPC 连接之前验证用户访问。只有在确认所有访问模式都能通过私有路径正常工作后,才启用 VPC 端点限制。有关身份联合设置以及高级 RLS/CLS 配置,请参阅 IAM Identity Center 文档。
作者简介
Rahul Kulkarni
Rahul 是 AWS 的生成式 AI 和机器学习专家,帮助金融服务机构将 AI 工作负载从实验阶段推进到生产环境。他尤其关注银行、投资公司和金融科技公司如何将生成式 AI 应用于研究、客户互动和知识密集型工作流程。工作之余,Rahul 喜欢旅行,也热衷于为 Boston Red Sox 加油。
Yago Tobio Souto
Yago 是 AWS 的解决方案架构师,常驻伦敦,专长于生成式 AI、Amazon Bedrock 和智能体框架。他帮助组织将 AI 原型转化为可用于生产环境的解决方案。周末时,他可能会去跑步,或者探索这座城市……也可能两者同时进行。
Muhammad Zain Akram
Zain 是 AWS 的解决方案架构师,常驻瑞典,专注于生成式 AI。他与客户合作,了解他们的业务挑战,并将其转化为安全、可扩展且能带来实际成效的解决方案。闲暇时,他喜欢与家人和朋友共度时光,常常一起看电影或做饭。
来源:AWS Machine Learning Blog · aws.amazon.com













