将 Amazon Q Business 连接到 Microsoft SharePoint Onlin
将 Amazon Q Business 连接到 Microsoft SharePoint Online 的最小权限访问控制
关键要点
本文介绍如何将 Amazon Q Business 与 SharePoint Online 连接,使用最小权限访问控制以确保数据安全。分享了创建和配置 Amazon Q Business 应用程序连接的步骤,并强调访问控制及最佳实践。Amazon Q Business 是一款生成式人工智能AI助手,能够利用公司的知识和数据赋能员工。许多组织使用 Microsoft SharePoint Online 作为安全存储、组织、共享及访问内部数据的工具。基于生成式 AI,员工能够获取问题答案、总结内容,或从 SharePoint Online 保存的数据中提取洞察。通过使用 Amazon Q Business Connectors,您可以快速将 SharePoint Online 数据连接到 Amazon Q Business 应用,从而开始获取数据洞察。
本文将演示如何使用 Amazon Q Business 作为 SharePoint Online 数据源,提供答案、生成摘要,并利用最小权限访问控制和 Microsoft SharePoint 开发支持团队推荐的最佳实践 来展示洞察。
解决方案概述
本文将指导您设置一个 Amazon Q Business 应用程序,使用现成的 Amazon Q Business Connector 连接到您的 SharePoint Online 站点,并配置其使用 SitesSelected 应用权限范围。SitesSelected 权限非常重要,因为许多组织实施政策,限制对所有站点的读取访问SitesReadAll或完全控制SitesFullControlAll的权限。

该解决方案尊重用户现有的身份、角色和权限,通过利用 AWS Secrets Manager 提供的安全凭证,在 SharePoint Online 的 Amazon Q Business connector 上启用身份爬取和访问控制列表ACL。如果某个用户没有权限访问特定数据,则不论是使用 Amazon Q Business 还是其他方式,均无法访问该数据。仅使用用户可访问的数据来支持其查询。
前提条件
部署该解决方案需要满足以下前提条件:
一个拥有 AWS 身份与访问管理 (IAM) 角色和用户权限的 AWS 账户,以创建和管理应用程序所需的资源和组件。如果您还没有 AWS 账户,请参见 如何创建和激活新的 Amazon Web Services 账户。一个 Amazon Q Business 应用程序。如果尚未设置,请参见 创建 Amazon Q Business 应用程序环境。一个 Microsoft 账户 和 SharePoint Online 订阅,以根据本文所述步骤创建和发布应用程序。如果没有,请向您的组织管理员申请创建沙箱用于实验,或 根据需要创建新账户 和试用订阅以完成步骤。一个在 Microsoft Entra ID 中的应用,具备 SitesFullControl 的应用级权限,及其 client ID 和 client secret。虽然这个应用不会被 Amazon Q Business connector 使用,但需要为目标应用授予 SitesSelected 权限。在 Microsoft Azure 门户中注册新应用
完成以下步骤,在 Microsoft Azure 门户中注册新应用:
使用 Microsoft 账户登录 Azure 门户。选择 新注册。在 名称 中,提供您的应用名称。本文中使用名称 TargetApp。Amazon Q Business 应用程序将利用 TargetApp 连接 SharePoint Online 站点进行数据爬取和索引。在 谁可以使用此应用或访问此 API 中,选择 仅限该组织目录中的帐户 仅限 单租户)。选择 注册。在 概述 中记录应用客户端ID 和目录租户ID。这些信息稍后在要求提供 TargetAppClientId 和 TenantId 时需要使用。在导航面板的 管理 下,选择 API 权限。选择 添加权限,以允许应用读取您组织目录中已登录用户的数据。选择 Microsoft Graph。选择 委派权限。从 用户 部分选择 UserReadAll。从 GroupMember 部分选择 GroupMemberReadAll。从 站点 部分选择 SitesSelected。选择 添加权限。在选项菜单三个点中,选择 删除权限。移除原始的 UserRead Delegated 权限。选择 授予默认目录的管理员同意。在导航面板中选择 证书和密钥。选择 新建客户端密钥。在 描述 中输入描述。选择一个 过期 值。请注意,在生产环境中,您需要在密钥过期前手动轮换它。选择 添加。记录新密钥的值。稍后在要求提供客户端密钥TargetAppClientSecret时需要该值。可选,选择 所有者 以添加其他应用程序所有者。所有者可以管理 Azure AD 应用的权限TargetApp。使用 Graph API 为 SharePoint Online 站点授予应用权限
在此步骤中,您需要定义哪些 SharePoint Online 站点将获得对 TargetApp 的访问权限。Amazon Q Business 应用将使用 TargetApp 连接到 SharePoint Online 站点,进行数据爬取和索引。
本文中,我们将使用 Postman 这一 API 使用平台来授予权限。要为特定的 SharePoint Online 站点授予权限,您需要另外一个 Azure AD 应用,即 AdminApp,并获得 SitesFullControlAll 权限。
如果没有 AdminApp,请遵循之前的步骤注册 AdminApp;为 应用权限 授予 SitesFullControlAll 权限。正如已经提到的,AdminApp 仅用于授予 SharePoint Online 站点访问权限给 TargetApp。
黑豹加速器官方网站我们将使用 AdminApp 的 ClientId 和 ClientSecret 值来获取 AccessToken 值。
在 Postman 中创建一个 POST 请求,URL 为 https//loginmicrosoftonlinecom/{TenantId}/oauth2/v20/token。在请求体中,选择 xwwwformurlencoded 并设置以下键值对:设置 clientid 为 AdminAppClientId。设置 clientsecret 为 AdminAppClientSecret。设置 granttype 为 clientcredentials。设置 scope 为 https//graphmicrosoftcom/default。选择 发送。从返回的响应中复制 accesstoken 的值。这个值将在后面的步骤中需要作为 Bearer token 使用。使用上一步中获得的 accesstoken 来授予 TargetApp 权限。通过在浏览器中访问您的站点 URL例如,https//ltyourcompanygtsharepointcom/sites/{SiteName}来获取 SharePoint Online 站点的 SiteId,您需要提供有效凭证以访问该站点。在浏览器地址栏中编辑 URL,在 {SiteName} 末尾追加 /api/site/id 以获取 SiteId。在下一步中需要使用这个 SiteId。在 Postman 中创建另一个 POST 请求,使用 URL https//graphmicrosoftcom/v10/sites/{SiteId}/permissions。将上一步获得的 SiteId 替换到请求的 URL 中。您可以对每个希望包含在 Amazon Q Business SharePoint Online 连接中的站点重复此步骤。
在 授权 中选择 Bearer Token 作为 类型。输入之前获取的 accesstoken 的值作为 令牌。在有效负载中选择 原始,并输入以下 JSON 代码替换 ltgt 和 ltgt 的值:json{ roles [ fullcontrol ] grantedToIdentities [ { application { id ltltTargetAppclientIdgtgt displayName ltltTargeAppNamegtgt } } ]}
选择 发送 完成将 SharePoint Online 站点访问权限授予 TargetApp Azure AD 应用的过程。配置 Amazon Q Business SharePoint Online 连接器
完成以下步骤以配置 Amazon Q Business 应用的 SharePoint Online 连接器:
在 Amazon Q Business 控制台上,选择 添加数据源。搜索并选择 SharePoint。输入名称和描述可选。在 源设置 下选择 SharePoint Online 作为 托管方法。对于 与您 SharePoint 存储库特定的站点 URL,提供您希望包含在爬取和索引中的 SharePoint 站点的完整 URL。如果站点的完整 URL 是 https//ltyourcompanygtsharepointcom/sites/anycompany,则将 ltyourcompanygt 作为 域 值。选择 OAuth 20 认证 作为 认证方法。提供 TenantId 的值。SharePoint 连接器需要凭证通过 Microsoft Graph API 连接 SharePoint Online 站点。为此,创建一个新的 Secrets Manager 密钥。由于这些凭证不会在 SharePoint Online 站点的任何访问日志中被使用,因此可以安全存储。
选择 创建并添加新密钥。输入密钥名称。输入包含 Amazon Q 存储库中站点的 SiteCollection 管理员的用户名和密码。输入您在之前步骤中注册 TargetApp 时获得的客户端 ID 和客户端密钥。选择 保存。选择 创建新服务角色 创建 IAM 角色,并输入角色名称。对于 同步范围,选择 选择实体 并选择 所有或指定要同步的项组合。根据您的需要选择同步选项按需或您选择的频率。本文中我们选择按需。选择 添加数据源。数据源创建后,选择 立即同步 以开始爬取和索引。测试解决方案
要测试该解决方案,您可以 添加用户和组,分配订阅,并在您的 Amazon Q 业务应用中测试用户和组的访问。
清理
如果您仅是根据本文中的步骤进行实验,请从 Azure 门户中删除您的应用,并从 Amazon Q 控制台中删除 Amazon Q 应用,以避免产生费用。
结论
在本文中,我们讨论了如何使用最小权限访问控制配置 Amazon Q Business SharePoint Online 连接器,该控制器按照站点级别的最小权限安全地爬取和索引 SharePoint Online 站点内容。同时,我们展示了如何在响应用户对话时保持和应用 ACL。
组织现在可以使用现有的 SharePoint Online 数据获得更好的洞察、生成摘要,并以对话的方式获取自然语言查询的答案。通过将 SharePoint Online 作为数据源,员工能够使用自然语言与存储在 SharePoint 中的组织知识和数据进行交互,更加便捷地查找相关信息、提取关键点并得出有价值的洞察。这将显著提升组织的生产力、决策能力和知识共享。
请尝试本文中的解决方案,并在评论区留言反馈与问题。
关于作者
Surendar Gajavelli 是一名来自田纳西州纳什维尔的高级解决方案架构师,热衷于与客户合作,帮助他们构建创新解决方案。
Abhi Patlolla 是一名来自纽约市地区的高级解决方案架构师,帮助客户进行云转型、AI/ML 和数据计划。他是一位战略和技术领导者,向高管和工程师提供云战略建议,以促进创新和积极影响。
AWS Outposts机架上实施网络流量检测by Macey Neff 于2024年5月31日发布,来源于 Amazon EC2、AWS Outposts、AWS Transit Gateway和Compute永久链接 分享重点摘要在AWS Outposts机架上实施网络流量检测是确保本地环境安全...