Amazon Q Business 最近新增了允许管理员修改默认访问控制列表ACL爬行特性的功能。此功能使得用户可以根据自身业务需求启用或禁用 ACL 爬行。本文将介绍这一新功能,并讨论在何种情况下可以禁用 ACL 爬行及其安全配置的方式。
Amazon Q Business 是一款完全托管、以 AI 驱动的企业级助手,具备安全与隐私特性。它包含超过 40 种数据源连接器,用于爬行和索引文档。默认情况下,Amazon Q Business 会索引附加在文档上的 ACL 信息,并利用这些信息根据用户的文档访问权限过滤聊天回复。借助这一新功能,用户可以根据具体的业务用例启用或禁用 ACL 爬行。
本文将介绍 Amazon Q Business 的新 ACL 切换功能,探讨禁用 ACL 的情形,以及如何安全启用或禁用 ACL 爬行。
Amazon Q Business 的数据源连接器可以爬行多种数据源,收集和索引内容,以便在回答用户查询时实现快速发现和检索。这些数据源通常包含不同分类的文档,如公共、内部公开、私有和机密。因此,您可以将 ACL 附加到文档上,以便为不同用户或组指定不同的访问权限。为了确保 Amazon Q Business 遵循访问控制策略,并且用户仅接收他们有权限访问的内容,数据源连接器会自动爬行与内容、用户标识符和组相关联的访问权限。
图示说明了启用 ACL 爬行时 Amazon Q Business 数据源爬虫的工作流程。
上图展示了数据源爬虫如何在 retrieving 内容时,检索与文档相关的 ACL,并编制出具有读取权限的用户和组列表。同时,爬虫还收集用户标识符,这些标识符存储在 Amazon Q Business 用户库中,以便在查询执行时快速匹配。有关用户库的更多信息,请参阅 了解 Amazon Q Business 用户库。
ACL 爬行构建了一个尊重主数据源访问控制策略的安全感知索引。这个过程有助于维护数据隐私与访问控制,以确保敏感信息不会通过用户查询结果意外暴露。尽管如此,在某些情况下可能需要禁用 ACL 爬行。以下是可能禁用 ACL 爬行的一些原因。
内部公开内容企业通常将某些数据源指定为内部公开内容,例如人力资源政策、IT 知识库和维基页面。例如,一家公司可能会为所有员工设立一个完整的 Microsoft SharePoint 网站以供访问,将其划分为内部公开内容。在这种情况下,爬行所有员工的权限 ACL 可能会产生额外的成本并造成不必要的开销,因此在这些场景中禁用 ACL 爬行可能更具优势。
数据源包含不可调和的身份信息Amazon Q Business 要求所有用户通过企业批准的身份提供者 (IdP) 进行身份验证。在成功验证后,Amazon Q Business 使用 IdP 提供的用户标识符与 ACL 爬行时从数据源获取的用户标识符进行匹配。这一过程验证用户对内容的访问权限,并在检索时使用。
飞鱼加速器破解版但是,由于并购等历史问题,数据源配置的限制或其他约束,IdP 的主用户标识符可能与数据源中的标识符不同。这种差异可能导致 Amazon Q Business 无法有效检索相关内容并回答用户查询。在这种情况下,可能需要禁用 ACL 爬行并使用其他选项,例如实施属性过滤或构建访问限于特定受众及内容的专用受限应用程序。有关属性过滤的更多信息,请参阅 使用文档属性过滤聊天回复。
用例驱动的目标部署作为一项完全托管的服务,Amazon Q Business 可以快速部署以应对多种特定用例,例如 Slack 中的 HR 机器人或联系中心客服代理的 AI 助手。由于这些 AI 助手可能仅面向有限受众,连接的数据内容可能对所有拥有应用访问权限的用户普遍可用,因此可以关闭 ACL 爬行。
如果禁用 ACL 爬行,Amazon Q Business 将无法执行文档级别的访问控制。当某数据源的 ACL 爬行被禁用时,该数据源中的已索引内容将被视为对拥有 Amazon Q Business 应用访问权限的用户可访问。所以,禁用 ACL 爬行的决策应谨慎并尽职尽责。以下是一些推荐的最佳实践:
通知数据源内容所有者和管理员您打算禁用 ACL 爬行,并事先获得他们的批准。如果适用,考虑实施其他选项,例如属性过滤,以限制内容检索,或者开展限于特定受众的目标性小型项目。保持一份决策文档,清晰阐述禁用 ACL 爬行的原因、受影响内容的范围,以及为防止索引敏感信息而采取的预防措施。注意: 作为一种预防措施,您无法禁用已经启用 ACL 爬行的现有 Amazon Q Business 数据源。要禁用 ACL 爬行,需首先删除该数据源并重新创建。您只能在数据源创建过程中的设置中禁用 ACL 爬行,这需要帐户管理员在配置数据源时授予禁用 ACL 爬行的权限。
Amazon Q Business 的 ACL 爬行有助于保护您的数据。平台提供了一系列安全措施,帮助管理员和开发人员避免意外禁用 ACL 爬行。在本节中,我们将介绍如何允许或拒绝禁用 ACL 爬行的功能,探索启用或禁用 ACL 爬行的过程,解释如何监控 ACL 爬行配置更改的日志,并排除常见问题。
ACL 爬行配置通常涉及多重角色,具体取决于您的组织结构。为了最大限度提升安全措施,建议这些角色由不同人员担任。为了加速部署,建议在项目启动前,识别出您的组织中必要的人员,并确保他们协同完成配置。以下是 ACL 爬行配置所需的常见角色:
AWS 账户管理员 具有完全访问 AWS 服务权限和管理 IAM 资源及权限能力的用户。可以创建和管理组织,实现对多个 AWS 账户的集中管理。Amazon Q Business 管理员 通常负责管理和配置 Amazon Q Business 服务的用户或角色。职责包括创建和优化 Amazon Q Business 索引、设置保护措施和调整相关性。同时,他们还负责设置和维护 Amazon Q Business 将索引的各种数据源连接,例如 Amazon S3、SharePoint、Salesforce 和 Confluence。默认情况下,禁用 ACL 爬行的选项在一个账户里是启用的。AWS 账户管理员可以通过设置账户级别策略来禁止此功能。建议默认情况下对生产账户配置明确的拒绝。以下展示了与配置过程中的角色相关的行动。

管理员可以将 IAM 动作 qbusinessDisableAclOnDataSource 附加到 Amazon Q Business 管理员用户或角色策略,以禁止或允许禁用 ACL 爬行的选项。下面的 IAM 策略示例代码段演示了如何设置明确的拒绝。
json{ Version 20121017 Statement [ { Effect Deny Action [ qbusinessDisableAclOnDataSource ] Resource [] } ]}
请注意,即使禁用了禁用 ACL 爬行的选项,用户界面可能不会变灰出此选项。但是,如果您尝试创建此选项禁用的数据源,将会通过验证检查失败,Amazon Q Business 将无法创建该数据源。
在您设置一个禁用 ACL 爬行的 Amazon Q Business 应用程序的数据源连接器之前,请确保数据源中没有敏感内容,或者已经实施控制措施以避免意外内容暴露。验证数据源连接器是否支持允许禁用 ACL 爬行。通知信息管理者、内容所有者和数据源管理员您计划禁用 ACL 爬行,并在必要时获得他们的文档批准。如果您的账户管理员明确否决了禁用 ACL 爬行的选项,请请求暂时的权限。在确保获得所有批准和例外之后,创建一个禁用 ACL 爬行的新数据源并同步数据。禁用 ACL 爬行后,Amazon Q Business 用户将能够通过该连接器发现知识并获得来自已索引文档的答案。通知账户管理员将账户政策恢复到明确拒绝禁用 ACL 爬行的状态。不同角色间的交互过程如下图所示。
以下是使用 AWS 控制台创建禁用 ACL 爬行的数据源的过程概述:
导航至 Amazon Q Business 控制台。选择要添加数据源连接器的 Amazon Q Business 应用程序。在 数据源 部分选择 添加数据源 并选择所需的连接器。更新连接器配置信息。有关配置详细信息,请参见 连接 Amazon Q Business 数据源。在 授权 部分,选择 禁用 ACL 并勾选确认框以接受禁用 ACL 爬行的风险。 完成剩余的连接器配置后选择 保存。同步数据源。注意: 您无法对已有的以启用 ACL 爬行创建的数据源连接器禁用 ACL 爬行。您必须创建一个新数据源连接器实例,并禁用 ACL,然后删除已经启用 ACL 爬行的旧实例。
推荐以启用 ACL 爬行的方式创建数据源连接器,无需 AWS 账户管理员执行额外的允许列表。在启用 ACL 爬行时,可以按照前面描述的禁用 ACL 的类似步骤进行操作。在控制台中配置数据源连接器时,在 授权 部分选择 启用 ACL 以创建一个启用 ACL 爬行的连接器。您还可以随时对任何已禁用此选项的现有数据源连接器启用 ACL 爬行。同步数据源连接器以使 ACL enforcement 生效,Amazon Q Business 用户只能查询和从他们在原数据源中有权限访问的文档中获取答案。
在启用 ACL 爬行之前,确保数据源管理员已正确设置所需权限,以确保爬虫具有在数据源中爬行 ACL 的权限。您可以在 连接 Amazon Q Business 数据源 连接器的先决条件部分找到所需的权限。以下展示了 设置一个启用 ACL 爬行的数据源连接器的过程。
Amazon Q Business 使用 AWS CloudTrail 记录与 ACL 爬行配置相关的 API 调用。您可以监控 CloudTrail 日志,以 CreateDataSource 和 UpdateDataSource API 调用来识别与 ACL 爬行相关的更改。有关 Amazon Q Business 记录到 CloudTrail 的所有 API 的完整列表,请参见此链接。
管理员还可以配置 Amazon CloudWatch 警报,如果某个数据源连接器的 ACL 爬行被禁用,可以生成自动化警报通知,便于他们采取补救措施。有关如何基于 CloudTrail 事件设置 CloudWatch 警报的逐步指南,请参见 如何使用 CloudWatch 警报监控 CloudTrail 事件。
以下是一个 CloudWatch 警报代码示例,显示了用于识别与禁用数据源连接器的 ACL 爬行相关事件的过滤模式。
json{ (eventSource = qbusinessamazonawscom) ampamp ( (eventName = CreateDataSource) (eventName = UpdateDataSource) ) ampamp (requestParametersdisableAclCrawl = true) }
在配置 Amazon Q Business 数据源连接器时,您可能会遇到问题。以下是一些常见错误及其可能的解决方案。
无权禁用 ACL 爬行在创建禁用 ACL 爬行的新数据源连接器时,您可能会出现错误消息 not authorized to perform qbusinessDisableAclOnDataSource。
该错误指示您的管理员已明确拒绝了您账户禁用 ACL 爬行的选项。请联系您的管理员以允许此操作。有关详细信息,请参见前文中的 “禁用 ACL 爬行的过程”。
数据源连接错误数据源连接器可能无法连接到您的数据源或爬取数据。在这种情况下,请验证 Amazon Q Business 是否能够通过公共互联网或 VPC 私有网络访问数据源。请参阅 连接 Amazon Q Business 数据源 以确认您的数据源身份验证是否拥有爬行内容和 ACL 所需的权限若启用。
身份和 ACL 不匹配错误最后,在成功与启用 ACL 爬行的数据源同步数据后,部分用户可能仍无法获得查询答案,尽管相关文档已被索引。此问题通常发生在用户没有访问原数据源中已索引内容的权限,或数据源获取的用户身份与登录身份不匹配的情况下。为排查这类 ACL 不匹配问题,请检查数据源同步报告。有关更多信息,请参见 引入文档级同步报告:提高 Amazon Q Business 数据同步可见性。
鉴于禁用 ACL 爬行可能对内容安全造成的影响,请在 Amazon Q Business 数据源连接器中禁用 ACL 爬行时考虑以下限制和最佳实践:
启用 ACL 爬行是单向控制机制。启用后,您无法禁用它,以防止在生产环境中意外禁用。默认情况下应保持启用 ACL 爬行,仅在需要时才禁用 ACL 爬行的某些数据源连接器。如有必要,考虑通过设置多个数据源连接器和限制 ACL 爬行禁用在较小内容段中的索引来拆分数据源的索引。使用数据源连接器的文档 “包含与排除” 特性定义索引范围。因身份不可调和禁用 ACL 爬行的情况下,请考虑实施其他选项