当企业数据位于企业防火墙之后或私有本地数据中心内时,尽管 Amazon Quick 中的 AI 代理和仪表板几乎可以查询任何数据源,但从 AWS 到这些数据并没有直接的网络路径。管理员必须确保敏感企业数据不被暴露到公共互联网,同时仍可供 AI 驱动的洞察和操作访问。
对许多企业而言,通过公共互联网路由流量会带来不可接受的风险。诸如 HIPAA、FedRAMP 和 PCI-DSS 等监管框架通常要求敏感数据保留在受控的网络边界内。即使合规并非主要驱动因素,暴露内部数据路径也会扩大攻击面、使审计轨迹复杂化,并引入可能降低用户体验的可变延迟。
本演练向您展示如何私密地将本地数据源连接到 Amazon Quick,而不让流量经过公共互联网。它假设您已经拥有将本地环境连接到虚拟私有云(VPC)的 AWS Direct Connect 或 AWS Site-to-Site VPN。在此基础上,我们配置由 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 中的应用程序(Apps in 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 连接或 Site-to-Site 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 不受支持:action connector API(CreateActionConnector、DeleteActionConnector、DescribeActionConnector、DescribeActionConnectorPermissions、ListActionConnectors、SearchActionConnectors、UpdateActionConnector、UpdateActionConnectorPermissions)以及 flow API(GetFlowMetadata、GetFlowPermissions、ListFlows、SearchFlows、UpdateFlowPermissions)。以编程方式管理 action connector 或 flow 的自动化需要一个到公共 API 端点的路径。请参阅 Quick 和接口 VPC 端点.
如果管理员通过 VPC 以 IAM 用户身份登录 Amazon Quick,还需创建 AWS Management Console 端点:
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(AWS 服务).
- 在 Services(服务)下,搜索
com.amazonaws.<region>.quicksight并选择com.amazonaws.<region>.quicksight-website(图 2)。
图 2:为终端节点命名并选择 Quick website 终端节点服务
- 在 Network settings(网络设置)下,选择您的 VPC。在 Additional settings(其他设置)下,保持选中 Enable private DNS name(启用私有 DNS 名称) 。
- 在至少两个可用区中选择子网,然后为终端节点 ENI 选择安全组(图 3)。
图 3:为终端节点选择 VPC、私有 DNS、子网和安全组
- 选择一个 Policy(策略) (参见以下 Setting up VPC endpoint policies 部分),添加标签,然后选择 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 控制台中,选择 托管区,然后选择 创建托管区.
- 对于 域名,输入
<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 或 Organization ID 进行限定。要更改策略,请在 Amazon VPC 控制台中打开该端点,选择 政策 标签页,然后选择 编辑政策 (图 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 企业版与 Amazon VPC 完全集成。当您在 Amazon Quick 中创建 VPC 连接时,您是在向您的 VPC 子网中添加弹性网络接口(ENI)。这些 ENI 使 Quick 能够与您 VPC 内的资源交换网络流量,进而与该 VPC 可访问的任何内容通信,包括通过 Direct Connect 或 VPN 连接的本地系统。
所有标准 VPC 安全控制均适用于此流量。路由表、网络 ACL、子网和安全组以管控 VPC 中任何其他实例之间流量的相同方式,管控进出 Quick 的流量。这意味着您可以连接到:
- 未向公共互联网开放的私有数据库。
- 可通过 Direct Connect 或 VPN 访问的本地数据源。
- 可通过网络内 IP 地址访问的内部 API。
创建一个专用的安全组(例如, QuickSight-VPC)用于VPC连接ENI。在每个数据源的安全组上,允许来自该安全组ID的数据库端口的入站流量。
关于2023年4月27日之前创建的 VPC 连接的说明: 连接到 Quick 网络接口的安全组不是有状态的。您必须添加一条入站规则,明确允许来自数据源安全组在所有端口(0–65535)上的返回流量,因为返回数据包使用随机分配的目标端口。在该日期之后创建的连接使用标准的有状态行为。请参阅 安全组:入站和出站规则.
创建执行角色
Amazon Quick 不会为您创建 VPC 连接执行角色。在添加连接之前,请创建一个专用 IAM 角色(推荐),或更新一个已经信任 Quick 的现有角色,例如 aws-quicksight-service-role-v0 本文截图中所使用的角色。该角色需要:
- 一项权限策略,授予 Amazon Elastic Compute Cloud(Amazon EC2)中 Quick 用于管理其 ENI 的操作(图 10)。
- 一项信任策略,允许
quicksight.amazonaws.com担任该角色。只有具有此信任策略的角色才会出现在 Quick 控制台的 Execution role 列表中。
权限策略:
{
"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。选择右上角的个人资料图标,然后选择 Manage account (图 11)。如果您看不到此选项,则说明您不是 Quick 管理员。
图 11:从 Quick 个人资料菜单打开 Manage account
- 在导航窗格中的 Security下,选择 Manage VPC connections (图 12),然后选择 Add VPC connection.
图 12:Manage account 页面上 Security 下的 Manage VPC connections
- 提供以下内容(图 13):
- 一个具有描述性的 VPC connection name.
- 目标 VPC 的 VPC ID 。此后无法更改。
- 您在上一步中创建的 Execution role 。
- 位于不同可用区中的至少两个 子网 。
- 至少一个 安全组 ID 。
- (可选)如果您的数据库主机名必须通过私有 DNS 解析,请在下文输入您的 Route 53 Resolver 入站端点的 IP 地址 DNS 解析器端点.
- 选择 添加.
图 13:在 Quick 控制台中添加 VPC 连接
连接状态显示为 UNAVAILABLE 直到 Quick 完成 ENI 的预置,然后变为 AVAILABLE。状态为 PARTIALLY AVAILABLE 表示其中一个 ENI 不可用,但连接仍可使用。
配置数据源 VPC 端点
VPC 端点(PrivateLink,此处用于 AWS 服务 API)和 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 端点仅通过 AWS PrivateLink 保留 Athena API 流量。
请在放置 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 凭证登录的管理员可以访问限制页面):
- 选择您的个人资料图标,然后选择 Manage account。在 Security下,选择 Manage IP/VPC restrictions.
- 在 Restriction 字段中,输入 VPC 端点 ID(例如,
vpce-001122def),输入 Description,然后选择 Add (图 14)。 - 选择 Save changes 以应用该规则。
- 开启 Enforce restrictions.
图 14:在 IP 和 VPC 端点限制页面上添加 VPC 端点规则
或者,通过 AWS Command Line Interface (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 策略。 - 在启用限制之前,请确保将您自己的 IP 或 VPC 端点包含在规则中,否则您会将自己锁定在外。
- 规则最多可能需要 10 分钟才能完全生效。
- 您可以组合使用 IP 规则和 VPC 端点规则,只要流量满足其中任一规则类型即被允许。IP 规则和 VPC 端点规则合计最多可添加 100 条。
- IP 和 VPC 端点规则会在您账户的所有 AWS 区域中强制执行,但您只能在创建 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 支持三种决定用户可以执行哪些操作的基础角色:
- Admin – 完全的管理访问权限,包括数据源配置、VPC 连接、安全设置、用户管理和 SPICE 容量购买。
- Author – 可以创建和发布仪表板、构建代理、配置 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),以对特定用户或组隐藏敏感列。例如,一个包含员工信息的数据集可能会将薪水和 SSN 列限制为仅 HR 组可访问,而其他组仍然可以访问同一数据集中的非敏感列。
身份如何与私有连接关联
身份层和网络层协同工作:
- 公司网络上的用户通过您的 IdP → IAM Identity Center → Quick 进行身份验证。
- 他们的请求通过 VPC 终端节点(私有网络路径;参见用户和 API 访问的 VPC 终端节点)到达 Quick。
- 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 端点) | aws quicksight describe-account-settings 从 VPC 内部 |
返回账户设置;Flow Logs 显示来自您的 VPC 的源 IP |
| 数据源(VPC 连接) | 通过 VPC 连接创建指向本地数据库的测试 Quick Sight 数据源 | 连接测试成功。测试查询返回数据 |
| 知识库(VPC 连接) | 使用 VPC 连接从 Amazon Redshift 源创建知识库,然后触发同步 | 同步完成。内容出现在知识库中 |
| 操作连接器(VPC 连接) | 创建指向内部 API 的测试操作,并通过代理调用它 | 操作返回预期响应 |
| 嵌入式仪表板 | 从内部应用加载嵌入式 Quick Sight 仪表板 | 仪表板正常渲染。浏览器开发者工具确认使用的是私有 IP |
监控
为了持续获得可见性,在所有端点和 VPC 连接的 ENI 上启用 VPC Flow Logs 以捕获流量元数据。监控 VPC 端点上的 CloudWatch 指标(ActiveConnections, BytesProcessed, PacketsDropped),并为连接失败或异常流量来源设置警报。这些日志还可作为合规性文档中提到的审计跟踪。
常见问题排查
| 症状 | 可能原因 | 解决方法 |
| 企业网络无法访问 Quick 网站 | DNS 未解析到 VPC 端点 | 验证 A 记录 <region>.quicksight.aws.amazon.com 指向端点 DNS 名称,并确认本地 DNS 将该名称转发到 Route 53 Resolver 入站端点。检查端点上的私有 DNS 设置。 |
| 启用限制后被锁定 | 你的 IP/端点不在允许列表中 | 使用 update-ip-restriction CLI 命令并配合一个拥有 API 访问权限的 IAM 身份(该 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端点(请参阅Secure user access and identity federation)。 |
| 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/小时 + $0.01/GB 处理量 | 每个端点每个可用区约 $7.20/月(固定)+ 数据传输费 |
| VPC 网关端点(S3) | 免费 | 免费 |
| VPC 连接(Quick ENI) | 包含在 Quick Enterprise 中 | 无额外费用 |
| NAT 网关(用于外部域名) | $0.045/小时 + $0.045/GB 处理量 | 约 $32/月(固定)+ 数据传输费 |
| VPC Flow Logs | CloudWatch Logs 摄入费率 | 随流量大小而变化 |
| Direct Connect | 端口时长 + 数据传输费 | 随线路大小而变化 |
成本优化建议:
- 在可能的情况下,对 S3 使用网关端点(无额外费用)而非接口端点。
- 整合端点 ENI:每个端点只需在 Amazon Quick VPC 连接子网所在的可用区中部署 ENI。
- 仅在端点 ENI 上有选择地启用 VPC Flow Logs,而非整个 VPC。
- 评估是否所有外部域名都需要 NAT 网关访问,或者针对您的流量模式,定向代理是否更具成本效益。
结论
该架构建立了四项互补的控制措施:VPC 端点使用户流量保持私密,VPC 连接为 Quick 提供通往您数据源的私有路径,身份联合决定谁可以访问什么,而 VPC 端点限制使私有路径成为强制要求。每一层都可以独立审计,并对应具体的合规要求(参见 Compliance mapping)。
完成这些配置后,Quick Agents 可以查询您的本地数据库,Quick Research 可以调查防火墙后的企业数据源,Quick Sight 仪表板可以可视化敏感数据,Quick Flows 可以编排内部系统——所有这些都不需要您的数据经过公共互联网。AI 能力没有改变,被移除的只是暴露面。
在实施时,先从用于用户和 API 访问的 VPC 端点开始,并在进入用于数据源访问的 VPC 连接之前验证用户访问。只有在确认所有访问模式都能通过私有路径正常工作后,才启用 VPC 端点限制。有关身份联合设置和高级 RLS/CLS 配置,请参阅 IAM Identity Center 文档.