

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 篩選使用者內容
<a name="user-context-filter"></a>

**注意**  
功能支援會因索引類型和正在使用的搜尋 API 而有所不同。若要查看您正在使用的索引類型和搜尋 API 是否支援此功能，請參閱[索引類型](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index-types.html)。

您可以根據使用者或其群組對文件的存取來篩選使用者的搜尋結果。您可以使用使用者字符、使用者 ID 或使用者屬性來篩選文件。

使用者內容篩選是一種個人化搜尋，可控制對文件的存取。例如，並非所有搜尋公司入口網站資訊的團隊都應該存取最機密的公司文件，這些文件也與所有使用者無關。只有獲得最高機密文件存取權的特定使用者或團隊群組，才能在其搜尋結果中看到這些文件。

將文件編製索引時 Amazon Kendra，會擷取大多數文件對應的存取控制清單 (ACL)。ACL 指定允許或拒絕存取文件的使用者名稱和群組名稱。沒有 ACL 的文件是公有文件。

Amazon Kendra 可以擷取與大多數資料來源的每個文件相關聯的使用者或群組資訊。例如，Quip 中的文件可以包含特定使用者的「共用」清單，這些使用者有權存取文件。如果您使用 S3 儲存貯體做為資料來源，您可以為 ACL 提供 [JSON 檔案](https://docs.aws.amazon.com/kendra/latest/dg/s3-acl.html)，並包含此檔案的 S3 路徑做為資料來源組態的一部分。如果您直接將文件新增至索引，您可以在 [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html) API 中將[主體](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Principal.html)物件中的 ACL 指定為文件物件的一部分。

如果您使用的是 Amazon Kendra Enterprise 或 Developer Edition 索引，您可以使用 [CreateAccessControlConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateAccessControlConfiguration.html) API 重新設定現有的文件層級存取控制，而無需再次編製所有文件的索引。例如，您的索引包含只有特定員工或使用者應存取的最機密公司文件。其中一個使用者離開公司或切換到應該封鎖存取最高機密文件的團隊。使用者仍然可以存取最機密的文件，因為使用者在先前編製文件索引時可以存取。您可以為拒絕存取的使用者建立特定的存取控制組態。您可以稍後更新存取控制組態，以便在使用者返回公司並重新加入「最高機密」團隊時允許存取。您可以在情況變更時重新設定文件的存取控制。

若要將您的存取控制組態套用至特定文件，您可以呼叫 [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html) API，其中包含 [文件](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Document.html)物件`AccessControlConfigurationId`中的 。如果您使用 S3 儲存貯體做為資料來源，您可以使用 更新 `.metadata.json` `AccessControlConfigurationId`並同步資料來源。 Amazon Kendra 目前僅支援使用 `BatchPutDocument` API 編製索引之 S3 資料來源和文件的存取控制組態。

## 依使用者字符篩選
<a name="context-filter-token"></a>

**重要**  
Amazon Kendra GenAI Enterprise Edition 索引不支援字符型使用者存取控制。

當您查詢索引時，您可以使用使用者字符，根據使用者或其群組對文件的存取來篩選搜尋結果。當您發出查詢時， 會 Amazon Kendra 擷取並驗證權杖、提取和檢查使用者和群組資訊，並執行查詢。系統會傳回使用者可存取的所有文件，包括公有文件。如需詳細資訊，請參閱以[字符為基礎的使用者存取控制](https://docs.aws.amazon.com/kendra/latest/dg/create-index-access-control.html)。

您可以在 [UserContext](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UserContext.html) 物件中提供使用者權杖，並在[查詢](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) API 中傳遞此權杖。

以下說明如何包含使用者字符。

```
response = kendra.query(
    QueryText = query,
    IndexId = index,
    UserToken = {
        Token = "token"
    })
```

您可以將使用者映射至 群組。當您使用使用者內容篩選時，不需要在您發出查詢時包含使用者所屬的所有群組。使用 [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API，您可以將使用者映射至其群組。如果您不想使用 `PutPrincipalMapping` API，則必須在發出查詢時提供使用者名稱和使用者所屬的所有群組。您也可以使用 [UserGroupResolutionConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UserGroupResolutionConfiguration.html) 物件，擷取 IAM Identity Center 身分來源中群組和使用者的存取層級。

## 依使用者 ID 和群組篩選
<a name="context-filter-user-incl-datasources"></a>

當您查詢索引時，您可以使用使用者 ID 和群組，根據使用者或其群組對文件的存取來篩選搜尋結果。當您發出查詢時， 會 Amazon Kendra 檢查使用者和群組資訊並執行查詢。系統會傳回與使用者可存取之查詢相關的所有文件，包括公有文件。

您也可以依使用者和群組可存取的資料來源來篩選搜尋結果。如果群組繫結至多個資料來源，但您只希望該群組存取特定資料來源的文件，則指定資料來源非常有用。例如，群組 "Research"、"Engineering" 和 "Sales and Marketing" 都與存放在 Confluence 和 Salesforce 資料來源中的公司文件相關聯。不過，「銷售和行銷」團隊只需要存取儲存在 Salesforce 中的客戶相關文件。因此，當銷售和行銷使用者搜尋客戶相關文件時，他們可以在結果中看到 Salesforce 的文件。不在銷售和行銷部門工作的使用者在搜尋結果中看不到 Salesforce 文件。

您可以在 [UserContext](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UserContext.html) 物件中提供使用者、群組和資料來源資訊，並在[查詢](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) API 中傳遞此資訊。使用者 ID 和群組和資料來源清單應與您在[主體](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Principal.html)物件中指定的名稱相符，以識別使用者、群組和資料來源。使用 `Principal` 物件，您可以將使用者、群組或資料來源新增至允許清單或拒絕清單，以存取文件。

您必須提供下列其中一項：
+ 使用者和群組資訊，以及 （選用） 資料來源資訊。
+ 只有在您使用 [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API 將使用者映射到群組和資料來源時，才需要使用者資訊。您也可以使用 [UserGroupResolutionConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UserGroupResolutionConfiguration.html) 物件，擷取 IAM Identity Center 身分來源中群組和使用者的存取層級。

如果此資訊不包含在查詢中， 會 Amazon Kendra 傳回所有文件。如果您提供此資訊，則只會傳回具有相符使用者 IDs、群組和資料來源的文件。

以下說明如何包含使用者 ID、群組和資料來源。

```
response = kendra.query(
    QueryText = query,
    IndexId = index,
    UserContext={'Token': 'string', 'UserId': 'string', 'Groups': [ 'string', ], 'DataSourceGroups': [ { 'GroupId': 'string', 'DataSourceId': 'string' }, ] },)
```

## 依使用者屬性篩選
<a name="context-filter-attribute"></a>

當您查詢索引時，您可以使用內建屬性 `_user_id`和 `_group_id`，根據使用者及其群組對 文件的存取來篩選搜尋結果。您最多可以設定 100 個群組識別符。當您發出查詢時， 會 Amazon Kendra 檢查使用者和群組資訊並執行查詢。系統會傳回與使用者可存取之查詢相關的所有文件，包括公有文件。

您可以在 [AttributeFilter](https://docs.aws.amazon.com/kendra/latest/APIReference/API_AttributeFilter.html) 物件中提供使用者和群組屬性，並在[查詢](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) API 中傳遞此屬性。

下列範例顯示根據使用者 ID 和使用者所屬的群組 "HR" 和 "IT" 篩選查詢回應的請求。查詢將傳回允許清單中具有使用者或 "HR" 或 "IT" 群組的任何文件。如果使用者或任一群組在文件的拒絕清單中，則不會傳回文件。

```
response = kendra.query(
        QueryText = query,
        IndexId = index,
        AttributeFilter = {
            "OrAllFilters": [
                {
                    "EqualsTo": {
                        "Key": "_user_id",
                        "Value": {
                            "StringValue": "user1"
                        }
                     }
                },
                {
                    "EqualsTo": {
                        "Key": "_group_ids",
                        "Value": {
                            "StringListValue": ["HR", "IT"]
                        }
                    }
                }
            ]
        }
        )
```

您也可以指定群組可以在 `Principal` 物件中存取的資料來源。

**注意**  
使用者內容篩選不是您內容的身分驗證或授權控制。它不會對傳送至 `Query` API 的使用者和群組執行使用者身分驗證。它取決於您的應用程式，以確保傳送至 `Query` API 的使用者和群組資訊已經過身分驗證和授權。

每個資料來源都有使用者內容篩選的實作。下節說明每個實作。

**Topics**
+ [依使用者字符篩選](#context-filter-token)
+ [依使用者 ID 和群組篩選](#context-filter-user-incl-datasources)
+ [依使用者屬性篩選](#context-filter-attribute)
+ [直接新增至索引之文件的使用者內容篩選](#context-filter-batch)
+ [常見問答集的使用者內容篩選](#context-filter-faq)
+ [資料來源的使用者內容篩選](#datasource-context-filter)

## 直接新增至索引之文件的使用者內容篩選
<a name="context-filter-batch"></a>

當您使用 [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html) API 將文件直接新增至索引時， 會從文件的 `AccessControlList` 欄位 Amazon Kendra 取得使用者和群組資訊。您可以為您的文件提供存取控制清單 (ACL)，並將 ACL 擷取到您的文件。

您可以在[主體](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Principal.html)物件中指定 ACL，做為 `BatchPutDocument` API 中[文件](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Document.html)物件的一部分。您提供以下資訊：
+ 使用者或群組應擁有的存取權。您可以說出 `ALLOW`或 `DENY`。
+ 實體類型。您可以說出 `USER`或 `GROUP`。
+ 使用者或群組的名稱。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

## 常見問答集的使用者內容篩選
<a name="context-filter-faq"></a>

當您[將常見問答集](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateFaq.html)新增至索引時， 會從常見問答集 JSON 檔案的`AccessControlList`物件/欄位 Amazon Kendra 取得使用者和群組資訊。您也可以使用具有自訂欄位或屬性的常見問答集 CSV 檔案進行存取控制。

您提供以下資訊：
+ 使用者或群組應擁有的存取權。您可以說出 `ALLOW`或 `DENY`。
+ 實體類型。您可以說出 `USER`或 `GROUP`。
+ 使用者或群組的名稱。

如需詳細資訊，請參閱[常見問答集檔案](https://docs.aws.amazon.com/kendra/latest/dg/in-creating-faq.html)。

## 資料來源的使用者內容篩選
<a name="datasource-context-filter"></a>

Amazon Kendra 也會從支援的資料來源連接器爬取使用者和群組存取控制清單 (ACL) 資訊。這對於使用者內容篩選很有用，其中搜尋結果會根據使用者或其群組對文件的存取進行篩選。

**重要**  
Amazon Kendra GenAI Enterprise Edition 索引僅支援 v2.0 Amazon Kendra 資料來源連接器。

**Topics**
+ [Adobe Experience Manager 資料來源的使用者內容篩選](#context-filter-aem)
+ [Alfresco 資料來源的使用者內容篩選](#context-filter-alfresco)
+ [Aurora (MySQL) 資料來源的使用者內容篩選](#context-filter-aurora-mysql)
+ [Aurora (PostgreSQL) 資料來源的使用者內容篩選](#context-filter-aurora-postgresql)
+ [Amazon FSx 資料來源的使用者內容篩選](#context-filter-fsx)
+ [資料庫資料來源的使用者內容篩選](#context-filter-jdbc)
+ [Amazon RDS (Microsoft SQL Server) 資料來源的使用者內容篩選](#context-filter-rds-ms-sql-server)
+ [Amazon RDS (MySQL) 資料來源的使用者內容篩選](#context-filter-rds-mysql)
+ [Amazon RDS (Oracle) 資料來源的使用者內容篩選](#context-filter-rds-oracle)
+ [Amazon RDS (PostgreSQL) 資料來源的使用者內容篩選](#context-filter-rds-postgresql)
+ [Amazon S3 資料來源的使用者內容篩選](#context-filter-s3)
+ [Box 資料來源的使用者內容篩選](#context-filter-box)
+ [Confluence 資料來源的使用者內容篩選](#context-filter-confluence)
+ [Dropbox 資料來源的使用者內容篩選](#context-filter-dropbox)
+ [Drupal 資料來源的使用者內容篩選](#context-filter-drupal)
+ [GitHub 資料來源的使用者內容篩選](#context-filter-github)
+ [Gmail 資料來源的使用者內容篩選](#context-filter-gmail)
+ [Google Drive 資料來源的使用者內容篩選](#context-filter-google)
+ [IBM DB2 資料來源的使用者內容篩選](#context-filter-ibm-db2)
+ [Jira 資料來源的使用者內容篩選](#context-filter-jira)
+ [Microsoft Exchange 資料來源的使用者內容篩選](#context-filter-exchange)
+ [Microsoft OneDrive 資料來源的使用者內容篩選](#context-filter-onedrive)
+ [Microsoft OneDrive v2.0 資料來源的使用者內容篩選](#context-filter-onedrivev2)
+ [Microsoft SharePoint 資料來源的使用者內容篩選](#context-filter-sharepoint-online)
+ [Microsoft SQL Server 資料來源的使用者內容篩選](#context-filter-ms-sql-server)
+ [Microsoft Teams 資料來源的使用者內容篩選](#context-filter-teams)
+ [Microsoft Yammer 資料來源的使用者內容篩選](#context-filter-yammer)
+ [MySQL 資料來源的使用者內容篩選](#context-filter-mysql)
+ [Oracle 資料庫資料來源的使用者內容篩選](#context-filter-oracle-database)
+ [PostgreSQL 資料來源的使用者內容篩選](#context-filter-postgresql)
+ [Quip 資料來源的使用者內容篩選](#context-filter-quip)
+ [Salesforce 資料來源的使用者內容篩選](#context-filter-salesforce)
+ [ServiceNow 資料來源的使用者內容篩選](#context-filter-servicenow)
+ [Slack 資料來源的使用者內容篩選](#context-filter-slack)
+ [Zendesk 資料來源的使用者內容篩選](#context-filter-zendesk)

### Adobe Experience Manager 資料來源的使用者內容篩選
<a name="context-filter-aem"></a>

當您使用 Adobe Experience Manager 資料來源時， 會從 Adobe Experience Manager 執行個體 Amazon Kendra 取得使用者和群組資訊。

群組與使用者 ID 的對應方式如下：
+ `_group_ids`- 群組 IDs存在於具有設定存取許可的 Adobe Experience Manager 內容中。它們會從 Adobe Experience Manager 中的群組名稱映射。
+ `_user_id`- 使用者 IDs存在於具有設定存取許可的 Adobe Experience Manager 內容中。它們會從使用者電子郵件映射為 Adobe Experience Manager IDs。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Alfresco 資料來源的使用者內容篩選
<a name="context-filter-alfresco"></a>

當您使用 Alfresco 資料來源時， 會從 Alfresco 執行個體 Amazon Kendra 取得使用者和群組資訊。

群組與使用者 ID 的對應方式如下：
+ `_group_ids`- IDs 存在於 Alfresco 中已設定存取許可的檔案。它們會從 Alfresco 中群組的系統名稱 （而非顯示名稱） 映射。
+ `_user_id`- IDs 存在於 Alfresco 中已設定存取許可的檔案。它們從使用者電子郵件映射為 Alfresco IDs。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Aurora (MySQL) 資料來源的使用者內容篩選
<a name="context-filter-aurora-mysql"></a>

當您使用 a Aurora (MySQL) 資料來源時， 會從來源資料表中的資料欄 Amazon Kendra 取得使用者和群組資訊。您可以在 主控台中或使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 物件做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 的一部分來指定此欄。

A Aurora (MySQL) 資料庫資料來源有下列限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### Aurora (PostgreSQL) 資料來源的使用者內容篩選
<a name="context-filter-aurora-postgresql"></a>

當您使用 a Aurora (PostgreSQL) 資料來源時， Amazon Kendra 會從來源資料表中的資料欄取得使用者和群組資訊。您可以在 主控台中或使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 物件做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 的一部分來指定此欄。

A Aurora (PostgreSQL) 資料庫資料來源有下列限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### Amazon FSx 資料來源的使用者內容篩選
<a name="context-filter-fsx"></a>

當您使用 Amazon FSx 資料來源時， 會從執行個體的 Amazon FSx 目錄服務 Amazon Kendra 取得使用者和群組資訊。

 Amazon FSx 群組和使用者 IDs的映射方式如下：
+ `_group_ids` — 群組 ID 會出現在 Amazon FSx 中已設定存取許可的檔案上。它們是從 目錄服務中的系統群組名稱映射 Amazon FSx。
+ `_user_id`- 具有設定存取許可的檔案 Amazon FSx 上存在使用者 IDs。它們是從 目錄服務中的系統使用者名稱映射 Amazon FSx。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### 資料庫資料來源的使用者內容篩選
<a name="context-filter-jdbc"></a>

當您使用資料庫資料來源時，例如 Amazon Aurora PostgreSQL， 會從來源資料表中的資料欄 Amazon Kendra 取得使用者和群組資訊。您可以在 [AclConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_AclConfiguration.html) 物件中指定此欄，做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 中 [DatabaseConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DatabaseConfiguration.html) 物件的一部分。

資料庫資料來源具有以下限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### Amazon RDS (Microsoft SQL Server) 資料來源的使用者內容篩選
<a name="context-filter-rds-ms-sql-server"></a>

當您使用 Amazon RDS (Microsoft SQL Server) 資料來源時， 會從來源資料表中的資料欄 Amazon Kendra 取得使用者和群組資訊。您可以在 主控台中或使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 物件做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 的一部分來指定此欄。

A Amazon RDS (Microsoft SQL Server) 資料庫資料來源有下列限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### Amazon RDS (MySQL) 資料來源的使用者內容篩選
<a name="context-filter-rds-mysql"></a>

當您使用 a Amazon RDS (MySQL) 資料來源時， 會從來源資料表中的資料欄 Amazon Kendra 取得使用者和群組資訊。您可以在 主控台中指定此欄，或使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 物件做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 的一部分。

A Amazon RDS (MySQL) 資料庫資料來源有下列限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### Amazon RDS (Oracle) 資料來源的使用者內容篩選
<a name="context-filter-rds-oracle"></a>

當您使用 Amazon RDS (Oracle) 資料來源時， Amazon Kendra 會從來源資料表中的資料欄取得使用者和群組資訊。您可以在 主控台中或使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 物件做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 的一部分來指定此欄。

A Amazon RDS (Oracle) 資料庫資料來源有下列限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### Amazon RDS (PostgreSQL) 資料來源的使用者內容篩選
<a name="context-filter-rds-postgresql"></a>

當您使用 Amazon RDS (PostgreSQL) 資料來源時， Amazon Kendra 會從來源資料表中的資料欄取得使用者和群組資訊。您可以在 主控台中或使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 物件做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 的一部分來指定此欄。

A Amazon RDS (PostgreSQL) 資料庫資料來源有下列限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### Amazon S3 資料來源的使用者內容篩選
<a name="context-filter-s3"></a>

您可以使用與文件相關聯的中繼資料檔案，將使用者內容篩選新增至 Amazon S3 資料來源中的文件。您可以將資訊新增至 JSON 文件中`AccessControlList`的 欄位。如需將中繼資料新增至從 Amazon S3 資料來源編製索引的文件的詳細資訊，請參閱 [S3 文件中繼資料](https://docs.aws.amazon.com/kendra/latest/dg/s3-metadata.html)。

您提供三種資訊：
+ 實體可擁有的存取權限。您可以說出 `ALLOW`或 `DENY`。
+ 實體類型。您可以說出 `USER`或 `GROUP`。
+ 實體的名稱。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Box 資料來源的使用者內容篩選
<a name="context-filter-box"></a>

當您使用 Box 資料來源時， 會從 Box 執行個體 Amazon Kendra 取得使用者和群組資訊。

Box 群組和使用者 IDs的映射方式如下：
+ `_group_ids`- 群組 IDs存在於具有設定存取許可的檔案的 Box 中。它們會從 Box 中群組的名稱映射。
+ `_user_id`- 使用者 IDs存在於具有設定存取許可的檔案的 Box 中。它們會從使用者電子郵件映射為 Box 中的使用者 IDs。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Confluence 資料來源的使用者內容篩選
<a name="context-filter-confluence"></a>

當您使用 Confluence 資料來源時， 會從 Confluence 執行個體 Amazon Kendra 取得使用者和群組資訊。

您可透過空間許可頁面設定使用者與群組對空間的存取權。若要設定頁面與部落格的限制，請使用限制頁面。如需空間許可相關資訊，請參閱 Confluence Support 網站上的[空間許可概觀](https://confluence.atlassian.com/doc/space-permissions-overview-139521.html)。如需頁面與部落格限制的相關資訊，請參閱 Confluence Support 網站上的[頁面限制](https://confluence.atlassian.com/doc/page-restrictions-139414.html)。

Confluence 群組和使用者名稱的映射方式如下：
+ `_group_ids`- 群組名稱會出現在有限制的空格、頁面和部落格上。它們是從 Confluence 中群組的名稱映射。群組名稱一律以小寫呈現。
+ `_user_id`- 使用者名稱會出現在有限制的空間、頁面或部落格上。它們會根據您使用的 Confluence 執行個體類型進行映射。

  **針對 Confluence 連接器 v1.0**
  + 伺服器 - `_user_id`是使用者名稱。使用者名稱一律為小寫。
  + Cloud - `_user_id`是使用者的帳戶 ID。

  **針對 Confluence 連接器 v2.0**
  + 伺服器 - `_user_id`是使用者名稱。使用者名稱一律為小寫。
  + Cloud - `_user_id`是使用者的電子郵件 ID。
**重要**  
若要讓使用者內容篩選能夠正確運作於 Confluence 連接器，您需要確保授予 Confluence 頁面之使用者存取權的可見性設定為**任何人**。如需更多資訊，請參閱 Atlassian Developer 文件中的[設定您的電子郵件可見性](https://support.atlassian.com/confluence-cloud/docs/configure-user-email-visibility/)。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Dropbox 資料來源的使用者內容篩選
<a name="context-filter-dropbox"></a>

當您使用 Dropbox 資料來源時， 會從 Dropbox 執行個體 Amazon Kendra 取得使用者和群組資訊。

群組與使用者 ID 的對應方式如下：
+ `_group_ids`- 群組 IDs存在於 Dropbox 中具有設定存取許可的檔案。它們會從 Dropbox 中的群組名稱映射。
+ `_user_id`- 在具有設定存取許可的檔案上，使用者 IDs 存在於 Dropbox 中。它們會從使用者電子郵件映射為 Dropbox IDs。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Drupal 資料來源的使用者內容篩選
<a name="context-filter-drupal"></a>

當您使用 Drupal 資料來源時， 會從 Drupalinstance Amazon Kendra 取得使用者和群組資訊。

群組與使用者 ID 的對應方式如下：
+ `_group_ids` — 群組 ID 會出現在 Drupal 中已設定存取許可的檔案。這些 ID 是根據 Drupal 的群組名稱對應而來。
+ `_user_id` — 使用者 ID 會出現在 Drupal 中已設定存取許可的檔案。在 Drupal 中，使用者的 ID 會對應自其電子郵件位址。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### GitHub 資料來源的使用者內容篩選
<a name="context-filter-github"></a>

當您使用 GitHub 資料來源時， 會從 GitHub 執行個體 Amazon Kendra 取得使用者資訊。

GitHub 使用者 IDs的映射方式如下：
+ `_user_id`- 使用者 IDs存在於 GitHub 中具有設定存取許可的檔案。它們會從使用者電子郵件映射為 GitHub IDs。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Gmail 資料來源的使用者內容篩選
<a name="context-filter-gmail"></a>

當您使用 Gmail 資料來源時， 會從 Gmail 執行個體 Amazon Kendra 取得使用者資訊。

使用者 IDs 的映射方式如下：
+ `_user_id` – 具有設定存取許可的檔案上，Gmail 中存在使用者 IDs。它們從使用者電子郵件映射為 Gmail IDs。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Google Drive 資料來源的使用者內容篩選
<a name="context-filter-google"></a>

Google Workspace Drive 資料來源會傳回 Google Drive 使用者和群組的使用者和群組資訊。群組和網域成員資格會對應至`_group_ids`索引欄位。Google Drive 使用者名稱會映射至 `_user_id` 欄位。

當您在 `Query` API 中提供一或多個使用者電子郵件地址時，只會傳回已與這些電子郵件地址共用的文件。下列`AttributeFilter`參數只會傳回與 "martha@example.com" 共用的文件。

```
"AttributeFilter": {
                "EqualsTo":{
                   "Key": "_user_id", 
                   "Value": {
                       "StringValue": "martha@example.com"
                   }
               }
           }
```

如果您在查詢中提供一或多個群組電子郵件地址，則只會傳回與群組共用的文件。下列`AttributeFilter`參數只會傳回與 "hr@example.com" 群組共用的文件。

```
"AttributeFilter": {
                "EqualsTo":{
                   "Key": "_group_ids", 
                   "Value": {
                       "StringListValue": ["hr@example.com"]
                   }
               }
           }
```

如果您在查詢中提供網域，則會傳回與網域共用的所有文件。下列`AttributeFilter`參數會傳回與 "example.com" 網域共用的文件。

```
"AttributeFilter": {
                "EqualsTo":{
                   "Key": "_group_ids", 
                   "Value": {
                       "StringListValue": ["example.com"]
                   }
               }
           }
```

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。



### IBM DB2 資料來源的使用者內容篩選
<a name="context-filter-ibm-db2"></a>

當您使用 IBM DB2 資料來源時， 會從來源資料表中的資料欄 Amazon Kendra 取得使用者和群組資訊。您可以在 主控台中或使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 物件做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 的一部分來指定此欄。

IBM DB2 資料庫資料來源有下列限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### Jira 資料來源的使用者內容篩選
<a name="context-filter-jira"></a>

當您使用 Jira 資料來源時， 會從 Jira 執行個體 Amazon Kendra 取得使用者和群組資訊。

Jira 使用者 IDs的映射方式如下：
+ `_user_id`- 在具有設定存取許可的檔案中，使用者 IDs 存在於 Jira 中。它們會從使用者電子郵件映射為 Jira 中的使用者 IDs。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Microsoft Exchange 資料來源的使用者內容篩選
<a name="context-filter-exchange"></a>

當您使用 Microsoft Exchange 資料來源時， 會從 Microsoft Exchange 執行個體 Amazon Kendra 取得使用者資訊。

Microsoft Exchange 使用者 IDs的映射方式如下：
+ `_user_id`- 使用者 IDs存在於 Microsoft Exchange 許可中，讓使用者存取特定內容。它們會從使用者名稱映射為 Microsoft Exchange IDs。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Microsoft OneDrive 資料來源的使用者內容篩選
<a name="context-filter-onedrive"></a>

Amazon Kendra 會在將網站上的文件編製索引時，從 Microsoft OneDrive 擷取使用者和群組資訊。使用者和群組資訊取自託管 OneDrive 的基礎 Microsoft SharePoint 網站。

當您使用 OneDrive 使用者或群組來篩選搜尋結果時，請計算 ID，如下所示：

1. 取得網站名稱。例如 `https://host.onmicrosoft.com/sites/siteName.`

1. 取得網站名稱的 MD5 雜湊。例如 `430a6b90503eef95c89295c8999c7981`。

1. 建立使用者電子郵件或群組 ID，方法是將 MD5 雜湊與垂直列 (\$1) 和 ID 串連。例如，如果群組名稱為 "localGroupName"，則群組 ID 將為：

   `"430a6b90503eef95c89295c8999c7981 | localGroupName"`
**注意**  
在垂直長條前後包含空格。垂直列用於`localGroupName`識別其 MD5 雜湊。

   對於使用者名稱 "someone@host.onmicrosoft.com"，使用者 ID 如下：

   `"430a6b90503eef95c89295c8999c7981 | someone@host.onmicrosoft.com"`

當您呼叫[查詢](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) API 時，將使用者或群組 ID Amazon Kendra 做為 `_group_id` `_user_id`或 屬性傳送至 。例如，使用群組來篩選搜尋結果的 AWS CLI 命令如下所示：

```
aws kendra  query \
                --index-id index ID  
                --query-text "query text" 
                --attribute-filter '{
                   "EqualsTo":{
                     "Key": "_group_id", 
                     "Value": {"StringValue": "430a6b90503eef95c89295c8999c7981 | localGroupName"}
                  }}'
```

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Microsoft OneDrive v2.0 資料來源的使用者內容篩選
<a name="context-filter-onedrivev2"></a>

Microsoft OneDrive v2.0 資料來源會從 OneDrive 存取控制清單 (ACL) 實體傳回區段和頁面資訊。 Amazon Kendra 會使用 OneDrive 租用戶網域連線至 OneDrive 執行個體，然後可以根據使用者或群組對區段和檔案名稱的存取來篩選搜尋結果。

對於標準物件， `_user_id`和 `_group_id` 的使用方式如下：
+ `_user_id`— 您的 Microsoft OneDrive 使用者電子郵件 ID 會映射至 `_user_id` 欄位。
+ `_group_id`— 您的 Microsoft OneDrive 群組電子郵件會映射至 `_group_id` 欄位。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Microsoft SharePoint 資料來源的使用者內容篩選
<a name="context-filter-sharepoint-online"></a>

Amazon Kendra 當網站文件編製索引時， 會從 Microsoft SharePoint 擷取使用者和群組資訊。若要根據使用者或群組存取權篩選搜尋結果，請在呼叫 `Query` API 時提供使用者和群組資訊。

若要使用使用者名稱進行篩選，請使用使用者的電子郵件地址。例如，johnstiles@example.com。

當您使用 SharePoint 群組篩選搜尋結果時，請計算群組 ID，如下所示：

**針對本機群組**

1. 取得網站名稱。例如 `https://host.onmicrosoft.com/sites/siteName.`

1. 對網站名稱進行 SHA256 雜湊。例如 `430a6b90503eef95c89295c8999c7981`。

1. 透過將 SHA256 雜湊與垂直長條 (\$1) 和群組名稱串連來建立群組 ID。例如，如果群組名稱為 "localGroupName"，則群組 ID 將為：

   `"430a6b90503eef95c89295c8999c7981 | localGroupName"`
**注意**  
在垂直長條前後包含空格。垂直列用於`localGroupName`識別其 SHA256 雜湊。

當您呼叫[查詢 API](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) 時，請將群組 ID Amazon Kendra 做為 `_group_id` 屬性傳送至 。例如， AWS CLI 命令如下所示：

```
aws kendra  query \
                --index-id index ID  
                --query-text "query text" 
                --attribute-filter '{
                   "EqualsTo":{
                     "Key": "_group_id", 
                     "Value": {"StringValue": "430a6b90503eef95c89295c8999c7981 | localGroupName"}
                  }}'
```

**對於 AD 群組**

1. 使用 AD 群組 ID 來設定搜尋結果的篩選。

當您呼叫[查詢](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) API 時，請將群組 ID Amazon Kendra 做為 `_group_id` 屬性傳送至 。例如， AWS CLI 命令如下所示：

```
aws kendra  query \
                --index-id index ID  
                --query-text "query text" 
                --attribute-filter '{
                   "EqualsTo":{
                     "Key": "_group_id", 
                     "Value": {"StringValue": "AD group"}
                  }}'
```

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Microsoft SQL Server 資料來源的使用者內容篩選
<a name="context-filter-ms-sql-server"></a>

當您使用 Microsoft SQL Server 資料來源時， 會從來源資料表中的資料欄 Amazon Kendra 取得使用者和群組資訊。您可以在 主控台中或使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 物件做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 的一部分來指定此欄。

Microsoft SQL Server 資料庫資料來源有下列限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### Microsoft Teams 資料來源的使用者內容篩選
<a name="context-filter-teams"></a>

Amazon Kendra 會在將文件編製索引時，從 Microsoft Teams 擷取使用者資訊。使用者資訊取自基礎 Microsoft Teams 執行個體。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Microsoft Yammer 資料來源的使用者內容篩選
<a name="context-filter-yammer"></a>

Amazon Kendra 會在將文件編製索引時，從 Microsoft Yammer 擷取使用者資訊。使用者和群組資訊取自基礎 Microsoft Yammer 執行個體。

Microsoft Yammer 使用者 IDs的映射方式如下：
+ `_email_id`— 映射至 `_user_id` 欄位的 Microsoft 電子郵件 ID。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。



### MySQL 資料來源的使用者內容篩選
<a name="context-filter-mysql"></a>

當您使用 MySQL 資料來源時， 會從來源資料表中的資料欄 Amazon Kendra 取得使用者和群組資訊。您可以在主控台中或使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 物件做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 的一部分來指定此欄。

MySQL 資料庫資料來源有下列限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### Oracle 資料庫資料來源的使用者內容篩選
<a name="context-filter-oracle-database"></a>

當您使用 Oracle 資料庫資料來源時， 會從來源資料表中的資料欄 Amazon Kendra 取得使用者和群組資訊。您可以在 主控台中或使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 物件做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 的一部分來指定此欄。

Oracle 資料庫資料庫資料來源有下列限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### PostgreSQL 資料來源的使用者內容篩選
<a name="context-filter-postgresql"></a>

當您使用 PostgreSQL 資料來源時， 會從來源資料表中的資料欄 Amazon Kendra 取得使用者和群組資訊。您可以在 主控台中或使用 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 物件做為 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 的一部分來指定此欄。

PostgreSQL 資料庫資料來源有下列限制：
+ 您只能為資料庫資料來源設定允許清單。無法設定拒絕清單。
+ 僅支援設定群組。不支援為允許清單指定單一使用者。
+ 資料庫欄位必須為字串格式，內容為以分號分隔的群組清單。

### Quip 資料來源的使用者內容篩選
<a name="context-filter-quip"></a>

當您使用 Quip 資料來源時， 會從 Quip 執行個體 Amazon Kendra 取得使用者資訊。

Quip 使用者 ID 的對應方式如下：
+ `_user_id` — 使用者 ID 會出現在 Quip 中已設定存取許可的檔案上。在 Quip 中，使用者的 ID 會對應自其電子郵件位址。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Salesforce 資料來源的使用者內容篩選
<a name="context-filter-salesforce"></a>

Salesforce 資料來源會從 Salesforce 存取控制清單 (ACL) 實體傳回使用者和群組資訊。您可以將使用者內容篩選套用至 Salesforce 標準物件和 Chatter 摘要。使用者內容篩選不適用於 Salesforce 知識文章。

如果您將任何 Salesforce 欄位映射至 Amazon Kendra 文件標題和文件內文欄位，Amazon Kendra 將使用搜尋回應中文件標題和內文欄位的資料。

對於標準物件， `_user_id`和 `_group_ids` 的使用方式如下：
+ `_user_id`- Salesforce 使用者的使用者名稱。
+ `_group_ids`—
  + Salesforce 的名稱 `Profile`
  + Salesforce 的名稱 `Group`
  + Salesforce 的名稱 `UserRole`
  + Salesforce 的名稱 `PermissionSet`

對於聊天器摘要， `_user_id`和 `_group_ids` 的使用方式如下：
+ `_user_id`- Salesforce 使用者的使用者名稱。僅當項目張貼於使用者摘要時可用。
+ `_group_ids`- 群組 IDs的使用方式如下。僅當摘要項目張貼於 Chatter 或協同合作群組時可用。
  + Chatter 或協同合作群組的名稱。
  + 若群組為公開狀態，則為 `PUBLIC:ALL`。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### ServiceNow 資料來源的使用者內容篩選
<a name="context-filter-servicenow"></a>

只有 TemplateConfiguration API 和 ServiceNow Connector v2.0 才支援 ServiceNow 的使用者內容篩選。 ServiceNow ServiceNowConfiguration API 和 ServiceNow Connector v1.0。 不支援使用者內容篩選。

當您使用 ServiceNow 資料來源時， 會從 ServiceNow 執行個體 Amazon Kendra 取得使用者和群組資訊。

群組與使用者 ID 的對應方式如下：
+ `_group_ids`- 群組 IDs存在於 ServiceNow 中已設定存取許可的檔案。它們會從 ServiceNow `sys_ids`中 的角色名稱映射。
+ `_user_id`- 使用者 IDs存在於 ServiceNow 中已設定存取許可的檔案。從使用者電子郵件映射為 ServiceNow IDs。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Slack 資料來源的使用者內容篩選
<a name="context-filter-slack"></a>

當您使用 Slack 資料來源時， 會從 Slack 執行個體 Amazon Kendra 取得使用者資訊。

Slack 使用者 IDs的映射方式如下：
+ `_user_id`- 在具有設定存取許可的訊息和頻道上，使用者 IDs 存在於 Slack 中。它們從使用者電子郵件映射為 Slack IDs。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。

### Zendesk 資料來源的使用者內容篩選
<a name="context-filter-zendesk"></a>

當您使用 Zendesk 資料來源時， 會從 Zendesk 執行個體 Amazon Kendra 取得使用者和群組資訊。

群組與使用者 ID 的對應方式如下：
+ `_group_ids`- IDs 存在於具有設定存取許可的 Zendesk 票證和文章中。它們會從 Zendesk 中的群組名稱映射。
+ `_user_id`- IDs 存在於具有設定存取許可的 Zendesk 票證和文章中。它們會從使用者電子郵件映射為 Zendesk IDs。

您可以在 `AccessControlList` 欄位中新增最多 200 個項目。