

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 微软 SharePoint
<a name="kb-managed-ds-sharepoint"></a>

Microsoft SharePoint 是一项基于 Web 的协作服务，用于处理文档、网页、网站、列表等。您可以将您的 SharePoint 在线实例作为托管知识库的数据源进行连接，以从一个或多个 SharePoint 站点抓取文件和页面。

## 支持的功能
<a name="kb-managed-supported-features-sharepoint"></a>
+ 从多个 SharePoint 站点抓取文件和页面
+ 自动检测常见文档字段（例如标题、作者以及创建或修改日期）
+ 使用项目路径和日期范围筛选包含内容
+ 对添加、更新和删除的内容进行增量内容同步
+ User-managed (3LO)、微软 Entra ID 和 OAut App-Only h 2.0 身份验证
+ Document-level 访问控制 (ACL)，使用 Microsoft Entra ID 身份验证 App-Only 

## 用例和所需权限
<a name="kb-managed-sharepoint-use-cases"></a>

连接器所需的微软权限取决于你的用例。除非您的用例有要求，否则您不必授予广泛的租户范围的访问权限——该连接器支持最低权限配置，仅限您选择的站点进行访问。以下两个选项决定了您分配的权限：
+ **要抓取哪些站点 **-仅授予您明确选择的站点（`Sites.Selected`最低权限选项）或租户中的所有站点（**所有 SharePoint 站点）的访问权限。**
+ **是否启用文档级访问控制 (ACL) **-决定数据源是否按每个用户的权限筛选查询结果。 SharePoint ACL 抓取需要额外的 Microsoft Graph 和 SharePoint 权限。

这些选择组合成四个常见用例。以下权限适用于推荐的 Microsoft Entra ID App-Only 身份验证方法；仅授予为你的用例列出的权限。该连接器对两个微软资源进行身份验证：**微软图形**（用于枚举站点，对于访问控制列表，用于解析用户和群组）和 ** SharePoint ** REST API（用于读取网站内容，对于ACL，则为项目级权限）。有关完整的设置过程，请参见[设置 Microsoft Entra ID App-Only 身份验证用于 SharePoint](kb-managed-sharepoint-entra-setup.md)。

选择您的用例的选项卡，查看确切的 Microsoft Graph 和要分配的 SharePoint 权限。

------
#### [ Sites.Selected, no ACLs ]

**当**您只想抓取您选择的特定站点，而不想根据每个用户的 SharePoint 权限筛选查询结果时，请使用此选项。这是最低权限配置。


**Sites.Selected，仅限内容**  

| API | 权限 | 用途 | 
| --- | --- | --- | 
| Microsoft Graph | Sites.Selected | 仅访问你明确授权的网站（微软图形）。 | 
| SharePoint | Sites.Selected | 仅访问您明确授予的网站 (SharePoint REST)。为每个站点授予read角色。 | 

------
#### [ Sites.Selected, with ACLs ]

**当**您只想抓取您选择的特定网站并根据每个用户的 SharePoint 权限筛选查询结果时，请使用此选项。


**Sites.Selected，带有 ACL**  

| API | 权限 | 用途 | 
| --- | --- | --- | 
| Microsoft Graph | Sites.Selected | 仅访问你明确授权的网站（微软图形）。 | 
| Microsoft Graph | User.Read.All | 为用户解析文档级 ACL。 | 
| Microsoft Graph | GroupMember.Read.All | 解决文档级 ACL 的组成员资格问题。 | 
| SharePoint | Sites.Selected | 仅访问您明确授予的网站。为每个站点授予fullcontrol角色（需要读取 ACL 的项目级权限）。 | 

------
#### [ All sites, no ACLs ]

**当**您想抓取租户中的所有 SharePoint 站点，而不想按每个用户的 SharePoint 权限筛选查询结果时，请使用此选项。


**所有网站，仅限内容**  

| API | 权限 | 用途 | 
| --- | --- | --- | 
| Microsoft Graph | Sites.Read.All | 列举并读取所有 SharePoint 站点。 | 
| SharePoint | Sites.Read.All | 通过 SharePoint REST API 读取网站内容。 | 

------
#### [ All sites, with ACLs ]

**当**您想要抓取租户中的所有 SharePoint 网站并按每个用户的 SharePoint 权限筛选查询结果时，请使用此选项。


**所有带有 ACL 的站点**  

| API | 权限 | 用途 | 
| --- | --- | --- | 
| Microsoft Graph | Sites.Read.All | 列举并读取所有 SharePoint 站点。 | 
| Microsoft Graph | User.Read.All | 为用户解析文档级 ACL。 | 
| Microsoft Graph | GroupMember.Read.All | 解决文档级 ACL 的组成员资格问题。 | 
| SharePoint | Sites.FullControl.All | 读取 ACL 爬网的项目级权限，并在查询时验证访问权限。Sites.Read.All不足以进行此检查。 | 

------

**注意**  
`Sites.FullControl.All`授予对租户中所有站点的广泛访问权限。如果您的组织需要最低权限，请使用`Sites.Selected`并授予每个站点的访问权限。有关按站点授予的步骤，请参阅[设置 Microsoft Entra ID App-Only 身份验证用于 SharePoint](kb-managed-sharepoint-entra-setup.md)。

## 身份验证方法
<a name="kb-managed-sharepoint-auth-methods"></a>

 SharePoint 数据源支持三种身份验证方法。在开始之前选择一个，因为它决定了您创建的凭据以及您是否可以使用文档级访问控制。我们建议对新数据源进行微软 Entra ID App-Only 身份验证。


**SharePoint 身份验证方法**  

| 方法 | 它是如何进行身份验证的 | 何时使用 | 设置 | 
| --- | --- | --- | --- | 
| User-managed (3LO) (MANAGED\_OAUTH2) | 您 SharePoint 直接登录以授权连接，Amazon Bedrock 托管知识库将处理身份验证。这是最简单的入门方式。 | 当您不需要文档级访问控制时，可以快速入门。不支持文档级访问控制。 | [User-managed 设置 (3LO)](kb-managed-sharepoint-3lo-setup.md) | 
| 微软 Entra ID App-Only (ENTRA\_ID\_APP\_ONLY) — 推荐 | 微软 Entra 应用程序使用证书进行身份验证。没有用户凭证，也没有交互式登录。 | 大多数数据源以及任何使用文档级访问控制的数据源。 | [设置 Entra ID 身份验证 App-Only ](kb-managed-sharepoint-entra-setup.md) | 
| OAuth 2.0 () OAUTH2\_APP | 应用程序客户端 ID 和密钥，以及有权访问要抓取的站点（资源所有者密码凭据或 ROPC 流程）的 Microsoft 365 用户帐户的用户名和密码。 | 仅在无法使用微软 Entra ID App-Only 身份验证时使用。该账户不得需要 MFA 或条件访问权限。不支持文档级访问控制。 | [设置 OAuth 2.0 身份验证](kb-managed-sharepoint-oauth2-setup.md) | 

**重要**  
该`OAUTH2_APP`方法使用用户名和密码登录，因此它无法完成多因素身份验证 (MFA) 质询，也无法满足要求的条件访问策略。如果账户强制执行 MFA 或条件访问，则身份验证将失败，数据源无法同步。除非你有特定的使用理由，否则请使用微软 Entra ID App-Only 身份验证。`OAUTH2_APP`

## 先决条件
<a name="kb-managed-prereqs-sharepoint"></a>

**在微软中 SharePoint，请确保**：
+ 记下你要抓取的 SharePoint 网站的网址。每个 URL 都是抓取入口点，必须以站点、团队网站或个人网站开头`https://`并指向该路径——路径必须以网站名称开头或`/personal/`后跟网站名称（例如，{{https://yourdomain.sharepoint.com/sites/mysite}}）。`/sites/` `/teams/`支持标准`*.sharepoint.com`域和自定义（虚拟）域。在每个站点内，连接器会抓取文件和页面；连接数据源时，您可以使用项目路径筛选器将抓取范围缩小到特定项目。
+ 复制您的 Microsoft 365 租户 ID。您可以在 Microsoft Entra 管理门户的“属性”中找到租户 ID。有关详细信息，请参阅[在微软学习网站上](https://learn.microsoft.com/en-us/sharepoint/find-your-office-365-tenant-id)查找你的微软 365 租户 ID。

**在您的 AWS 账户中，请确保**：
+ 将身份验证凭证存储在 [AWS Secrets Manager 密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)中，并记下该密钥的 Amazon 资源名称（ARN）。
+ 有关存储在密钥中的确切键值对，请参阅身份验证方法的设置页面：[设置 Microsoft Entra ID App-Only 身份验证用于 SharePoint](kb-managed-sharepoint-entra-setup.md)或。[为 OAuth 2.0 身份验证设置 SharePoint](kb-managed-sharepoint-oauth2-setup.md)
+ 在知识库的 AWS Identity and Access Management (IAM) role/permissions 政策中包括连接到数据源的必要权限。有关所需权限的信息，请参阅[访问数据来源的权限](kb-permissions.md#kb-permissions-access-ds)。

## 如何设置 SharePoint 数据源
<a name="kb-managed-sharepoint-workflow"></a>

设置 SharePoint 数据源涉及以下步骤：

1. **设置身份验证。**在页面上查看您选择的方法。使用用户管理的设置 (3LO)，您可以 SharePoint 直接登录，请参阅。[User-managed 设置 (3LO)](kb-managed-sharepoint-3lo-setup.md)对于其他方法，您可以注册 Microsoft Entra 应用程序、配置权限并将您的凭据存储在中 AWS ，请参阅[设置 Microsoft Entra ID App-Only 身份验证用于 SharePoint](kb-managed-sharepoint-entra-setup.md)或[为 OAuth 2.0 身份验证设置 SharePoint](kb-managed-sharepoint-oauth2-setup.md)。

1. **连接数据源。**使用 AWS 管理控制台 或 API 在知识库中创建 SharePoint 数据源。请参阅[连接 SharePoint 数据源](kb-managed-ds-sharepoint-connect.md)。

1. **（可选）启用文档级访问控制。**按每个用户的 SharePoint 权限筛选查询结果。请参阅[Document-level 访问控制](kb-managed-ds-sharepoint-acl.md)。

如果您在设置或同步过程中遇到问题，请参阅[对 SharePoint 数据源进行故障排除](kb-managed-ds-sharepoint-troubleshooting.md)。