

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 데이터 소스 커넥터 생성
<a name="data-source"></a>

용 데이터 소스 커넥터를 생성 Amazon Kendra 하여 문서에 연결하고 인덱싱할 수 있습니다.는 Microsoft SharePoint, Google Drive 및 기타 여러 공급자에 연결할 Amazon Kendra 수 있습니다. 데이터 소스 커넥터를 생성할 때 소스 리포지토리 Amazon Kendra 에 연결하는 데 필요한 구성 정보를 제공합니다. 인덱스에 직접 문서를 추가하는 것과 달리, 데이터 소스를 정기적으로 스캔하여 인덱스를 업데이트할 수 있습니다.

예를 들어 Amazon S3 버킷에 저장된 세금 문서 리포지토리가 있다고 가정해 보겠습니다. 수시로, 기존 문서가 변경되고 새 문서가 리포지토리에 추가됩니다. 리포지토리를 데이터 소스 Amazon Kendra 로에 추가하는 경우 데이터 소스와 인덱스 간의 주기적 동기화를 설정하여 인덱스를 최신 상태로 유지할 수 있습니다.

콘솔 또는 [StartDataSourceSyncJob](https://docs.aws.amazon.com/kendra/latest/APIReference/API_StartDataSourceSyncJob.html) API를 사용하여 인덱스를 수동으로 업데이트하도록 선택할 수 있습니다. 그렇지 않으면, 인덱스를 업데이트하고 데이터 소스와 동기화하도록 일정을 설정합니다.

인덱스에는 데이터 소스가 둘 이상 있을 수 있습니다. 각 데이터 소스에는 고유한 업데이트 일정이 있을 수 있습니다. 예를 들어 작업 문서의 인덱스를 매일 또는 매시간 업데이트하고 아카이브가 변경될 때마다 보관된 문서를 수동으로 업데이트할 수 있습니다.

문서 수집 프로세스 중에 문서 메타데이터나 속성 및 콘텐츠를 변경하려면 [Amazon Kendra 사용자 지정 문서 보강](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html)을 참조하세요.

**참고**  
각 문서 ID는 인덱스별로 고유해야 합니다. 고유한 ID로 문서를 인덱싱하는 데이터 소스를 만든 다음 `BatchPutDocument` API를 사용하여 동일한 문서를 인덱싱할 수 없으며 그 반대의 경우도 마찬가지입니다. 데이터 소스를 삭제한 다음 `BatchPutDocument` API를 사용하여 동일한 문서를 인덱싱하거나 그 반대로 할 수 있습니다. `BatchPutDocument` 및 `BatchDeleteDocument` APIs를 동일한 문서 세트에 대한 Amazon Kendra 데이터 소스 커넥터와 함께 사용하면 데이터와 불일치가 발생할 수 있습니다. 대신, [Amazon Kendra 사용자 지정 데이터 소스 커넥터](https://docs.aws.amazon.com/kendra/latest/dg/data-source-custom.html)를 사용하는 것이 좋습니다.

**참고**  
인덱스에 추가된 파일은 UTF-8 인코딩된 바이트 스트림에 있어야 합니다. 의 문서에 대한 자세한 내용은 [문서를](https://docs.aws.amazon.com/kendra/latest/dg/hiw-documents.html) Amazon Kendra참조하세요.

## 업데이트 일정 설정
<a name="cron"></a>

콘솔에서 정기적으로 업데이트하거나, 데이터 소스를 만들거나 업데이트할 때 `Schedule` 파라미터를 사용하여 데이터 소스를 구성합니다. 파라미터의 내용은 `cron` 형식 일정 문자열이나 필요에 따라 인덱스가 업데이트됨을 나타내는 빈 문자열을 포함하는 문자열입니다. cron 표현식의 형식은 *Amazon CloudWatch Events 사용 설명서*의 [규칙에 대한 일정 표현식을](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html) 참조하세요.는 cron 표현식만 Amazon Kendra 지원합니다. rate 표현식은 지원하지 않습니다.

## 언어 설정
<a name="language"></a>

지원되는 언어로 데이터 소스의 모든 문서를 인덱싱할 수 있습니다. [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 데이터 소스의 모든 문서에 대한 언어 코드를 지정합니다. 메타데이터 필드에 지정된 언어 코드가 없는 문서의 경우, 데이터 소스 수준에서 모든 문서에 지정된 언어 코드를 사용하여 문서가 인덱싱됩니다. 언어를 지정하지 않으면 Amazon Kendra 는 기본적으로 데이터 소스의 문서를 영어로 인덱싱합니다. 코드를 포함하여 지원되는 언어에 대한 자세한 내용은 [영어 이외의 언어로 문서 추가](https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html)를 참조하세요.

콘솔을 사용하여 지원되는 언어로 데이터 소스의 모든 문서를 인덱싱하세요. **데이터 소스**로 이동하여 데이터 소스를 편집하거나, **데이터 소스 추가**를 통해 새 데이터 소스를 추가합니다. **데이터 소스 세부 정보 지정** 페이지의 **언어** 드롭다운에서 언어를 선택합니다. **업데이트**를 선택하거나 구성 정보를 계속 입력하여 데이터 소스에 연결합니다.

# 데이터 소스 커넥터
<a name="data-sources"></a>

이 섹션에서는 AWS Management Console 및 Amazon Kendra APIs Amazon Kendra 에서를 사용하여 Amazon Kendra 지원되는 데이터베이스 및 데이터 소스 리포지토리에 연결하는 방법을 보여줍니다.

**Topics**
+ [데이터 소스 템플릿 스키마](ds-schemas.md)
+ [Adobe Experience Manager](data-source-aem.md)
+ [Alfresco](data-source-alfresco.md)
+ [Aurora(MySQL)](data-source-aurora-mysql.md)
+ [Aurora(PostgreSQL)](data-source-aurora-postgresql.md)
+ [Amazon FSx(Windows)](data-source-fsx.md)
+ [Amazon FSx(NetApp ONTAP)](data-source-fsx-ontap.md)
+ [Amazon RDS/Aurora](data-source-database.md)
+ [Amazon RDS(Microsoft SQL Server)](data-source-rds-ms-sql-server.md)
+ [Amazon RDS(MySQL)](data-source-rds-mysql.md)
+ [Amazon RDS(Oracle)](data-source-rds-oracle.md)
+ [Amazon RDS(PostgreSQL)](data-source-rds-postgresql.md)
+ [Amazon S3](data-source-s3.md)
+ [Amazon Kendra 웹 크롤러](data-source-web-crawler.md)
+ [Box](data-source-box.md)
+ [Confluence](data-source-confluence.md)
+ [사용자 지정 데이터 소스 커넥터](data-source-custom.md)
+ [Dropbox](data-source-dropbox.md)
+ [Drupal](data-source-drupal.md)
+ [GitHub](data-source-github.md)
+ [Gmail](data-source-gmail.md)
+ [Google Drive](data-source-google-drive.md)
+ [IBM DB2](data-source-ibm-db2.md)
+ [Jira](data-source-jira.md)
+ [Microsoft Exchange](data-source-exchange.md)
+ [Microsoft OneDrive](data-source-onedrive.md)
+ [Microsoft SharePoint](data-source-sharepoint.md)
+ [Microsoft SQL Server](data-source-ms-sql-server.md)
+ [Microsoft Teams](data-source-teams.md)
+ [Microsoft Yammer](data-source-yammer.md)
+ [MySQL](data-source-mysql.md)
+ [Oracle Database](data-source-oracle-database.md)
+ [PostgreSQL](data-source-postgresql.md)
+ [Quip](data-source-quip.md)
+ [Salesforce](data-source-salesforce.md)
+ [ServiceNow](data-source-servicenow.md)
+ [Slack](data-source-slack.md)
+ [Zendesk](data-source-zendesk.md)

# 데이터 소스 템플릿 스키마
<a name="ds-schemas"></a>

다음은 템플릿이 지원되는 데이터 소스의 템플릿 스키마입니다.

**Topics**
+ [Adobe Experience Manager 템플릿 스키마](#ds-aem-schema)
+ [Amazon FSx (Windows) 템플릿 스키마](#ds-fsx-windows-schema)
+ [Amazon FSx (NetApp ONTAP) 템플릿 스키마](#ds-fsx-ontap-schema)
+ [Alfresco 템플릿 스키마](#ds-alfresco-schema)
+ [Aurora (MySQL) 템플릿 스키마](#ds-aurora-mysql-schema)
+ [Aurora (PostgreSQL) 템플릿 스키마](#ds-aurora-postgresql-schema)
+ [Amazon RDS (Microsoft SQL Server) 템플릿 스키마](#ds-rds-ms-sql-server-schema)
+ [Amazon RDS (MySQL) 템플릿 스키마](#ds-rds-mysql-schema)
+ [Amazon RDS (Oracle) 템플릿 스키마](#ds-rds-oracle-schema)
+ [Amazon RDS (PostgreSQL) 템플릿 스키마](#ds-rds-postgresql-schema)
+ [Amazon S3 템플릿 스키마](#ds-s3-schema)
+ [Amazon Kendra 웹 크롤러 템플릿 스키마](#ds-schema-web-crawler)
+ [Confluence 템플릿 스키마](#ds-confluence-schema)
+ [Dropbox 템플릿 스키마](#ds-dropbox-schema)
+ [Drupal 템플릿 스키마](#ds-drupal-schema)
+ [GitHub 템플릿 스키마](#ds-github-schema)
+ [Gmail 템플릿 스키마](#ds-gmail-schema)
+ [Google Drive 템플릿 스키마](#ds-googledrive-schema)
+ [IBM DB2 템플릿 스키마](#ds-ibm-db2-schema)
+ [Microsoft Exchange 템플릿 스키마](#ds-msexchange-schema)
+ [Microsoft OneDrive 템플릿 스키마](#ds-onedrive-schema)
+ [Microsoft SharePoint 템플릿 스키마](#ds-schema-sharepoint)
+ [Microsoft SQL Server 템플릿 스키마](#ds-ms-sql-server-schema)
+ [Microsoft Teams 템플릿 스키마](#ds-msteams-schema)
+ [Microsoft Yammer 템플릿 스키마](#ds-schema-yammer)
+ [MySQL 템플릿 스키마](#ds-mysql-schema)
+ [Oracle Database 템플릿 스키마](#ds-oracle-database-schema)
+ [PostgreSQL 템플릿 스키마](#ds-postgresql-schema)
+ [Salesforce 템플릿 스키마](#ds-salesforce-schema)
+ [ServiceNow 템플릿 스키마](#ds-servicenow-schema)
+ [Slack 템플릿 스키마](#ds-schema-slack)
+ [Zendesk 템플릿 스키마](#ds-schema-zendesk)

## Adobe Experience Manager 템플릿 스키마
<a name="ds-aem-schema"></a>

데이터 소스 스키마를 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. Adobe Experience Manager 호스트 URL, 인증 유형, 그리고 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 클라우드 서비스형 Adobe Experience Manager(AEM) 또는 AEM 온프레미스 중에서 무엇을 사용할지 여부를 제공합니다. 또한 데이터 소스 유형으로 `AEM`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. 자세한 내용은 [Adobe Experience Manager JSON 스키마](#aem-json) 단원을 참조하십시오.

다음 표는 AEM JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| aemUrl | Adobe Experience Manager 호스트 URL. 예를 들어 AEM 온프레미스를 사용하는 경우 호스트 이름과 포트를 포함해야 합니다. https://hostname:port 클라우드 서비스형 AEM을 사용하는 경우 작성자 URL을 사용할 수 있습니다. https://author-xxxxxx-xxxxxxx.adobeaemcloud.com  | 
| authType | 사용하는 인증 유형(Basic 또는 OAuth2). | 
| deploymentType | 사용하는 Adobe Experience Manager 유형(CLOUD 또는 ON\$1PREMISE). | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Adobe Experience Manager 페이지 및 자산의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| timeZoneId |  AEM 온프레미스를 사용하고 서버의 시간대가 Amazon Kendra AEM 커넥터 또는 인덱스의 시간대와 다른 경우 AEM 커넥터 또는 인덱스에 맞게 서버 시간대를 지정할 수 있습니다. AEM 온프레미스의 기본 시간대는 Amazon Kendra AEM 커넥터 또는 인덱스의 시간대입니다. 클라우드 서비스형 AEM의 기본 시간대는 그리니치 표준시입니다.  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 페이지 및 자산의 루트 경로 목록. 예를 들어 페이지의 루트 경로는 /content/sub일 수 있고 자산의 루트 경로는 /content/sub/asset1일 수 있습니다. | 
| crawlAssets | 자산을 크롤링할 true. | 
| crawlPages | 페이지를 크롤링할 true. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Adobe Experience Manager 데이터 소스에서 특정 페이지 및 자산을 포함하는 정규식 패턴 목록. 패턴과 일치하는 항목은 인덱스에 포함됩니다. 패턴과 일치하지 않는 항목은 인덱스에서 제외됩니다. 페이지 또는 자산이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 콘텐츠는 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Adobe Experience Manager 데이터 소스에서 특정 페이지 및 자산을 제외하는 정규식 패턴 목록. 패턴과 일치하는 항목은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 항목은 인덱스에 포함됩니다. 페이지 또는 자산이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 콘텐츠는 인덱스에 포함되지 않습니다. | 
| pageComponents | 인덱싱하려는 특정 페이지 구성 요소의 목록. | 
| contentFragmentVariations | 인덱싱하려는 Adobe Experience Manager 내용 조각의 저장된 특정 변형의 이름 목록. | 
| type | 데이터 소스의 유형. AEM을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | Adobe Experience Manager에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 이러한 키-값 페어에 대한 자세한 내용은 [Adobe Experience Manager에 대한 연결 지침](https://docs.aws.amazon.com/kendra/latest/dg/data-source-aem.html#data-source-procedure-aem)을 참조하세요. | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

### Adobe Experience Manager JSON 스키마
<a name="aem-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties":
  {
    "connectionConfiguration": {
      "type": "object",
      "properties":
      {
        "repositoryEndpointMetadata":
        {
          "type": "object",
          "properties":
          {
            "aemUrl":
            {
              "type": "string",
              "pattern": "https:.*"
            },
            "authType": {
              "type": "string",
              "enum": ["Basic", "OAuth2"]
            },
            "deploymentType": {
              "type": "string",
              "enum": ["CLOUD","ON_PREMISE"]
            }
          },
          "required":
          [
            "aemUrl",
            "authType",
            "deploymentType"
          ]
        }
      },
      "required":
      [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties":
      {
        "page":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "asset":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        }
      }
    },
    "additionalProperties": {
      "type": "object",
      "properties":
      {
        "timeZoneId": {
          "type": "string",
          "enum": [
            "Africa/Abidjan",
            "Africa/Accra",
            "Africa/Addis_Ababa",
            "Africa/Algiers",
            "Africa/Asmara",
            "Africa/Asmera",
            "Africa/Bamako",
            "Africa/Bangui",
            "Africa/Banjul",
            "Africa/Bissau",
            "Africa/Blantyre",
            "Africa/Brazzaville",
            "Africa/Bujumbura",
            "Africa/Cairo",
            "Africa/Casablanca",
            "Africa/Ceuta",
            "Africa/Conakry",
            "Africa/Dakar",
            "Africa/Dar_es_Salaam",
            "Africa/Djibouti",
            "Africa/Douala",
            "Africa/El_Aaiun",
            "Africa/Freetown",
            "Africa/Gaborone",
            "Africa/Harare",
            "Africa/Johannesburg",
            "Africa/Juba",
            "Africa/Kampala",
            "Africa/Khartoum",
            "Africa/Kigali",
            "Africa/Kinshasa",
            "Africa/Lagos",
            "Africa/Libreville",
            "Africa/Lome",
            "Africa/Luanda",
            "Africa/Lubumbashi",
            "Africa/Lusaka",
            "Africa/Malabo",
            "Africa/Maputo",
            "Africa/Maseru",
            "Africa/Mbabane",
            "Africa/Mogadishu",
            "Africa/Monrovia",
            "Africa/Nairobi",
            "Africa/Ndjamena",
            "Africa/Niamey",
            "Africa/Nouakchott",
            "Africa/Ouagadougou",
            "Africa/Porto-Novo",
            "Africa/Sao_Tome",
            "Africa/Timbuktu",
            "Africa/Tripoli",
            "Africa/Tunis",
            "Africa/Windhoek",
            "America/Adak",
            "America/Anchorage",
            "America/Anguilla",
            "America/Antigua",
            "America/Araguaina",
            "America/Argentina/Buenos_Aires",
            "America/Argentina/Catamarca",
            "America/Argentina/ComodRivadavia",
            "America/Argentina/Cordoba",
            "America/Argentina/Jujuy",
            "America/Argentina/La_Rioja",
            "America/Argentina/Mendoza",
            "America/Argentina/Rio_Gallegos",
            "America/Argentina/Salta",
            "America/Argentina/San_Juan",
            "America/Argentina/San_Luis",
            "America/Argentina/Tucuman",
            "America/Argentina/Ushuaia",
            "America/Aruba",
            "America/Asuncion",
            "America/Atikokan",
            "America/Atka",
            "America/Bahia",
            "America/Bahia_Banderas",
            "America/Barbados",
            "America/Belem",
            "America/Belize",
            "America/Blanc-Sablon",
            "America/Boa_Vista",
            "America/Bogota",
            "America/Boise",
            "America/Buenos_Aires",
            "America/Cambridge_Bay",
            "America/Campo_Grande",
            "America/Cancun",
            "America/Caracas",
            "America/Catamarca",
            "America/Cayenne",
            "America/Cayman",
            "America/Chicago",
            "America/Chihuahua",
            "America/Ciudad_Juarez",
            "America/Coral_Harbour",
            "America/Cordoba",
            "America/Costa_Rica",
            "America/Creston",
            "America/Cuiaba",
            "America/Curacao",
            "America/Danmarkshavn",
            "America/Dawson",
            "America/Dawson_Creek",
            "America/Denver",
            "America/Detroit",
            "America/Dominica",
            "America/Edmonton",
            "America/Eirunepe",
            "America/El_Salvador",
            "America/Ensenada",
            "America/Fort_Nelson",
            "America/Fort_Wayne",
            "America/Fortaleza",
            "America/Glace_Bay",
            "America/Godthab",
            "America/Goose_Bay",
            "America/Grand_Turk",
            "America/Grenada",
            "America/Guadeloupe",
            "America/Guatemala",
            "America/Guayaquil",
            "America/Guyana",
            "America/Halifax",
            "America/Havana",
            "America/Hermosillo",
            "America/Indiana/Indianapolis",
            "America/Indiana/Knox",
            "America/Indiana/Marengo",
            "America/Indiana/Petersburg",
            "America/Indiana/Tell_City",
            "America/Indiana/Vevay",
            "America/Indiana/Vincennes",
            "America/Indiana/Winamac",
            "America/Indianapolis",
            "America/Inuvik",
            "America/Iqaluit",
            "America/Jamaica",
            "America/Jujuy",
            "America/Juneau",
            "America/Kentucky/Louisville",
            "America/Kentucky/Monticello",
            "America/Knox_IN",
            "America/Kralendijk",
            "America/La_Paz",
            "America/Lima",
            "America/Los_Angeles",
            "America/Louisville",
            "America/Lower_Princes",
            "America/Maceio",
            "America/Managua",
            "America/Manaus",
            "America/Marigot",
            "America/Martinique",
            "America/Matamoros",
            "America/Mazatlan",
            "America/Mendoza",
            "America/Menominee",
            "America/Merida",
            "America/Metlakatla",
            "America/Mexico_City",
            "America/Miquelon",
            "America/Moncton",
            "America/Monterrey",
            "America/Montevideo",
            "America/Montreal",
            "America/Montserrat",
            "America/Nassau",
            "America/New_York",
            "America/Nipigon",
            "America/Nome",
            "America/Noronha",
            "America/North_Dakota/Beulah",
            "America/North_Dakota/Center",
            "America/North_Dakota/New_Salem",
            "America/Nuuk",
            "America/Ojinaga",
            "America/Panama",
            "America/Pangnirtung",
            "America/Paramaribo",
            "America/Phoenix",
            "America/Port-au-Prince",
            "America/Port_of_Spain",
            "America/Porto_Acre",
            "America/Porto_Velho",
            "America/Puerto_Rico",
            "America/Punta_Arenas",
            "America/Rainy_River",
            "America/Rankin_Inlet",
            "America/Recife",
            "America/Regina",
            "America/Resolute",
            "America/Rio_Branco",
            "America/Rosario",
            "America/Santa_Isabel",
            "America/Santarem",
            "America/Santiago",
            "America/Santo_Domingo",
            "America/Sao_Paulo",
            "America/Scoresbysund",
            "America/Shiprock",
            "America/Sitka",
            "America/St_Barthelemy",
            "America/St_Johns",
            "America/St_Kitts",
            "America/St_Lucia",
            "America/St_Thomas",
            "America/St_Vincent",
            "America/Swift_Current",
            "America/Tegucigalpa",
            "America/Thule",
            "America/Thunder_Bay",
            "America/Tijuana",
            "America/Toronto",
            "America/Tortola",
            "America/Vancouver",
            "America/Virgin",
            "America/Whitehorse",
            "America/Winnipeg",
            "America/Yakutat",
            "America/Yellowknife",
            "Antarctica/Casey",
            "Antarctica/Davis",
            "Antarctica/DumontDUrville",
            "Antarctica/Macquarie",
            "Antarctica/Mawson",
            "Antarctica/McMurdo",
            "Antarctica/Palmer",
            "Antarctica/Rothera",
            "Antarctica/South_Pole",
            "Antarctica/Syowa",
            "Antarctica/Troll",
            "Antarctica/Vostok",
            "Arctic/Longyearbyen",
            "Asia/Aden",
            "Asia/Almaty",
            "Asia/Amman",
            "Asia/Anadyr",
            "Asia/Aqtau",
            "Asia/Aqtobe",
            "Asia/Ashgabat",
            "Asia/Ashkhabad",
            "Asia/Atyrau",
            "Asia/Baghdad",
            "Asia/Bahrain",
            "Asia/Baku",
            "Asia/Bangkok",
            "Asia/Barnaul",
            "Asia/Beirut",
            "Asia/Bishkek",
            "Asia/Brunei",
            "Asia/Calcutta",
            "Asia/Chita",
            "Asia/Choibalsan",
            "Asia/Chongqing",
            "Asia/Chungking",
            "Asia/Colombo",
            "Asia/Dacca",
            "Asia/Damascus",
            "Asia/Dhaka",
            "Asia/Dili",
            "Asia/Dubai",
            "Asia/Dushanbe",
            "Asia/Famagusta",
            "Asia/Gaza",
            "Asia/Harbin",
            "Asia/Hebron",
            "Asia/Ho_Chi_Minh",
            "Asia/Hong_Kong",
            "Asia/Hovd",
            "Asia/Irkutsk",
            "Asia/Istanbul",
            "Asia/Jakarta",
            "Asia/Jayapura",
            "Asia/Jerusalem",
            "Asia/Kabul",
            "Asia/Kamchatka",
            "Asia/Karachi",
            "Asia/Kashgar",
            "Asia/Kathmandu",
            "Asia/Katmandu",
            "Asia/Khandyga",
            "Asia/Kolkata",
            "Asia/Krasnoyarsk",
            "Asia/Kuala_Lumpur",
            "Asia/Kuching",
            "Asia/Kuwait",
            "Asia/Macao",
            "Asia/Macau",
            "Asia/Magadan",
            "Asia/Makassar",
            "Asia/Manila",
            "Asia/Muscat",
            "Asia/Nicosia",
            "Asia/Novokuznetsk",
            "Asia/Novosibirsk",
            "Asia/Omsk",
            "Asia/Oral",
            "Asia/Phnom_Penh",
            "Asia/Pontianak",
            "Asia/Pyongyang",
            "Asia/Qatar",
            "Asia/Qostanay",
            "Asia/Qyzylorda",
            "Asia/Rangoon",
            "Asia/Riyadh",
            "Asia/Saigon",
            "Asia/Sakhalin",
            "Asia/Samarkand",
            "Asia/Seoul",
            "Asia/Shanghai",
            "Asia/Singapore",
            "Asia/Srednekolymsk",
            "Asia/Taipei",
            "Asia/Tashkent",
            "Asia/Tbilisi",
            "Asia/Tehran",
            "Asia/Tel_Aviv",
            "Asia/Thimbu",
            "Asia/Thimphu",
            "Asia/Tokyo",
            "Asia/Tomsk",
            "Asia/Ujung_Pandang",
            "Asia/Ulaanbaatar",
            "Asia/Ulan_Bator",
            "Asia/Urumqi",
            "Asia/Ust-Nera",
            "Asia/Vientiane",
            "Asia/Vladivostok",
            "Asia/Yakutsk",
            "Asia/Yangon",
            "Asia/Yekaterinburg",
            "Asia/Yerevan",
            "Atlantic/Azores",
            "Atlantic/Bermuda",
            "Atlantic/Canary",
            "Atlantic/Cape_Verde",
            "Atlantic/Faeroe",
            "Atlantic/Faroe",
            "Atlantic/Jan_Mayen",
            "Atlantic/Madeira",
            "Atlantic/Reykjavik",
            "Atlantic/South_Georgia",
            "Atlantic/St_Helena",
            "Atlantic/Stanley",
            "Australia/ACT",
            "Australia/Adelaide",
            "Australia/Brisbane",
            "Australia/Broken_Hill",
            "Australia/Canberra",
            "Australia/Currie",
            "Australia/Darwin",
            "Australia/Eucla",
            "Australia/Hobart",
            "Australia/LHI",
            "Australia/Lindeman",
            "Australia/Lord_Howe",
            "Australia/Melbourne",
            "Australia/NSW",
            "Australia/North",
            "Australia/Perth",
            "Australia/Queensland",
            "Australia/South",
            "Australia/Sydney",
            "Australia/Tasmania",
            "Australia/Victoria",
            "Australia/West",
            "Australia/Yancowinna",
            "Brazil/Acre",
            "Brazil/DeNoronha",
            "Brazil/East",
            "Brazil/West",
            "CET",
            "CST6CDT",
            "Canada/Atlantic",
            "Canada/Central",
            "Canada/Eastern",
            "Canada/Mountain",
            "Canada/Newfoundland",
            "Canada/Pacific",
            "Canada/Saskatchewan",
            "Canada/Yukon",
            "Chile/Continental",
            "Chile/EasterIsland",
            "Cuba",
            "EET",
            "EST5EDT",
            "Egypt",
            "Eire",
            "Etc/GMT",
            "Etc/GMT+0",
            "Etc/GMT+1",
            "Etc/GMT+10",
            "Etc/GMT+11",
            "Etc/GMT+12",
            "Etc/GMT+2",
            "Etc/GMT+3",
            "Etc/GMT+4",
            "Etc/GMT+5",
            "Etc/GMT+6",
            "Etc/GMT+7",
            "Etc/GMT+8",
            "Etc/GMT+9",
            "Etc/GMT-0",
            "Etc/GMT-1",
            "Etc/GMT-10",
            "Etc/GMT-11",
            "Etc/GMT-12",
            "Etc/GMT-13",
            "Etc/GMT-14",
            "Etc/GMT-2",
            "Etc/GMT-3",
            "Etc/GMT-4",
            "Etc/GMT-5",
            "Etc/GMT-6",
            "Etc/GMT-7",
            "Etc/GMT-8",
            "Etc/GMT-9",
            "Etc/GMT0",
            "Etc/Greenwich",
            "Etc/UCT",
            "Etc/UTC",
            "Etc/Universal",
            "Etc/Zulu",
            "Europe/Amsterdam",
            "Europe/Andorra",
            "Europe/Astrakhan",
            "Europe/Athens",
            "Europe/Belfast",
            "Europe/Belgrade",
            "Europe/Berlin",
            "Europe/Bratislava",
            "Europe/Brussels",
            "Europe/Bucharest",
            "Europe/Budapest",
            "Europe/Busingen",
            "Europe/Chisinau",
            "Europe/Copenhagen",
            "Europe/Dublin",
            "Europe/Gibraltar",
            "Europe/Guernsey",
            "Europe/Helsinki",
            "Europe/Isle_of_Man",
            "Europe/Istanbul",
            "Europe/Jersey",
            "Europe/Kaliningrad",
            "Europe/Kiev",
            "Europe/Kirov",
            "Europe/Kyiv",
            "Europe/Lisbon",
            "Europe/Ljubljana",
            "Europe/London",
            "Europe/Luxembourg",
            "Europe/Madrid",
            "Europe/Malta",
            "Europe/Mariehamn",
            "Europe/Minsk",
            "Europe/Monaco",
            "Europe/Moscow",
            "Europe/Nicosia",
            "Europe/Oslo",
            "Europe/Paris",
            "Europe/Podgorica",
            "Europe/Prague",
            "Europe/Riga",
            "Europe/Rome",
            "Europe/Samara",
            "Europe/San_Marino",
            "Europe/Sarajevo",
            "Europe/Saratov",
            "Europe/Simferopol",
            "Europe/Skopje",
            "Europe/Sofia",
            "Europe/Stockholm",
            "Europe/Tallinn",
            "Europe/Tirane",
            "Europe/Tiraspol",
            "Europe/Ulyanovsk",
            "Europe/Uzhgorod",
            "Europe/Vaduz",
            "Europe/Vatican",
            "Europe/Vienna",
            "Europe/Vilnius",
            "Europe/Volgograd",
            "Europe/Warsaw",
            "Europe/Zagreb",
            "Europe/Zaporozhye",
            "Europe/Zurich",
            "GB",
            "GB-Eire",
            "GMT",
            "GMT0",
            "Greenwich",
            "Hongkong",
            "Iceland",
            "Indian/Antananarivo",
            "Indian/Chagos",
            "Indian/Christmas",
            "Indian/Cocos",
            "Indian/Comoro",
            "Indian/Kerguelen",
            "Indian/Mahe",
            "Indian/Maldives",
            "Indian/Mauritius",
            "Indian/Mayotte",
            "Indian/Reunion",
            "Iran",
            "Israel",
            "Jamaica",
            "Japan",
            "Kwajalein",
            "Libya",
            "MET",
            "MST7MDT",
            "Mexico/BajaNorte",
            "Mexico/BajaSur",
            "Mexico/General",
            "NZ",
            "NZ-CHAT",
            "Navajo",
            "PRC",
            "PST8PDT",
            "Pacific/Apia",
            "Pacific/Auckland",
            "Pacific/Bougainville",
            "Pacific/Chatham",
            "Pacific/Chuuk",
            "Pacific/Easter",
            "Pacific/Efate",
            "Pacific/Enderbury",
            "Pacific/Fakaofo",
            "Pacific/Fiji",
            "Pacific/Funafuti",
            "Pacific/Galapagos",
            "Pacific/Gambier",
            "Pacific/Guadalcanal",
            "Pacific/Guam",
            "Pacific/Honolulu",
            "Pacific/Johnston",
            "Pacific/Kanton",
            "Pacific/Kiritimati",
            "Pacific/Kosrae",
            "Pacific/Kwajalein",
            "Pacific/Majuro",
            "Pacific/Marquesas",
            "Pacific/Midway",
            "Pacific/Nauru",
            "Pacific/Niue",
            "Pacific/Norfolk",
            "Pacific/Noumea",
            "Pacific/Pago_Pago",
            "Pacific/Palau",
            "Pacific/Pitcairn",
            "Pacific/Pohnpei",
            "Pacific/Ponape",
            "Pacific/Port_Moresby",
            "Pacific/Rarotonga",
            "Pacific/Saipan",
            "Pacific/Samoa",
            "Pacific/Tahiti",
            "Pacific/Tarawa",
            "Pacific/Tongatapu",
            "Pacific/Truk",
            "Pacific/Wake",
            "Pacific/Wallis",
            "Pacific/Yap",
            "Poland",
            "Portugal",
            "ROK",
            "Singapore",
            "SystemV/AST4",
            "SystemV/AST4ADT",
            "SystemV/CST6",
            "SystemV/CST6CDT",
            "SystemV/EST5",
            "SystemV/EST5EDT",
            "SystemV/HST10",
            "SystemV/MST7",
            "SystemV/MST7MDT",
            "SystemV/PST8",
            "SystemV/PST8PDT",
            "SystemV/YST9",
            "SystemV/YST9YDT",
            "Turkey",
            "UCT",
            "US/Alaska",
            "US/Aleutian",
            "US/Arizona",
            "US/Central",
            "US/East-Indiana",
            "US/Eastern",
            "US/Hawaii",
            "US/Indiana-Starke",
            "US/Michigan",
            "US/Mountain",
            "US/Pacific",
            "US/Samoa",
            "UTC",
            "Universal",
            "W-SU",
            "WET",
            "Zulu",
            "EST",
            "HST",
            "MST",
            "ACT",
            "AET",
            "AGT",
            "ART",
            "AST",
            "BET",
            "BST",
            "CAT",
            "CNT",
            "CST",
            "CTT",
            "EAT",
            "ECT",
            "IET",
            "IST",
            "JST",
            "MIT",
            "NET",
            "NST",
            "PLT",
            "PNT",
            "PRT",
            "PST",
            "SST",
            "VST"
          ]
        },
        "pageRootPaths":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "assetRootPaths":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "crawlAssets":
        {
          "type": "boolean"
        },
        "crawlPages":
        {
          "type": "boolean"
        },
        "pagePathInclusionPatterns":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "pagePathExclusionPatterns":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "pageNameInclusionPatterns":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "pageNameExclusionPatterns":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "assetPathInclusionPatterns":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "assetPathExclusionPatterns":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "assetTypeInclusionPatterns":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "assetTypeExclusionPatterns":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "assetNameInclusionPatterns":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "assetNameExclusionPatterns":
        {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "pageComponents": {
          "type": "array",
          "items": {
            "type": "object"
            }
        },
        "contentFragmentVariations": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "cugExemptedPrincipals": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required":
      []
    },
    "type": {
      "type": "string",
      "pattern": "AEM"
    },
    "enableIdentityCrawler": {
      "type": "boolean"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "syncMode",
    "additionalProperties",
    "secretArn",
    "type"
  ]
}
```

## Amazon FSx (Windows) 템플릿 스키마
<a name="ds-fsx-windows-schema"></a>

데이터 소스 스키마를 [https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 파일 시스템 ID는 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 제공합니다. 또한 데이터 소스 유형으로 `FSX`, 인증 자격 증명의 암호 및 기타 필수 구성을 지정할 수 있습니다. 그런 다음 [https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Amazon FSx (Windows) JSON 스키마](#fsx-windows-json)을(를) 참조하세요.

다음 표에서는 Amazon FSx (Windows) JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| fileSystemId |  Amazon FSx 파일 시스템의 식별자입니다. Amazon FSx 콘솔의 파일 시스템 대시보드에서 파일 시스템 ID를 찾을 수 있습니다. | 
| fileSystemType |  Amazon FSx 파일 시스템 유형입니다. Windows File Server를 파일 시스템 유형으로 사용하려면 WINDOWS를 지정합니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
| 모두 |  Amazon FSx 데이터 소스에 있는 파일의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| isCrawlAcl | true: 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링합니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요. | 
| inclusionPatterns |  Amazon FSx 데이터 소스에 특정 파일을 포함하는 정규식 패턴 목록입니다. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| exclusionPatterns |  Amazon FSx 데이터 소스에서 특정 파일을 제외하는 정규식 패턴 목록입니다. 패턴과 일치하는 파일은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 파일은 인덱스에 포함됩니다. 파일이 제외 및 포함 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| type | 데이터 소스의 유형. Windows 파일 시스템 데이터 소스의 경우 FSX를 지정합니다. | 

### Amazon FSx (Windows) JSON 스키마
<a name="fsx-windows-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "fileSystemId": {
              "type": "string",
              "pattern": "fs-.*"
            },
            "fileSystemType": {
              "type": "string",
              "pattern": "WINDOWS"
            }
          },
          "required": ["fileSystemId", "fileSystemType"]
        }
      }
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "All": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": ["STRING", "STRING_LIST", "DATE"]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": ["fieldMappings"]
        }
      },
      "required": ["All"]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "isCrawlAcl": {
          "type": "boolean"
        },
        "exclusionPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": []
    },
    "enableIdentityCrawler": {
      "type": "boolean"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL"
      ]
    },
    "type" : {
      "type" : "string",
      "pattern": "FSX"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "syncMode",
    "enableIdentityCrawler",
    "additionalProperties",
    "type"
  ]
}
```

## Amazon FSx (NetApp ONTAP) 템플릿 스키마
<a name="ds-fsx-ontap-schema"></a>

데이터 소스 스키마를 [https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 파일 시스템 ID 및 스토리지 가상 머신(SVM)을 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 제공합니다. 또한 데이터 소스 유형으로 `FSXONTAP`, 인증 자격 증명의 암호 및 기타 필수 구성을 지정할 수 있습니다. 그런 다음 [https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Amazon FSx (NetApp ONTAP) JSON 스키마](#fsx-ontap-json)을(를) 참조하세요.

다음 표에서는 Amazon FSx (NetApp ONTAP) JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| fileSystemId |  Amazon FSx 파일 시스템의 식별자입니다. Amazon FSx 콘솔의 파일 시스템 대시보드에서 파일 시스템 ID를 찾을 수 있습니다. NetApp ONTAP용 Amazon FSx 콘솔에서 파일 시스템을 생성하는 방법에 대한 자세한 내용은 사용 [설명서의 NetApp ONTAP용 시작](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/getting-started.html) FSx for ONTAP 안내서를 참조하세요. | 
| fileSystemType |  Amazon FSx 파일 시스템 유형입니다. NetApp ONTAP를 파일 시스템 유형으로 사용하려면 ONTAP를 지정합니다. | 
| svmId | NetApp ONTAP용 Amazon FSx 파일 시스템과 함께 사용되는 스토리지 가상 머신(SVM)의 식별자입니다. Amazon FSx 콘솔의 파일 시스템 대시보드로 이동하여 파일 시스템 ID를 선택한 다음 스토리지 가상 머신을 선택하여 SVM ID를 찾을 수 있습니다. Amazon FSx 콘솔에서 용 파일 시스템을 생성하는 방법에 대한 자세한 내용은 사용 [설명서의 NetApp ONTAP 시작](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/getting-started.html) FSx for ONTAP 안내서를 NetApp ONTAP참조하세요. | 
| protocolType | Windows에서는 공용 인터넷 파일 시스템(CIFS) 프로토콜을, Linux에서는 네트워크 파일 시스템(NFS) 프로토콜을 사용하는지 여부입니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
| 파일 |  Amazon FSx 데이터 소스에 있는 파일의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. 데이터 소스 필드 이름이 파일 사용자 지정 메타데이터에 있어야 합니다. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| crawlAcl | true: 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링합니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요. | 
| inclusionPatterns |  Amazon FSx 데이터 소스에 특정 파일을 포함하는 정규식 패턴 목록입니다. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| exclusionPatterns |  Amazon FSx 데이터 소스에서 특정 파일을 제외하는 정규식 패턴 목록입니다. 패턴과 일치하는 파일은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 파일은 인덱스에 포함됩니다. 파일이 제외 및 포함 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| type | 데이터 소스의 유형. NetApp ONTAP 파일 시스템 데이터 소스의 경우 FSXONTAP를 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn |   Amazon FSx 파일 시스템에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다. <pre>{<br />    "username": "user@corp.example.com",<br />    "password": "password"<br />}</pre>  Amazon FSx 파일 시스템에 NFS 프로토콜을 사용하는 경우 보안 암호는 다음 키와 함께 JSON 구조에 저장됩니다. <pre>{<br />    "leftId": "left ID",<br />    "rightId": "right ID",<br />    "preSharedKey": "pre-shared key"<br />}</pre>  | 

### Amazon FSx (NetApp ONTAP) JSON 스키마
<a name="fsx-ontap-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "fileSystemId": {
              "type": "string",
                "pattern": "^(fs-[0-9a-f]{8,21})$"
            },
            "fileSystemType": {
              "type": "string",
              "enum": ["ONTAP"]
            },
            "svmId": {
              "type": "string",
              "pattern": "^(svm-[0-9a-f]{17,21})$"
            },
            "protocolType": {
              "type": "string",
              "enum": [
                "CIFS",
                "NFS"
              ]
            }
          },
          "required": [
            "fileSystemId",
            "fileSystemType"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "file": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string",
                      "pattern": "^([a-zA-Z_]{1,20})$"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string",
                      "pattern": "^([a-zA-Z_]{1,20})$"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ],
              "maxItems": 50
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
        "file"
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "crawlAcl": {
          "type": "boolean"
        },
        "inclusionPatterns": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 30
          },
          "maxItems": 100
        },
        "exclusionPatterns": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 30
          },
          "maxItems": 100
        }
      }
    },
    "type": {
      "type": "string",
      "pattern": "FSXONTAP"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL"
      ]
    },
    "secretArn": {
      "type": "string",
      "pattern": "arn:aws:secretsmanager:.*"
    }
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "additionalProperties",
    "secretArn",
    "type"
  ]
}
```

## Alfresco 템플릿 스키마
<a name="ds-alfresco-schema"></a>

데이터 소스 스키마를 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. Alfresco 사이트 ID, 리포지토리 URL, 사용자 인터페이스 URL, 인증 유형, 클라우드 또는 온프레미스 사용 여부, 크롤링하려는 콘텐츠 유형을 제공합니다. 이 정보는 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 제공합니다. 또한 데이터 소스 유형으로 `ALFRESCO`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Alfresco JSON 스키마](#alfresco-json)을(를) 참조하세요.

다음 표는 Alfresco JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| siteId | Alfresco 사이트의 식별자. | 
| repoUrl | Alfresco 리포지토리의 URL. 리포지토리 URL은 Alfresco 관리자로부터 받을 수 있습니다. 예를 들어 Alfresco Cloud(PaaS)를 사용하는 경우 리포지토리 URL은 https://company.alfrescocloud.com과 같을 수 있습니다. 또는 Alfresco 온프레미스를 사용하는 경우 리포지토리 URL은 https://company-alfresco-instance.company-domain.suffix:port와 같을 수 있습니다. | 
| webAppUrl | Alfresco 사용자 인터페이스의 URL. Alfresco 사용자 인터페이스 URL은 Alfresco 관리자로부터 받을 수 있습니다. 예를 들어 사용자 인터페이스 URL은 https://example.com과 같을 수 있습니다. | 
| repositoryAdditionalProperties | 리포지토리/데이터 소스 엔드포인트와 연결하기 위한 추가 속성. | 
| authType | 사용하는 인증 유형(OAuth2 또는 Basic). | 
| type (deployment) | 사용하는 Alfresco 유형(PAAS 또는 ON-PREM). | 
| crawlType | 크롤링하려는 콘텐츠의 유형, 즉 ASPECT(Alfresco에서 'Aspect'로 표시된 콘텐츠), SITE\$1ID(특정 Alfresco 사이트 내 콘텐츠) 또는 ALL\$1SITES(모든 Alfresco 사이트의 콘텐츠). | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Alfresco 문서 및 주석의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| aspectName |  인덱싱하려는 특정 'Aspect'의 이름.  | 
| aspectProperties |  인덱싱하려는 특정 'Aspect' 콘텐츠 속성의 목록.  | 
| enableFineGrainedControl |  'Aspects'를 크롤링할 `true`.  | 
| isCrawlComment |  `true`: 설명을 크롤링합니다.  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Alfresco 데이터 소스에서 특정 파일을 포함하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Alfresco 데이터 소스에서 특정 파일을 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 파일은 인덱스에 포함됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| type | 데이터 소스의 유형. ALFRESCO을 데이터 소스 유형으로 지정합니다. | 
| secretArn |  에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다Alfresco. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다. 기본 인증을 사용하는 경우: <pre>{<br />    "username": "user name",<br />    "password": "password"<br />}</pre> OAuth 2.0 인증을 사용하는 경우 <pre>{<br />    "clientId": "client ID",<br />    "clientSecret": "client secret",<br />    "tokenUrl": "token URL"<br />}</pre>  | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

### Alfresco JSON 스키마
<a name="alfresco-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "siteId": {
              "type": "string"
            },
            "repoUrl": {
              "type": "string"
            },
            "webAppUrl": {
              "type": "string"
            },
            "repositoryAdditionalProperties": {
              "type": "object",
              "properties": {
                "authType": {
                  "type": "string",
                  "enum": [
                    "OAuth2",
                    "Basic"
                  ]
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "PAAS",
                    "ON_PREM"
                  ]
                },
                "crawlType": {
                  "type": "string",
                  "enum": [
                    "ASPECT",
                    "SITE_ID",
                    "ALL_SITES"
                  ]
                }
              }
            }
          }
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": [
                          "STRING",
                          "DATE",
                          "STRING_LIST",
                          "LONG"
                        ]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "comment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": [
                          "STRING",
                          "DATE",
                          "STRING_LIST",
                          "LONG"
                        ]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      }
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "aspectName": {
          "type": "string"
        },
        "aspectProperties": {
          "type": "array"
        },
        "enableFineGrainedControl": {
          "type": "boolean"
        },
        "isCrawlComment": {
          "type": "boolean"
        },
        "inclusionFileNamePatterns": {
          "type": "array"
        },
        "exclusionFileNamePatterns": {
          "type": "array"
        },
        "inclusionFileTypePatterns": {
          "type": "array"
        },
        "exclusionFileTypePatterns": {
          "type": "array"
        },
        "inclusionFilePathPatterns": {
          "type": "array"
        },
        "exclusionFilePathPatterns": {
          "type": "array"
        }
      }
    },
    "type": {
      "type": "string",
      "pattern": "ALFRESCO"
    },
    "secretArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL"
      ]
    },
    "enableIdentityCrawler": {
      "type": "boolean"
    },
    "version": {
      "type": "string",
      "anyOf": [
        {
          "pattern": "1.0.0"
        }
      ]
    }
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "additionalProperties",
    "type",
    "secretArn"
  ]
}
```

## Aurora (MySQL) 템플릿 스키마
<a name="ds-aurora-mysql-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스로 `JDBC`, 데이터 소스 유형으로 `mysql`, 보안 인증 정보의 암호, 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Aurora (MySQL) JSON 스키마](#aurora-mysql-json)을(를) 참조하세요.

다음 표에서는 Aurora (MySQL) JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스 연결을 위한 필수 구성 정보.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  문서  |  데이터베이스 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. 데이터베이스 데이터 소스에 특정 콘텐츠를 포함하거나 제외하는 데 사용합니다. | 
| primaryKeys  | 데이터베이스 테이블의 기본 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다. | 
| titleColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| bodyColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| sqlQuery | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| timestampColumn | 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra 사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다. | 
| timestampFormat | 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다. | 
| timezone | 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다. | 
| changeDetectingColumns | 콘텐츠 변경을 감지하는 데 Amazon Kendra 사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱 Amazon Kendra 합니다. | 
| allowedUsersColumns | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| allowedGroupsColumn | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| sourceURIColumn | 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다. | 
| isSslEnabled | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| type | 데이터 소스의 유형. JDBC을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | 데이터베이스에 연결하는 데 필요한 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "user name": "database user name",<br />    "password": "password"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### Aurora (MySQL) JSON 스키마
<a name="aurora-mysql-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "dbType": {
              "type": "string",
              "enum": [
                "mysql",
                "db2",
                "postgresql",
                "oracle",
                "sqlserver"
              ]
            },
            "dbHost": {
              "type": "string"
            },
            "dbPort": {
              "type": "string"
            },
            "dbInstance": {
              "type": "string"
            }
          },
          "required": [
            "dbType",
            "dbHost",
            "dbPort",
            "dbInstance"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string"
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "primaryKey": {
          "type": "string"
        },
        "titleColumn": {
          "type": "string"
        },
        "bodyColumn": {
          "type": "string"
        },
        "sqlQuery": {
          "type": "string",
          "not": {
            "pattern": ";+"
          }
        },
        "timestampColumn": {
          "type": "string"
        },
        "timestampFormat": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "changeDetectingColumns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedUsersColumn": {
          "type": "string"
        },
        "allowedGroupsColumn": {
          "type": "string"
        },
        "sourceURIColumn": {
          "type": "string"
        },
        "isSslEnabled": {
          "type": "boolean"
        }
      },
      "required": ["primaryKey", "titleColumn", "bodyColumn", "sqlQuery"]
    },
    "type" : {
      "type" : "string",
      "pattern": "JDBC"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
      "connectionConfiguration",
      "repositoryConfigurations",
      "syncMode",
      "additionalProperties",
      "secretArn",
      "type"
  ]
}
```

## Aurora (PostgreSQL) 템플릿 스키마
<a name="ds-aurora-postgresql-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스로 `JDBC`, 데이터 소스 유형으로 `postgresql`, 보안 인증 정보의 암호, 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Aurora (PostgreSQL) JSON 스키마](#aurora-postgresql-json)을(를) 참조하세요.

다음 표에서는 Aurora (PostgreSQL) JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스 연결을 위한 필수 구성 정보.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  문서  |  데이터베이스 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. 데이터베이스 데이터 소스에 특정 콘텐츠를 포함하거나 제외하는 데 사용합니다. | 
| primaryKeys  | 데이터베이스 테이블의 기본 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다. | 
| titleColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| bodyColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| sqlQuery | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| timestampColumn | 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra 사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다. | 
| timestampFormat | 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다. | 
| timezone | 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다. | 
| changeDetectingColumns | 콘텐츠 변경을 감지하는 데 Amazon Kendra 사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱 Amazon Kendra 합니다. | 
| allowedUsersColumns | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| allowedGroupsColumn | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| sourceURIColumn | 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다. | 
| isSslEnabled | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| type | 데이터 소스의 유형. JDBC을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | 데이터베이스에 연결하는 데 필요한 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "user name": "database user name",<br />    "password": "password"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### Aurora (PostgreSQL) JSON 스키마
<a name="aurora-postgresql-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "dbType": {
              "type": "string",
              "enum": [
                "mysql",
                "db2",
                "postgresql",
                "oracle",
                "sqlserver"
              ]
            },
            "dbHost": {
              "type": "string"
            },
            "dbPort": {
              "type": "string"
            },
            "dbInstance": {
              "type": "string"
            }
          },
          "required": [
            "dbType",
            "dbHost",
            "dbPort",
            "dbInstance"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string"
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "primaryKey": {
          "type": "string"
        },
        "titleColumn": {
          "type": "string"
        },
        "bodyColumn": {
          "type": "string"
        },
        "sqlQuery": {
          "type": "string",
          "not": {
            "pattern": ";+"
          }
        },
        "timestampColumn": {
          "type": "string"
        },
        "timestampFormat": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "changeDetectingColumns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedUsersColumn": {
          "type": "string"
        },
        "allowedGroupsColumn": {
          "type": "string"
        },
        "sourceURIColumn": {
          "type": "string"
        },
        "isSslEnabled": {
          "type": "boolean"
        }
      },
      "required": ["primaryKey", "titleColumn", "bodyColumn", "sqlQuery"]
    },
    "type" : {
      "type" : "string",
      "pattern": "JDBC"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
      "connectionConfiguration",
      "repositoryConfigurations",
      "syncMode",
      "additionalProperties",
      "secretArn",
      "type"
  ]
}
```

## Amazon RDS (Microsoft SQL Server) 템플릿 스키마
<a name="ds-rds-ms-sql-server-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스로 `JDBC`, 데이터 소스 유형으로 `sqlserver`, 보안 인증 정보의 암호, 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Amazon RDS (Microsoft SQL Server) JSON 스키마](#rds-ms-sql-server-json)을(를) 참조하세요.

다음 표에서는 Amazon RDS (Microsoft SQL Server) JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스 연결을 위한 필수 구성 정보.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  문서  |  데이터베이스 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. 데이터베이스 데이터 소스에 특정 콘텐츠를 포함하거나 제외하는 데 사용합니다. | 
| primaryKeys  | 데이터베이스 테이블의 기본 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다. | 
| titleColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| bodyColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| sqlQuery | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| timestampColumn | 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra 사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다. | 
| timestampFormat | 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다. | 
| timezone | 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다. | 
| changeDetectingColumns | 콘텐츠 변경을 감지하는 데 Amazon Kendra 사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱 Amazon Kendra 합니다. | 
| allowedUsersColumns | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| allowedGroupsColumn | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| sourceURIColumn | 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다. | 
| isSslEnabled | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| type | 데이터 소스의 유형. JDBC을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | 데이터베이스에 연결하는 데 필요한 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "user name": "database user name",<br />    "password": "password"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### Amazon RDS (Microsoft SQL Server) JSON 스키마
<a name="rds-ms-sql-server-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "dbType": {
              "type": "string",
              "enum": [
                "mysql",
                "db2",
                "postgresql",
                "oracle",
                "sqlserver"
              ]
            },
            "dbHost": {
              "type": "string"
            },
            "dbPort": {
              "type": "string"
            },
            "dbInstance": {
              "type": "string"
            }
          },
          "required": [
            "dbType",
            "dbHost",
            "dbPort",
            "dbInstance"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string"
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "primaryKey": {
          "type": "string"
        },
        "titleColumn": {
          "type": "string"
        },
        "bodyColumn": {
          "type": "string"
        },
        "sqlQuery": {
          "type": "string",
          "not": {
            "pattern": ";+"
          }
        },
        "timestampColumn": {
          "type": "string"
        },
        "timestampFormat": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "changeDetectingColumns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedUsersColumn": {
          "type": "string"
        },
        "allowedGroupsColumn": {
          "type": "string"
        },
        "sourceURIColumn": {
          "type": "string"
        },
        "isSslEnabled": {
          "type": "boolean"
        }
      },
      "required": ["primaryKey", "titleColumn", "bodyColumn", "sqlQuery"]
    },
    "type" : {
      "type" : "string",
      "pattern": "JDBC"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
      "connectionConfiguration",
      "repositoryConfigurations",
      "syncMode",
      "additionalProperties",
      "secretArn",
      "type"
  ]
}
```

## Amazon RDS (MySQL) 템플릿 스키마
<a name="ds-rds-mysql-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스로 `JDBC`, 데이터 소스 유형으로 `mysql`, 보안 인증 정보의 암호, 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Amazon RDS (MySQL) JSON 스키마](#rds-mysql-json)을(를) 참조하세요.

다음 표에서는 Amazon RDS (MySQL) JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스 연결을 위한 필수 구성 정보.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  문서  |  데이터베이스 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. 데이터베이스 데이터 소스에 특정 콘텐츠를 포함하거나 제외하는 데 사용합니다. | 
| primaryKeys  | 데이터베이스 테이블의 기본 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다. | 
| titleColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| bodyColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| sqlQuery | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| timestampColumn | 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra 사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다. | 
| timestampFormat | 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다. | 
| timezone | 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다. | 
| changeDetectingColumns | 콘텐츠 변경을 감지하는 데 Amazon Kendra 사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱 Amazon Kendra 합니다. | 
| allowedUsersColumns | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| allowedGroupsColumn | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| sourceURIColumn | 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다. | 
| isSslEnabled | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| type | 데이터 소스의 유형. JDBC을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | 데이터베이스에 연결하는 데 필요한 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "user name": "database user name",<br />    "password": "password"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### Amazon RDS (MySQL) JSON 스키마
<a name="rds-mysql-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "dbType": {
              "type": "string",
              "enum": [
                "mysql",
                "db2",
                "postgresql",
                "oracle",
                "sqlserver"
              ]
            },
            "dbHost": {
              "type": "string"
            },
            "dbPort": {
              "type": "string"
            },
            "dbInstance": {
              "type": "string"
            }
          },
          "required": [
            "dbType",
            "dbHost",
            "dbPort",
            "dbInstance"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string"
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "primaryKey": {
          "type": "string"
        },
        "titleColumn": {
          "type": "string"
        },
        "bodyColumn": {
          "type": "string"
        },
        "sqlQuery": {
          "type": "string",
          "not": {
            "pattern": ";+"
          }
        },
        "timestampColumn": {
          "type": "string"
        },
        "timestampFormat": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "changeDetectingColumns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedUsersColumn": {
          "type": "string"
        },
        "allowedGroupsColumn": {
          "type": "string"
        },
        "sourceURIColumn": {
          "type": "string"
        },
        "isSslEnabled": {
          "type": "boolean"
        }
      },
      "required": ["primaryKey", "titleColumn", "bodyColumn", "sqlQuery"]
    },
    "type" : {
      "type" : "string",
      "pattern": "JDBC"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
      "connectionConfiguration",
      "repositoryConfigurations",
      "syncMode",
      "additionalProperties",
      "secretArn",
      "type"
  ]
}
```

## Amazon RDS (Oracle) 템플릿 스키마
<a name="ds-rds-oracle-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스로 `JDBC`, 데이터 소스 유형으로 `oracle`, 보안 인증 정보의 암호, 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Amazon RDS (Oracle) JSON 스키마](#rds-oracle-json)을(를) 참조하세요.

다음 표에서는 Amazon RDS (Oracle) JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스 연결을 위한 필수 구성 정보.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  문서  |  데이터베이스 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. 데이터베이스 데이터 소스에 특정 콘텐츠를 포함하거나 제외하는 데 사용합니다. | 
| primaryKeys  | 데이터베이스 테이블의 기본 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다. | 
| titleColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| bodyColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| sqlQuery | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| timestampColumn | 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra 사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다. | 
| timestampFormat | 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다. | 
| timezone | 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다. | 
| changeDetectingColumns | 콘텐츠 변경을 감지하는 데 Amazon Kendra 사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱 Amazon Kendra 합니다. | 
| allowedUsersColumns | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| allowedGroupsColumn | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| sourceURIColumn | 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다. | 
| isSslEnabled | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| type | 데이터 소스의 유형. JDBC을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | 데이터베이스에 연결하는 데 필요한 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "user name": "database user name",<br />    "password": "password"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### Amazon RDS (Oracle) JSON 스키마
<a name="rds-oracle-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "dbType": {
              "type": "string",
              "enum": [
                "mysql",
                "db2",
                "postgresql",
                "oracle",
                "sqlserver"
              ]
            },
            "dbHost": {
              "type": "string"
            },
            "dbPort": {
              "type": "string"
            },
            "dbInstance": {
              "type": "string"
            }
          },
          "required": [
            "dbType",
            "dbHost",
            "dbPort",
            "dbInstance"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string"
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "primaryKey": {
          "type": "string"
        },
        "titleColumn": {
          "type": "string"
        },
        "bodyColumn": {
          "type": "string"
        },
        "sqlQuery": {
          "type": "string",
          "not": {
            "pattern": ";+"
          }
        },
        "timestampColumn": {
          "type": "string"
        },
        "timestampFormat": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "changeDetectingColumns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedUsersColumn": {
          "type": "string"
        },
        "allowedGroupsColumn": {
          "type": "string"
        },
        "sourceURIColumn": {
          "type": "string"
        },
        "isSslEnabled": {
          "type": "boolean"
        }
      },
      "required": ["primaryKey", "titleColumn", "bodyColumn", "sqlQuery"]
    },
    "type" : {
      "type" : "string",
      "pattern": "JDBC"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
      "connectionConfiguration",
      "repositoryConfigurations",
      "syncMode",
      "additionalProperties",
      "secretArn",
      "type"
  ]
}
```

## Amazon RDS (PostgreSQL) 템플릿 스키마
<a name="ds-rds-postgresql-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스로 `JDBC`, 데이터 소스 유형으로 `postgresql`, 보안 인증 정보의 암호, 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Amazon RDS (PostgreSQL) JSON 스키마](#rds-postgresql-json)을(를) 참조하세요.

다음 표에서는 Amazon RDS (PostgreSQL) JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스 연결을 위한 필수 구성 정보.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  문서  |  데이터베이스 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. 데이터베이스 데이터 소스에 특정 콘텐츠를 포함하거나 제외하는 데 사용합니다. | 
| primaryKeys  | 데이터베이스 테이블의 기본 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다. | 
| titleColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| bodyColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| sqlQuery | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| timestampColumn | 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra 사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다. | 
| timestampFormat | 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다. | 
| timezone | 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다. | 
| changeDetectingColumns | 콘텐츠 변경을 감지하는 데 Amazon Kendra 사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱 Amazon Kendra 합니다. | 
| allowedUsersColumns | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| allowedGroupsColumn | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| sourceURIColumn | 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다. | 
| isSslEnabled | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| type | 데이터 소스의 유형. JDBC을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | 데이터베이스에 연결하는 데 필요한 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "user name": "database user name",<br />    "password": "password"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### Amazon RDS (PostgreSQL) JSON 스키마
<a name="rds-postgresql-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "dbType": {
              "type": "string",
              "enum": [
                "mysql",
                "db2",
                "postgresql",
                "oracle",
                "sqlserver"
              ]
            },
            "dbHost": {
              "type": "string"
            },
            "dbPort": {
              "type": "string"
            },
            "dbInstance": {
              "type": "string"
            }
          },
          "required": [
            "dbType",
            "dbHost",
            "dbPort",
            "dbInstance"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string"
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "primaryKey": {
          "type": "string"
        },
        "titleColumn": {
          "type": "string"
        },
        "bodyColumn": {
          "type": "string"
        },
        "sqlQuery": {
          "type": "string",
          "not": {
            "pattern": ";+"
          }
        },
        "timestampColumn": {
          "type": "string"
        },
        "timestampFormat": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "changeDetectingColumns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedUsersColumn": {
          "type": "string"
        },
        "allowedGroupsColumn": {
          "type": "string"
        },
        "sourceURIColumn": {
          "type": "string"
        },
        "isSslEnabled": {
          "type": "boolean"
        }
      },
      "required": ["primaryKey", "titleColumn", "bodyColumn", "sqlQuery"]
    },
    "type" : {
      "type" : "string",
      "pattern": "JDBC"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
      "connectionConfiguration",
      "repositoryConfigurations",
      "syncMode",
      "additionalProperties",
      "secretArn",
      "type"
  ]
}
```

## Amazon S3 템플릿 스키마
<a name="ds-s3-schema"></a>

데이터 소스 스키마를 템플릿 구성의 일부로 포함하는 JSON을 포함합니다. S3 버킷의 이름을 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 제공합니다. 또한 데이터 소스 유형으로 `S3`, 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [S3 JSON 스키마](#s3-json)을(를) 참조하세요.

다음 표에서는 Amazon S3 JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| BucketName |  Amazon S3 버킷의 이름입니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) |  Amazon S3 데이터 소스에 특정 파일을 포함하거나 제외하는 정규식 패턴 목록입니다. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| aclConfigurationFilePath |  Amazon Kendra 인덱스의 문서에 대한 액세스를 제어하는 파일 경로. | 
| metadataFilesPrefix | 버킷 내 메타데이터 파일 위치. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| type | 데이터 소스의 유형. S3을 데이터 소스 유형으로 지정합니다. | 
| 버전 | 지원되는 템플릿의 버전. | 

### S3 JSON 스키마
<a name="s3-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "BucketName": {
              "type": "string"
            }
          },
          "required": [
            "BucketName"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
        "document"
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "inclusionPatterns": {
          "type": "array"
        },
        "exclusionPatterns": {
          "type": "array"
        },
        "inclusionPrefixes": {
          "type": "array"
        },
        "exclusionPrefixes": {
          "type": "array"
        },
        "aclConfigurationFilePath": {
          "type": "string"
        },
        "metadataFilesPrefix": {
          "type": "string"
        }
      }
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FULL_CRAWL",
        "FORCED_FULL_CRAWL"
      ]
    },
    "type": {
      "type": "string",
      "pattern": "S3"
    },
    "version": {
      "type": "string",
      "anyOf": [
        {
          "pattern": "1.0.0"
        }
      ]
    }
  },
  "required": [
    "connectionConfiguration",
    "type",
    "syncMode",
    "repositoryConfigurations"
  ]
}
```

## Amazon Kendra 웹 크롤러 템플릿 스키마
<a name="ds-schema-web-crawler"></a>

데이터 소스 스키마를 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다.

연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 시드 또는 시작 지점 URL을 제공하거나 사이트맵 URL을 제공할 수 있습니다. 모든 URLs 수동으로 나열하는 대신 시드 URLs 또는 사이트맵 XML 파일 목록의 텍스트 파일을 저장하는 Amazon S3 버킷 경로를 제공할 수 있습니다.이 경로는 S3의 ZIP 파일로 함께 연결할 수 있습니다.

데이터 소스 유형을 `WEBCRAWLERV2`로 지정하고, 웹 사이트에 인증이 필요한 경우 웹 사이트 인증 자격 증명 및 인증 유형, 기타 필요한 구성을 지정할 수도 있습니다.

그런 다음 [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

**중요**  
웹 크롤러 v2.0 커넥터 생성은에서 지원되지 않습니다 CloudFormation. CloudFormation 지원이 필요한 경우 웹 크롤러 v1.0 커넥터를 사용합니다.

*인덱싱할 웹 사이트를 선택할 때 [Amazon 이용 정책](https://aws.amazon.com/aup/)과 기타 모든 Amazon 약관을 준수해야 합니다. Amazon Kendra 웹 크롤러는 자체 웹 페이지 또는 인덱싱 권한이 있는 웹 페이지를 인덱싱하는 데만 사용해야 합니다. Amazon Kendra Web Crawler가 웹 사이트를 인덱싱하지 못하게 하는 방법을 알아보려면 [Amazon Kendra 웹 크롤러용 `robots.txt` 파일 구성](stop-web-crawler.md)을 참조하세요.*

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Amazon Kendra 웹 크롤러 JSON 스키마](#web-crawler-json)을(를) 참조하세요.

다음 표에서는 Amazon Kendra 웹 크롤러 JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| siteMapUrls | 크롤링하려는 웹 사이트의 사이트 맵 URL의 목록입니다. 최대 3개의 사이트 맵 URL을 나열할 수 있습니다. | 
| s3SeedUrl | 시드 또는 시작 지점 URL의 목록을 저장하는 텍스트 파일의 S3 경로입니다. 예를 들어 s3://bucket-name/directory/입니다. 텍스트 파일의 각 URL은 별도의 줄에 형식을 지정해야 합니다. 최대 100개의 시드 URL을 한 파일에 나열할 수 있습니다. | 
| s3SiteMapUrl | 사이트맵 XML 파일의 S3 경로. 예를 들어 s3://bucket-name/directory/입니다. 최대 3개의 사이트 맵 XML 파일을 나열할 수 있습니다. 여러 사이트맵 파일을 ZIP 파일로 묶고 Amazon S3 버킷에 ZIP 파일을 저장할 수 있습니다. | 
| seedUrlConnections | 크롤링하려는 웹사이트의 시드 또는 시작점 URL 목록. 최대 100개의 시드 URL을 나열할 수 있습니다. | 
| seedUrl | 시드 또는 시작 지점 URL. | 
| authentication | 웹 사이트에 동일한 인증이 필요한 경우의 인증 유형이며, 그렇지 않으면 NoAuthentication를 지정합니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 웹 페이지 및 웹 페이지 파일의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 예를 들어, HTML 웹 페이지 제목 태그를 \$1document\$1title 인덱스 필드에 매핑할 수 있습니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| rateLimit | 1분간 웹 사이트 호스트당 크롤링되는 최대 URL 수입니다. | 
| maxFileSize | 크롤링할 웹 페이지나 첨부 파일의 최대 크기(MB 단위)입니다. | 
| crawlDepth | 시드 URL에서 크롤링할 레벨 수. 예를 들어 시드 URL 페이지는 깊이 1이고 이 페이지에서 크롤링되는 모든 하이퍼링크는 깊이 2입니다. | 
| maxLinksPerUrl | 웹 사이트를 크롤링할 때 포함시킬 웹 페이지의 최대 URL 수입니다. 이 수는 웹 페이지를 기준으로 합니다. 웹 사이트의 웹 페이지가 크롤링되면 웹 페이지가 링크하는 모든 URL도 크롤링됩니다. 웹 페이지의 URL은 표시되는 순서대로 크롤링됩니다. | 
| crawlSubDomain | true: 하위 도메인이 있는 웹 사이트 도메인을 크롤링합니다. 예를 들어, 시드 URL이 “abc.example.com“이면" “a.abc.example.com“ 및 “b.abc.example.com“도 크롤링됩니다. crawlSubDomain 또는를 crawlAllDomain로 설정하지 않으면는 크롤링하려는 웹 사이트의 도메인true Amazon Kendra 만 크롤링합니다. | 
| crawlAllDomain | true: 웹 페이지가 연결되는 하위 도메인과 기타 도메인이 있는 웹 사이트 도메인을 크롤링합니다. crawlSubDomain 또는를 crawlAllDomain로 설정하지 않으면는 크롤링하려는 웹 사이트의 도메인true Amazon Kendra 만 크롤링합니다. | 
| honorRobots | true: 크롤링하려는 웹 사이트의 robots.txt 지침을 준수합니다. 이러한 지시문은 Amazon Kendra 웹 크롤러가 특정 콘텐츠만 크롤링 Amazon Kendra 할 수 있는지 아니면 콘텐츠를 크롤링할 수 없는지에 관계없이 웹 사이트를 크롤링하는 방법을 제어합니다. | 
| crawlAttachments | true: 웹 페이지가 링크된 파일을 크롤링합니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 특정 URL을 크롤링하고 해당 URL 웹 페이지의 하이퍼링크를 인덱싱하는 것을 포함하는 정규 표현식 패턴 목록. 패턴과 일치하는 URL은 인덱스에 포함됩니다. 패턴과 일치하지 않는 URL은 인덱스에서 제외됩니다. URL이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되며 URL/웹사이트의 웹 페이지는 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 특정 URL을 크롤링하고 해당 URL 웹 페이지의 하이퍼링크를 인덱싱하는 것을 제외하는 정규 표현식 패턴 목록. 패턴과 일치하는 URL은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 URL은 인덱스에 포함됩니다. URL이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되며 URL/웹사이트의 웹 페이지는 인덱스에 포함되지 않습니다. | 
| inclusionFileIndexPatterns | 특정 웹 페이지 파일을 포함하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| exclusionFileIndexPatterns | 특정 웹 페이지 파일을 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 파일은 인덱스에 포함됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| implicitWaitDuration |  implicitWaitDuration은 웹 페이지를 크롤링하기 전에 커넥터가 대기하는 시간을 초 단위로 지정합니다. 범위: 0\$110  예: 'implicitWaitDuration': '5'  | 
| proxy | 웹 프록시를 통해 내부 웹 사이트에 연결하는 데 필요한 구성 정보입니다. | 
| host | 내부 웹사이트에 연결하는 데 사용하려는 프록시 서버의 호스트 이름. 예를 들어, https://a.example.com/page1.html의 호스트 이름은 “a.example.com”입니다. | 
| 포트 | 내부 웹사이트에 연결하는 데 사용하려는 프록시 서버의 포트 번호. 예를 들어, 443은 HTTPS의 표준 포트입니다. | 
| secretArn (proxy) | 웹 사이트 호스트에 연결하는 데 웹 프록시 자격 증명이 필요한 경우 자격 증명을 저장하는 AWS Secrets Manager 보안 암호를 생성할 수 있습니다. 암호의 Amazon 리소스 이름(ARN)을 제공합니다. | 
| type | 데이터 소스의 유형. WEBCRAWLERV2을 데이터 소스 유형으로 지정합니다. | 
| secretArn |  웹 사이트에서 웹 사이트에 액세스하기 위해 인증이 필요한 경우 사용되는 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. JSON 키-값 쌍이 포함된 암호에 웹 사이트의 보안 인증을 저장합니다. 기본 또는 NTML/Kerberos를 사용하는 경우 사용자 이름 및 암호를 입력합니다. 암호의 JSON 키는 `userName` 및 `password`여야 합니다. NTLM 인증 프로토콜에는 암호 해싱이 포함되고 Kerberos 인증 프로토콜에는 암호 암호화가 포함됩니다. SAML 또는 양식 인증을 사용하는 경우 사용자 이름과 암호를 입력하고, 사용자 이름 필드에 XPath(SAML을 사용하는 경우 사용자 이름 버튼), 암호 필드와 버튼에 XPaths, 로그인 페이지 URL을 입력합니다. 암호의 JSON 키는 `userName`, `password`, `userNameFieldXpath`, `userNameButtonXpath`, `passwordFieldXpath`, `passwordButtonXpath`, `loginPageUrl`이어야 합니다. 웹 브라우저의 개발자 도구를 사용하여 요소의 XPaths(XML 경로 언어)를 찾을 수 있습니다. XPaths는 일반적으로 다음 형식을 따릅니다. `//tagname[@Attribute='Value']`  Amazon Kendra 또한는 보안 암호에 포함된 엔드포인트 정보(시드 URLs)가 데이터 소스 엔드포인트 구성 세부 정보에 지정된 엔드포인트 정보와 동일한지 확인합니다.  | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

### Amazon Kendra 웹 크롤러 JSON 스키마
<a name="web-crawler-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "siteMapUrls": {
              "type": "array",
              "items":{
                "type": "string",
                "pattern": "https://.*"
              }
            },
            "s3SeedUrl": {
              "type": "string",
              "pattern": "s3:.*"
            },
            "s3SiteMapUrl": {
              "type": "string",
              "pattern": "s3:.*"
            },
            "seedUrlConnections": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "seedUrl":{
                      "type": "string",
                      "pattern": "https://.*"
                    }
                  },
                  "required": [
                    "seedUrl"
                  ]
                }
              ]
            },
            "authentication": {
              "type": "string",
              "enum": [
                "NoAuthentication",
                "BasicAuth",
                "NTLM_Kerberos",
                "Form",
                "SAML"
              ]
            }
          }
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "webPage": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "attachment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      }
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL"
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "rateLimit": {
          "type": "string",
          "default": "300"
        },
        "maxFileSize": {
          "type": "string",
          "default": "50"
        },
        "crawlDepth": {
          "type": "string",
          "default": "2"
        },
        "maxLinksPerUrl": {
          "type": "string",
          "default": "100"
        },
        "crawlSubDomain": {
          "type": "boolean",
          "default": false
        },
        "crawlAllDomain": {
          "type": "boolean",
          "default": false
        },
        "honorRobots": {
          "type": "boolean",
          "default": false
        },
        "crawlAttachments": {
          "type": "boolean",
          "default": false
        },
        "inclusionURLCrawlPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionURLCrawlPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionURLIndexPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionURLIndexPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionFileIndexPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionFileIndexPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "proxy": {
          "type": "object",
          "properties": {
            "host": {
              "type": "string"
            },
            "port": {
              "type": "string"
            },
            "secretArn": {
              "type": "string",
              "minLength": 20,
              "maxLength": 2048
            }
          }
        }
      },
      "implicitWaitDuration":  {
          "type":"object",
          "properties": {
            "innerNumber" : {
              "type": "number",
              "minimum": 0,
              "maximum": 10
            }
          }
        },
      "required": [
        "rateLimit",
        "maxFileSize",
        "crawlDepth",
        "crawlSubDomain",
        "crawlAllDomain",
        "maxLinksPerUrl",
        "honorRobots"
      ]
    },
    "type": {
      "type": "string",
      "pattern": "WEBCRAWLERV2"
    },
    "secretArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "syncMode",
    "type",
    "additionalProperties"
  ]
}
```

## Confluence 템플릿 스키마
<a name="ds-confluence-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 Confluence 호스트 URL, 호스팅 방법 및 인증 유형을 제공합니다. 또한 데이터 소스 유형으로 `CONFLUENCEV2`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Confluence JSON 스키마](#confluence-json)을(를) 참조하세요.

다음 표에서는 Confluence JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| hostUrl | Confluence 인스턴스의 URL. 예: https://example.confluence.com. | 
| type | Confluence 인스턴스의 호스팅 방법(SAAS 및 ON\$1PREM) | 
| authType | Confluence 인스턴스의 인증 방법(예: Basic, OAuth2 또는 Personal-token) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Confluence 스페이스, 페이지, 블로그, 설명 및 첨부 파일의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. Confluence 데이터 소스 필드 이름은 Confluence 사용자 지정 메타데이터에 있어야 합니다. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| isCrawlAcl | true를 구성하면 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링합니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 즉, isCrawlACL이 꺼져 있으면 문서를 공개적으로 검색할 수 있습니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요. | 
| fieldForUserId | 사용자 ID에 사용자 이메일을 사용하는 경우 email을 지정합니다. email는 기본적으로 사용되며 현재 유일하게 지원되는 사용자 ID 유형입니다. | 
| [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | Confluence 데이터 소스에서 특정 파일을 포함 및/또는 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| proxyHost | 사용 중인 웹 프록시의 호스트 이름(http:// 또는 https:// 프로토콜 제외) | 
|  proxyPort  | 호스트 URL 전송 프로토콜에서 사용하는 포트 번호 이 값은 0\$165535의 숫자 값이어야 합니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | true: Confluence 개인 공간, 페이지, 블로그, 페이지 설명, 페이지 첨부 파일, 블로그 설명, 블로그 첨부 파일의 파일을 크롤링합니다. | 
| maxFileSizeInMegaBytes | 가 정의한 크기 제한 내에서만 파일을 크롤링. Amazon Kendra 크롤링할 Amazon Kendra 수 있는 파일 크기 제한을 MBs 단위로 지정합니다. 기본 파일 크기는 50MB입니다. 최대 파일 크기는 0MB보다 크고 50MB보다 작거나 같아야 합니다. | 
| type | 데이터 소스의 유형. CONFLUENCEV2을 데이터 소스 유형으로 지정합니다. | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| syncMode | 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretARN | Confluence에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 이러한 키-값 페어에 대한 자세한 내용은 [Confluence에 대한 연결 지침](https://docs.aws.amazon.com/kendra/latest/dg/data-source-v2-confluence.html#data-source-procedure-v2-confluence)을 참조하세요. | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

### Confluence JSON 스키마
<a name="confluence-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "hostUrl": {
              "type": "string",
              "pattern": "https:.*"
            },
            "type": {
              "type": "string",
              "enum": [
                "SAAS",
                "ON_PREM"
              ]
            },
            "authType": {
              "type": "string",
              "enum": [
                "Basic",
                "OAuth2",
                "Personal-token"
              ]
            }
          },
          "required": [
            "hostUrl",
            "type",
            "authType"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "space": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "page": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "blog": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "comment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "attachment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      }
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "usersAclS3FilePath": {
          "type": "string"
        },
        "isCrawlAcl": {
          "type": "boolean"
        },
        "fieldForUserId": {
          "type": "string"
        },
        "inclusionSpaceKeyFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionSpaceKeyFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "pageTitleRegEX": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "blogTitleRegEX": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "commentTitleRegEX": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "attachmentTitleRegEX": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "isCrawlPersonalSpace": {
          "type": "boolean"
        },
        "isCrawlArchivedSpace": {
          "type": "boolean"
        },
        "isCrawlArchivedPage": {
          "type": "boolean"
        },
        "isCrawlPage": {
          "type": "boolean"
        },
        "isCrawlBlog": {
          "type": "boolean"
        },
        "isCrawlPageComment": {
          "type": "boolean"
        },
        "isCrawlPageAttachment": {
          "type": "boolean"
        },
        "isCrawlBlogComment": {
          "type": "boolean"
        },
        "isCrawlBlogAttachment": {
          "type": "boolean"
        },
        "maxFileSizeInMegaBytes":  {
          "type":"string"
        },
        "inclusionFileTypePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionFileTypePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionUrlPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionUrlPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "proxyHost": {
          "type": "string"
        },
        "proxyPort": {
          "type": "string"
        }
      },
      "required": []
    },
    "type": {
      "type": "string",
      "pattern": "CONFLUENCEV2"
    },
    "enableIdentityCrawler": {
      "type": "boolean"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FULL_CRAWL",
        "FORCED_FULL_CRAWL"
      ]
    },
    "secretArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "syncMode",
    "additionalProperties",
    "secretArn",
    "type"
  ]
}
```

## Dropbox 템플릿 스키마
<a name="ds-dropbox-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 보안 인증을 저장하는 암호의 일부로 Dropbox 앱 키, 앱 암호, 액세스 토큰을 제공합니다. 또한 데이터 소스 유형으로 `DROPBOX`를 지정하고, 사용하려는 액세스 토큰 유형(임시 또는 영구) 및 기타 필요한 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Dropbox JSON 스키마](#dropbox-json)을(를) 참조하세요.

다음 표에서는 Dropbox JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. 이 데이터 소스는 repositoryEndpointMetadata에 엔드포인트를 지정하지 않습니다. 대신를 제공하는 AWS Secrets Manager 보안 암호에 연결 정보가 포함됩니다secretArn. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Dropbox 파일의 속성 또는 필드 이름, Dropbox Paper 및 Amazon Kendra 인덱스 필드 이름 바로 가기를 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| secretARN | Dropbox에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "appKey": "Dropbox app key",<br />    "appSecret": "Dropbox app secret",<br />    "accesstoken": "temporary access token or refresh access token"<br />}</pre> | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| isCrawlAcl | true: 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링합니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Dropbox 데이터 소스에서 특정 파일 이름 및 형식을 포함하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Dropbox 데이터 소스에서 특정 파일 이름 및 형식을 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 파일은 인덱스에 포함됩니다. 파일이 제외 및 포함 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | true: Dropbox에 있는 파일, Dropbox Paper 문서, Dropbox Paper 템플릿, Dropbox에 저장된 웹 페이지 바로 가기를 크롤링합니다. | 
| type | 데이터 소스의 유형. DROPBOX을 데이터 소스 유형으로 지정합니다. | 
| tokenType | 액세스 토큰 유형(영구 또는 임시 액세스 토큰)을 지정합니다. 4시간 후에 만료되는 일회용 액세스 토큰을 사용하는 것보다 Dropbox에서 만료되지 않는 새로 고침 액세스 토큰을 만드는 것이 좋습니다. Dropbox 개발자 콘솔에서 앱과 새로 고침 액세스 토큰을 만들고 암호에 액세스 토큰을 입력합니다. | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

### Dropbox JSON 스키마
<a name="dropbox-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
          }
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "file": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": [
                          "STRING",
                          "STRING_LIST",
                          "LONG",
                          "DATE"
                        ]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "paper": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": [
                          "STRING",
                          "STRING_LIST",
                          "LONG",
                          "DATE"
                        ]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "papert": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": [
                          "STRING",
                          "STRING_LIST",
                          "LONG",
                          "DATE"
                        ]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "shortcut": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": [
                          "STRING",
                          "STRING_LIST",
                          "LONG",
                          "DATE"
                        ]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      }
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FULL_CRAWL",
        "FORCED_FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "enableIdentityCrawler": {
      "type": "boolean"
    },
    "secretArn": {
      "type": "string"
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "isCrawlAcl": {
          "type": "boolean"
        },
        "inclusionFileNamePatterns": {
          "type": "array"
        },
        "exclusionFileNamePatterns": {
          "type": "array"
        },
        "inclusionFileTypePatterns": {
          "type": "array"
        },
        "exclusionFileTypePatterns": {
          "type": "array"
        },
        "crawlFile": {
          "type": "boolean"
        },
        "crawlPaper": {
          "type": "boolean"
        },
        "crawlPapert": {
          "type": "boolean"
        },
        "crawlShortcut": {
          "type": "boolean"
        }
      }
    },
    "type": {
      "type": "string",
      "pattern": "DROPBOX"
    },
    "tokenType": {
      "type": "string",
      "enum": [
        "PERMANENT",
        "TEMPORARY"
      ]
    },
    "version": {
      "type": "string",
      "anyOf": [
        {
          "pattern": "1.0.0"
        }
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "additionalProperties",
    "syncMode",
    "enableIdentityCrawler",
    "secretArn",
    "type",
    "tokenType"
  ]
}
```

## Drupal 템플릿 스키마
<a name="ds-drupal-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 Drupal 호스트 URL과 인증 유형을 제공합니다. 또한 데이터 소스 유형으로 DRUPAL, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Drupal JSON 스키마](#drupal-json)을(를) 참조하세요.

다음 표에서는 Drupal JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| hostUrl | Drupal 웹 사이트의 호스트 URL. <hostname><drupalsitename>예를 들어 https:///입니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Drupal 파일의 속성 또는 필드 이름을 매핑하는 객체 목록. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. Drupal 데이터 소스 필드 이름이 Drupal 사용자 지정 메타데이터에 있어야 합니다. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | Drupal 데이터 소스에서 특정 파일을 포함하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | Drupal 데이터 소스에서 특정 파일을 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 파일은 인덱스에 포함됩니다. 파일이 제외 및 포함 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| contentDefinitions[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 크롤링할 콘텐츠 유형, 선택한 콘텐츠 유형에 대한 설명 및 첨부 파일을 크롤링할지 여부를 지정합니다. | 
| type | 데이터 소스의 유형. DRUPAL을 데이터 소스 유형으로 지정합니다. | 
| authType | 사용하는 인증 유형(BASIC-AUTH 또는 OAUTH2). | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| secretARN | Drupal에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.**기본 인증을 사용하는 경우:**<pre>{<br />    "username": "user name",<br />    "passwords": "password"<br />}</pre> **OAuth 2.0 인증을 사용하는 경우:**<pre>{<br />    "username": "user name",<br />    "password": "password",<br />    "clientId": "client id",<br />    "clientSecret": "client secret"<br />}</pre>  | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

### Drupal JSON 스키마
<a name="drupal-json"></a>

```
{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"type": "object",
	"properties": {
		"connectionConfiguration": {
			"type": "object",
			"properties": {
				"repositoryEndpointMetadata": {
					"type": "object",
					"properties": {
						"hostUrl": {
							"type": "string",
							"pattern": "https:.*"
						}
					},
					"required": [
						"hostUrl"
					]
				}
			},
			"required": [
				"repositoryEndpointMetadata"
			]
		},
		"repositoryConfigurations": {
			"type": "object",
			"properties": {
				"content": {
					"type": "object",
					"properties": {
						"fieldMappings": {
							"type": "array",
							"items": [
								{
									"type": "object",
									"properties": {
										"indexFieldName": {
											"type": "string"
										},
										"indexFieldType": {
											"type": "string",
											"enum": [
												"STRING",
												"DATE"
											]
										},
										"dataSourceFieldName": {
											"type": "string"
										},
										"dateFieldFormat": {
											"type": "string",
											"pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
										}
									},
									"required": [
										"indexFieldName",
										"indexFieldType",
										"dataSourceFieldName"
									]
								}
							]
						}
					},
					"required": [
						"fieldMappings"
					]
				},
				"comment": {
					"type": "object",
					"properties": {
						"fieldMappings": {
							"type": "array",
							"items": [
								{
									"type": "object",
									"properties": {
										"indexFieldName": {
											"type": "string"
										},
										"indexFieldType": {
											"type": "string",
											"enum": [
												"STRING",
												"DATE"
											]
										},
										"dataSourceFieldName": {
											"type": "string"
										},
										"dateFieldFormat": {
											"type": "string",
											"pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
										}
									},
									"required": [
										"indexFieldName",
										"indexFieldType",
										"dataSourceFieldName"
									]
								}
							]
						}
					},
					"required": [
						"fieldMappings"
					]
				},
				"attachment": {
					"type": "object",
					"properties": {
						"fieldMappings": {
							"type": "array",
							"items": [
								{
									"type": "object",
									"properties": {
										"indexFieldName": {
											"type": "string"
										},
										"indexFieldType": {
											"type": "string",
											"enum": [
												"STRING",
												"DATE"
											]
										},
										"dataSourceFieldName": {
											"type": "string"
										},
										"dateFieldFormat": {
											"type": "string",
											"pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
										}
									},
									"required": [
										"indexFieldName",
										"indexFieldType",
										"dataSourceFieldName"
									]
								}
							]
						}
					},
					"required": [
						"fieldMappings"
					]
				}
			}
		},
		"additionalProperties": {
			"type": "object",
			"properties": {
				"isCrawlArticle": {
					"type": "boolean"
				},
				"isCrawlBasicPage": {
					"type": "boolean"
				},
				"isCrawlBasicBlock": {
					"type": "boolean"
				},
				"crawlCustomContentTypesList": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"crawlCustomBlockTypesList": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"filePath": {
					"anyOf": [
						{
							"type": "string",
							"pattern": "s3:.*"
						},
						{
							"type": "string",
							"pattern": ""
						}
					]
				},
				"inclusionFileNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"exclusionFileNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"articleTitleInclusionPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"articleTitleExclusionPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"pageTitleInclusionPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"pageTitleExclusionPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"customContentTitleInclusionPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"customContentTitleExclusionPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"basicBlockTitleInclusionPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"basicBlockTitleExclusionPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"customBlockTitleInclusionPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"customBlockTitleExclusionPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"contentDefinitions": {
					"type": "array",
					"items": {
						"properties": {
							"contentType": {
								"type": "string"
							},
							"fieldDefinition": {
								"type": "array",
								"items": [
									{
										"type": "object",
										"properties": {
											"machineName": {
												"type": "string"
											},
											"type": {
												"type": "string"
											}
										},
										"required": [
											"machineName",
											"type"
										]
									}
								]
							},
							"isCrawlComments": {
								"type": "boolean"
							},
							"isCrawlFiles": {
								"type": "boolean"
							}
						}
					},
					"required": [
						"contentType",
						"fieldDefinition",
						"isCrawlComments",
						"isCrawlFiles"
					]
				}
			},
			"required": []
		},
		"type": {
			"type": "string",
			"pattern": "DRUPAL"
		},
		"authType": {
			"type": "string",
			"enum": [
				"BASIC-AUTH",
				"OAUTH2"
			]
		},
		"syncMode": {
			"type": "string",
			"enum": [
				"FORCED_FULL_CRAWL",
				"FULL_CRAWL",
				"CHANGE_LOG"
			]
		},
		"enableIdentityCrawler": {
			"type": "boolean"
		},
		"secretArn": {
			"type": "string",
			"minLength": 20,
			"maxLength": 2048
		}
	},
	"version": {
		"type": "string",
		"anyOf": [
			{
				"pattern": "1.0.0"
			}
		]
	},
	"required": [
		"connectionConfiguration",
		"repositoryConfigurations",
		"syncMode",
		"additionalProperties",
		"secretArn",
		"type"
	]
}
```

## GitHub 템플릿 스키마
<a name="ds-github-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. GitHub 호스트 URL, 조직 이름, GitHub 클라우드 또는 GitHub 온프레미스를 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 사용할지 여부를 제공합니다. 또한 데이터 소스 유형으로 `GITHUB`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [GitHub JSON 스키마](#github-json)을(를) 참조하세요.

다음 표에서는 GitHub JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| type | 유형으로 SAAS 또는 ON\$1PREMISE를 지정합니다. | 
| hostUrl | GitHub 호스트 URL입니다. 예를 들어, GitHub SaaS/Enterprise Cloud를 사용하는 경우 https://api.github.com입니다. 또는 GitHub 온프레미스/Enterprise Server를 사용하는 경우 https://on-prem-host-url/api/v3/입니다. | 
| organizationName | GitHub 데스크톱에 로그인하고 프로필 사진 드롭다운에서 조직으로 이동하면 조직 이름을 찾을 수 있습니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | GitHub 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| isCrawlAcl | true: 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링합니다. ACL은 사용자와 그룹이 액세스하고 검색할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요. | 
| fieldForUserId | ACL 크롤링에 사용할 사용자 ID 유형을 지정합니다. 사용자 ID에 사용자 이메일을 사용하려는 경우 email 또는 사용자 ID에 사용자 이름을 사용하려는 경우 username을 지정합니다. 옵션을 지정하지 않으면 email이 기본적으로 사용됩니다. | 
| repositoryFilter | 인덱싱하려는 특정 리포지토리의 이름과 브랜치 이름 목록입니다. | 
| crawlRepository | true를 지정하여 리포지토리를 크롤링합니다. | 
| crawlRepositoryDocuments | true를 지정하여 리포지토리 문서를 크롤링합니다. | 
| crawlIssue | true를 지정하여 문제를 크롤링합니다. | 
| crawlIssueComment | true를 지정하여 문제 설명을 크롤링합니다. | 
| crawlIssueCommentAttachment | true를 지정하여 문제 설명 첨부 파일을 크롤링합니다. | 
| crawlPullRequest | true를 지정하여 풀 요청을 크롤링합니다. | 
| crawlPullRequestComment | true를 지정하여 풀 요청 설명을 크롤링합니다. | 
| crawlPullRequestCommentAttachment | true를 지정하여 풀 요청 설명 첨부 파일을 크롤링합니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | GitHub 데이터 소스에서 특정 콘텐츠를 포함하는 정규 표현식 패턴 목록입니다. 패턴과 일치하는 콘텐츠는 인덱스에 포함됩니다. 패턴과 일치하지 않는 콘텐츠는 인덱스에서 제외됩니다. 포함 및 제외 패턴이 모두 일치하는 콘텐츠가 있는 경우 제외 패턴이 우선하며, 해당 콘텐츠는 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | GitHub 데이터 소스에서 특정 콘텐츠를 제외하는 정규 표현식 패턴 목록입니다. 패턴과 일치하는 콘텐츠는 인덱스에서 제외됩니다. 패턴과 일치하지 않는 콘텐츠는 인덱스에 포함됩니다. 포함 및 제외 패턴이 모두 일치하는 콘텐츠가 있는 경우 제외 패턴이 우선하며, 해당 콘텐츠는 인덱스에 포함되지 않습니다. | 
| type | 데이터 소스의 유형. GITHUB을 데이터 소스 유형으로 지정합니다. | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn |  GitHub에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다. <pre>{<br />    "personalToken": "token"<br />}</pre>  | 
| 버전 | 현재 지원되는 이 템플릿의 버전입니다. | 

### GitHub JSON 스키마
<a name="github-json"></a>

다음은 GitHub JSON 스키마입니다.

```
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "connectionConfiguration": {
            "type": "object",
            "properties": {
                "repositoryEndpointMetadata": {
                    "type": "object",
                    "properties": {
                        "type": {
                            "type": "string"
                        },
                        "hostUrl": {
                            "type": "string",
                            "pattern": "https://.*"
                        },
                        "organizationName": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "type",
                        "hostUrl",
                        "organizationName"
                    ]
                }
            },
            "required": [
                "repositoryEndpointMetadata"
            ]
        },
        "repositoryConfigurations": {
            "type": "object",
            "properties": {
                "ghRepository": {
                    "type": "object",
                    "properties": {
                        "fieldMappings": {
                            "type": "array",
                            "items": [
                                {
                                    "type": "object",
                                    "properties": {
                                        "indexFieldName": {
                                            "type": "string"
                                        },
                                        "indexFieldType": {
                                            "type": "string",
                                            "enum": [
                                                "STRING",
                                                "STRING_LIST",
                                                "DATE"
                                            ]
                                        },
                                        "dataSourceFieldName": {
                                            "type": "string"
                                        },
                                        "dateFieldFormat": {
                                            "type": "string",
                                            "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                                        }
                                    },
                                    "required": [
                                        "indexFieldName",
                                        "indexFieldType",
                                        "dataSourceFieldName"
                                    ]
                                }
                            ]
                        }
                    },
                    "required": [
                        "fieldMappings"
                    ]
                },
                "ghCommit": {
                    "type": "object",
                    "properties": {
                        "fieldMappings": {
                            "type": "array",
                            "items": [
                                {
                                    "type": "object",
                                    "properties": {
                                        "indexFieldName": {
                                            "type": "string"
                                        },
                                        "indexFieldType": {
                                            "type": "string",
                                            "enum": [
                                                "STRING",
                                                "STRING_LIST",
                                                "DATE"
                                            ]
                                        },
                                        "dataSourceFieldName": {
                                            "type": "string"
                                        },
                                        "dateFieldFormat": {
                                            "type": "string",
                                            "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                                        }
                                    },
                                    "required": [
                                        "indexFieldName",
                                        "indexFieldType",
                                        "dataSourceFieldName"
                                    ]
                                }
                            ]
                        }
                    },
                    "required": [
                        "fieldMappings"
                    ]
                },
                "ghIssueDocument": {
                    "type": "object",
                    "properties": {
                        "fieldMappings": {
                            "type": "array",
                            "items": [
                                {
                                    "type": "object",
                                    "properties": {
                                        "indexFieldName": {
                                            "type": "string"
                                        },
                                        "indexFieldType": {
                                            "type": "string",
                                            "enum": [
                                                "STRING",
                                                "STRING_LIST",
                                                "DATE"
                                            ]
                                        },
                                        "dataSourceFieldName": {
                                            "type": "string"
                                        },
                                        "dateFieldFormat": {
                                            "type": "string",
                                            "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                                        }
                                    },
                                    "required": [
                                        "indexFieldName",
                                        "indexFieldType",
                                        "dataSourceFieldName"
                                    ]
                                }
                            ]
                        }
                    },
                    "required": [
                        "fieldMappings"
                    ]
                },
                "ghIssueComment": {
                    "type": "object",
                    "properties": {
                        "fieldMappings": {
                            "type": "array",
                            "items": [
                                {
                                    "type": "object",
                                    "properties": {
                                        "indexFieldName": {
                                            "type": "string"
                                        },
                                        "indexFieldType": {
                                            "type": "string",
                                            "enum": [
                                                "STRING",
                                                "STRING_LIST",
                                                "DATE"
                                            ]
                                        },
                                        "dataSourceFieldName": {
                                            "type": "string"
                                        },
                                        "dateFieldFormat": {
                                            "type": "string",
                                            "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                                        }
                                    },
                                    "required": [
                                        "indexFieldName",
                                        "indexFieldType",
                                        "dataSourceFieldName"
                                    ]
                                }
                            ]
                        }
                    },
                    "required": [
                        "fieldMappings"
                    ]
                },
                "ghIssueAttachment": {
                    "type": "object",
                    "properties": {
                        "fieldMappings": {
                            "type": "array",
                            "items": [
                                {
                                    "type": "object",
                                    "properties": {
                                        "indexFieldName": {
                                            "type": "string"
                                        },
                                        "indexFieldType": {
                                            "type": "string",
                                            "enum": [
                                                "STRING",
                                                "STRING_LIST",
                                                "DATE"
                                            ]
                                        },
                                        "dataSourceFieldName": {
                                            "type": "string"
                                        },
                                        "dateFieldFormat": {
                                            "type": "string",
                                            "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                                        }
                                    },
                                    "required": [
                                        "indexFieldName",
                                        "indexFieldType",
                                        "dataSourceFieldName"
                                    ]
                                }
                            ]
                        }
                    },
                    "required": [
                        "fieldMappings"
                    ]
                },
                "ghPRDocument": {
                    "type": "object",
                    "properties": {
                        "fieldMappings": {
                            "type": "array",
                            "items": [
                                {
                                    "type": "object",
                                    "properties": {
                                        "indexFieldName": {
                                            "type": "string"
                                        },
                                        "indexFieldType": {
                                            "type": "string",
                                            "enum": [
                                                "STRING",
                                                "STRING_LIST",
                                                "DATE"
                                            ]
                                        },
                                        "dataSourceFieldName": {
                                            "type": "string"
                                        },
                                        "dateFieldFormat": {
                                            "type": "string",
                                            "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                                        }
                                    },
                                    "required": [
                                        "indexFieldName",
                                        "indexFieldType",
                                        "dataSourceFieldName"
                                    ]
                                }
                            ]
                        }
                    },
                    "required": [
                        "fieldMappings"
                    ]
                },
                "ghPRComment": {
                    "type": "object",
                    "properties": {
                        "fieldMappings": {
                            "type": "array",
                            "items": [
                                {
                                    "type": "object",
                                    "properties": {
                                        "indexFieldName": {
                                            "type": "string"
                                        },
                                        "indexFieldType": {
                                            "type": "string",
                                            "enum": [
                                                "STRING",
                                                "STRING_LIST",
                                                "DATE"
                                            ]
                                        },
                                        "dataSourceFieldName": {
                                            "type": "string"
                                        },
                                        "dateFieldFormat": {
                                            "type": "string",
                                            "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                                        }
                                    },
                                    "required": [
                                        "indexFieldName",
                                        "indexFieldType",
                                        "dataSourceFieldName"
                                    ]
                                }
                            ]
                        }
                    },
                    "required": [
                        "fieldMappings"
                    ]
                },
                "ghPRAttachment": {
                    "type": "object",
                    "properties": {
                        "fieldMappings": {
                            "type": "array",
                            "items": [
                                {
                                    "type": "object",
                                    "properties": {
                                        "indexFieldName": {
                                            "type": "string"
                                        },
                                        "indexFieldType": {
                                            "type": "string",
                                            "enum": [
                                                "STRING",
                                                "STRING_LIST",
                                                "DATE"
                                            ]
                                        },
                                        "dataSourceFieldName": {
                                            "type": "string"
                                        },
                                        "dateFieldFormat": {
                                            "type": "string",
                                            "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                                        }
                                    },
                                    "required": [
                                        "indexFieldName",
                                        "indexFieldType",
                                        "dataSourceFieldName"
                                    ]
                                }
                            ]
                        }
                    },
                    "required": [
                        "fieldMappings"
                    ]
                }
            }
        },
        "additionalProperties": {
            "type": "object",
            "properties": {
                "isCrawlAcl": {
                    "type": "boolean"
                },
                "fieldForUserId": {
                    "type": "string"
                },
                "crawlRepository": {
                    "type": "boolean"
                },
                "crawlRepositoryDocuments": {
                    "type": "boolean"
                },
                "crawlIssue": {
                    "type": "boolean"
                },
                "crawlIssueComment": {
                    "type": "boolean"
                },
                "crawlIssueCommentAttachment": {
                    "type": "boolean"
                },
                "crawlPullRequest": {
                    "type": "boolean"
                },
                "crawlPullRequestComment": {
                    "type": "boolean"
                },
                "crawlPullRequestCommentAttachment": {
                    "type": "boolean"
                },
                "repositoryFilter": {
                    "type": "array",
                    "items": [
                        {
                            "type": "object",
                            "properties": {
                                "repositoryName": {
                                    "type": "string"
                                },
                                "branchNameList": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    ]
                },
                "inclusionFolderNamePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "inclusionFileTypePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "inclusionFileNamePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "exclusionFolderNamePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "exclusionFileTypePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "exclusionFileNamePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": []
        },
        "type": {
            "type": "string",
            "pattern": "GITHUB"
        },
        "syncMode": {
            "type": "string",
            "enum": [
                "FULL_CRAWL",
                "FORCED_FULL_CRAWL",
                "CHANGE_LOG"
            ]
        },
        "enableIdentityCrawler": {
            "type": "boolean"
        },
        "secretArn": {
            "type": "string",
            "minLength": 20,
            "maxLength": 2048
        }
    },
    "version": {
        "type": "string",
        "anyOf": [
            {
                "pattern": "1.0.0"
            }
        ]
    },
    "required": [
        "connectionConfiguration",
        "repositoryConfigurations",
        "syncMode",
        "additionalProperties",
        "enableIdentityCrawler"
    ]
}
```

## Gmail 템플릿 스키마
<a name="ds-gmail-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스 유형으로 `GMAIL`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Gmail JSON 스키마](#gmail-json)을(를) 참조하세요.

다음 표에서는 Gmail JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. 이 데이터 소스는 repositoryEndpointMetadata에 엔드포인트를 지정하지 않습니다. 대신를 제공하는 AWS Secrets Manager 보안 암호에 연결 정보가 포함됩니다secretArn. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  |  Gmail 메시지 및 첨부 파일의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  |  Gmail 데이터 소스에서 특정 주제 이름의 메시지를 포함하거나 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| beforeDateFilter | 특정 날짜 이전에 포함할 메시지와 첨부 파일을 지정합니다. | 
| afterDateFilter | 특정 날짜 이후에 포함할 메시지와 첨부 파일을 지정합니다. | 
| isCrawlAttachment | 첨부 파일을 크롤링할지 여부를 선택하는 부울 값. 메시지는 자동으로 크롤링됩니다. | 
| type | 데이터 소스의 유형. GMAIL을 데이터 소스 유형으로 지정합니다. | 
| shouldCrawlDraftMessages | 초안 메시지를 크롤링할지 여부를 선택하는 부울 값. | 
| syncMode | 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  영구 삭제된 Gmail 메시지를 업데이트하는 API가 없으므로 모든 새 콘텐츠, 수정 콘텐츠, 삭제된 콘텐츠가 동기화됩니다.   Gmail에서 영구 삭제된 메시지는 Amazon Kendra 인덱스에서 제거되지 않습니다.   Gmail 이메일 레이블의 변경 사항을 동기화하지 않습니다.   Gmail 데이터 소스 레이블 변경 사항과 영구적으로 삭제된 이메일 메시지를 Amazon Kendra 인덱스에 동기화하려면 주기적으로 전체 크롤링을 실행해야 합니다.   | 
| secretARN | Gmail에 연결하는 데 필요한 키-값 페어가 포함된 Secrets Manager 암호의 Amazon 리소스 이름(ARN). 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "adminAccountEmailId": "service account email",<br />    "clientEmailId": "user account email",<br />    "privateKey": "private key"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### Gmail JSON 스키마
<a name="gmail-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
      }
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "message": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": ["STRING", "STRING_LIST", "DATE"]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          }
        },
        "attachments": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": ["STRING"]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          }
        }
      },
      "required": []
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "inclusionLabelNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionLabelNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionAttachmentTypePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionAttachmentTypePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionAttachmentNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionAttachmentNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionSubjectFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionSubjectFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "isSubjectAnd": {
          "type": "boolean"
        },
        "inclusionFromFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionFromFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionToFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionToFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionCcFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionCcFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionBccFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionBccFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "beforeDateFilter": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
            },
            {
              "type": "string",
              "pattern": ""
            }
          ]
        },
        "afterDateFilter": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
            },
            {
              "type": "string",
              "pattern": ""
            }
          ]
        },
        "isCrawlAttachment": {
          "type": "boolean"
        },
        "shouldCrawlDraftMessages": {
          "type": "boolean"
        }
      },
      "required": [
        "isCrawlAttachment",
        "shouldCrawlDraftMessages"
      ]
    },
    "type" : {
      "type" : "string",
      "pattern": "GMAIL"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL"
      ]
    },
    "secretArn": {
      "type": "string"
    },
    "version": {
      "type": "string",
      "anyOf": [
        {
          "pattern": "1.0.0"
        }
      ]
    }
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "additionalProperties",
    "syncMode",
    "secretArn",
    "type"
  ]
}
```

## Google Drive 템플릿 스키마
<a name="ds-googledrive-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스 유형으로 `GOOGLEDRIVE2`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Google Drive JSON 스키마](#googledrive-json)을(를) 참조하세요.

다음 표에서는 Google Drive JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스에 대한 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. 이 데이터 소스는 엔드포인트를 지정하지 않습니다. 인증 유형: serviceAccount 및 OAuth2를 선택합니다. 연결 정보는를 제공하는 AWS Secrets Manager 보안 암호에 포함됩니다secretArn. | 
| authType | 사용 사례를 기반으로 serviceAccount 또는 OAuth2 중에서 선택합니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  |  Amazon Kendra 인덱스 필드 이름에 Google Drive의 속성 또는 필드 이름을 매핑하는 객체의 목록. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 크롤링 Amazon Kendra 해야 하는 파일 크기 제한을 MBs 지정합니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | true: Google Drive 데이터 소스에서 설명을 크롤링합니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | true: Google Drive 데이터 소스에서 MyDrive 및 Shared With Me Drives를 크롤링합니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | true: Google Drive 데이터 소스에서 Shared Drives를 크롤링합니다. | 
| isCrawlAcl | true: 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링합니다. ACL은 사용자와 그룹이 액세스하고 검색할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Google Drive 데이터 소스에서 특정 파일을 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 파일은 인덱스에 포함됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Google Drive 데이터 소스에서 특정 파일을 포함하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| type | 데이터 소스의 유형. GOOOGLEDRIVEV2을 데이터 소스 유형으로 지정합니다. | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretARN | Google Drive에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.****Google 서비스 계정 인증을 사용하는 경우:<pre>{<br />    "clientEmail": "user account email",<br />    "adminAccountEmail": "service account email",<br />    "privateKey": "private key"<br />}</pre> ****OAuth 2.0 인증을 사용하는 경우: <pre>{<br />    "clientID": "OAuth client ID",<br />    "clientSecret": "client secret",<br />    "refreshToken": "refresh token"<br />}</pre> | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

### Google Drive JSON 스키마
<a name="googledrive-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "authType": {
              "type": "string",
              "enum": [
                "serviceAccount",
                "OAuth2"
              ]
            }
          },
          "required": [
            "authType"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "file": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE",
                        "STRING_LIST",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "comment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE",
                        "STRING_LIST"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      }
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "maxFileSizeInMegaBytes": {
          "type": "string"
        },
        "isCrawlComment": {
          "type": "boolean"
        },
        "isCrawlMyDriveAndSharedWithMe": {
          "type": "boolean"
        },
        "isCrawlSharedDrives": {
          "type": "boolean"
        },
        "isCrawlAcl": {
          "type": "boolean"
        },
        "excludeUserAccounts": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "excludeSharedDrives": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "excludeMimeTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "includeUserAccounts": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "includeSharedDrives": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "includeMimeTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "includeTargetAudienceGroup": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionFileTypePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionFileNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionFileTypePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionFileNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionFilePathFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionFilePathFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "type": {
      "type": "string",
      "pattern": "GOOGLEDRIVEV2"
    },
    "enableIdentityCrawler": {
      "type": "boolean"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "syncMode",
    "additionalProperties",
    "secretArn",
    "type"
  ]
}
```

## IBM DB2 템플릿 스키마
<a name="ds-ibm-db2-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스로 `JDBC`, 데이터 소스 유형으로 `db2`, 보안 인증 정보의 암호, 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [IBM DB2 JSON 스키마](#ibm-db2-json)을(를) 참조하세요.

다음 표에서는 IBM DB2 JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스 연결을 위한 필수 구성 정보.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  문서  |  데이터베이스 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. 데이터베이스 데이터 소스에 특정 콘텐츠를 포함하거나 제외하는 데 사용합니다. | 
| primaryKeys  | 데이터베이스 테이블의 기본 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다. | 
| titleColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| bodyColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| sqlQuery | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| timestampColumn | 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra 사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다. | 
| timestampFormat | 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다. | 
| timezone | 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다. | 
| changeDetectingColumns | 콘텐츠 변경을 감지하는 데 Amazon Kendra 사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱 Amazon Kendra 합니다. | 
| allowedUsersColumns | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| allowedGroupsColumn | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| sourceURIColumn | 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다. | 
| isSslEnabled | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| type | 데이터 소스의 유형. JDBC을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | 데이터베이스에 연결하는 데 필요한 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "user name": "database user name",<br />    "password": "password"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### IBM DB2 JSON 스키마
<a name="ibm-db2-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "dbType": {
              "type": "string",
              "enum": [
                "mysql",
                "db2",
                "postgresql",
                "oracle",
                "sqlserver"
              ]
            },
            "dbHost": {
              "type": "string"
            },
            "dbPort": {
              "type": "string"
            },
            "dbInstance": {
              "type": "string"
            }
          },
          "required": [
            "dbType",
            "dbHost",
            "dbPort",
            "dbInstance"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string"
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "primaryKey": {
          "type": "string"
        },
        "titleColumn": {
          "type": "string"
        },
        "bodyColumn": {
          "type": "string"
        },
        "sqlQuery": {
          "type": "string",
          "not": {
            "pattern": ";+"
          }
        },
        "timestampColumn": {
          "type": "string"
        },
        "timestampFormat": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "changeDetectingColumns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedUsersColumn": {
          "type": "string"
        },
        "allowedGroupsColumn": {
          "type": "string"
        },
        "sourceURIColumn": {
          "type": "string"
        },
        "isSslEnabled": {
          "type": "boolean"
        }
      },
      "required": ["primaryKey", "titleColumn", "bodyColumn", "sqlQuery"]
    },
    "type" : {
      "type" : "string",
      "pattern": "JDBC"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
      "connectionConfiguration",
      "repositoryConfigurations",
      "syncMode",
      "additionalProperties",
      "secretArn",
      "type"
  ]
}
```

## Microsoft Exchange 템플릿 스키마
<a name="ds-msexchange-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 테넌트 ID는 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 제공합니다. 또한 데이터 소스 유형으로 `MSEXCHANGE`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Microsoft Exchange JSON 스키마](#msexchange-json)을(를) 참조하세요.

다음 표에서는 Microsoft Exchange JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| tenantId | Microsoft 365 테넌트 ID. 테넌트 ID는 Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 찾을 수 있습니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Microsoft Exchange 데이터 소스의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| inclusionPatterns | Microsoft Exchange 데이터 소스에서 특정 파일을 포함하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| exclusionPatterns | Microsoft Exchange 데이터 소스에서 특정 파일을 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 파일은 인덱스에 포함됩니다. 파일이 제외 및 포함 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Microsoft Exchange 데이터 소스에서 특정 사용자 및 사용자 파일을 포함하는 정규식 패턴 목록. 패턴과 일치하는 사용자는 인덱스에 포함됩니다. 패턴과 일치하지 않는 사용자는 인덱스에서 제외됩니다. 사용자가 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 사용자는 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Microsoft Exchange 데이터 소스에서 특정 사용자 및 사용자 파일을 제외하는 정규식 패턴 목록. 패턴과 일치하는 사용자는 인덱스에서 제외됩니다. 패턴과 일치하지 않는 사용자는 인덱스에 포함됩니다. 사용자가 제외 및 포함 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 사용자는 인덱스에 포함되지 않습니다. | 
| s3bucketName | 사용할 S3 버킷의 이름. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | true: Microsoft Exchange 데이터 소스에서 이러한 유형의 콘텐츠 및 액세스 제어 정보를 크롤링합니다. | 
| startCalendarDateTime | 일정 콘텐츠의 특정 시작 날짜/시간을 구성할 수 있습니다. | 
| endCalendarDateTime | 일정 콘텐츠의 특정 종료 날짜/시간을 구성할 수 있습니다. | 
| subject | 메일 콘텐츠의 특정 제목 줄을 구성할 수 있습니다. | 
| emailFrom | '보낸 사람' 또는 보낸 사람 메일 콘텐츠에 대해 특정 이메일을 구성할 수 있습니다. | 
| emailTo | '받는 사람' 또는 받는 사람 메일 콘텐츠에 대해 특정 이메일을 구성할 수 있습니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| type | 데이터 소스의 유형. MSEXCHANGE을 데이터 소스 유형으로 지정합니다. | 
| secretARN | Microsoft Exchange에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 여기에는 Azure 포털에서 OAuth 애플리케이션을 만들 때 생성되는 클라이언트 ID와 클라이언트 암호가 포함됩니다. | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

### Microsoft Exchange JSON 스키마
<a name="msexchange-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "tenantId": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "minLength": 36,
              "maxLength": 36
            }
          },
          "required": ["tenantId"]
        }
      }
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "email": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": ["STRING", "STRING_LIST", "DATE"]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "attachment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": ["STRING", "DATE","LONG"]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "calendar": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": ["STRING", "STRING_LIST", "DATE"]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "contacts": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": ["STRING", "STRING_LIST", "DATE"]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "notes": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": ["STRING", "DATE"]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": ["email"
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "inclusionPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionUsersList": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "email"
          }
        },
        "exclusionUsersList": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "email"
          }
        },
        "s3bucketName": {
          "type": "string"
        },
        "inclusionUsersFileName": {
          "type": "string"
        },
        "exclusionUsersFileName": {
          "type": "string"
        },
        "inclusionDomainUsers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionDomainUsers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "crawlCalendar": {
          "type": "boolean"
        },
        "crawlNotes": {
          "type": "boolean"
        },
        "crawlContacts": {
          "type": "boolean"
        },
        "crawlFolderAcl": {
          "type": "boolean"
        },
        "startCalendarDateTime": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
            },
            {
              "type": "string",
              "pattern": ""
            }
          ]
        },
        "endCalendarDateTime": {
          "anyOf": [
            {
            "type": "string",
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
            },
            {
              "type": "string",
              "pattern": ""
            }
          ]
        },
        "subject": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "emailFrom": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "email"
          }
        },
        "emailTo": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "email"
          }
        }
      },
      "required": [
      ]
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "type" : {
      "type" : "string",
      "pattern": "MSEXCHANGE"
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "syncMode",
    "additionalProperties",
    "secretArn",
    "type"
  ]
}
```

## Microsoft OneDrive 템플릿 스키마
<a name="ds-onedrive-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 테넌트 ID는 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 제공합니다. 또한 데이터 소스 유형으로 `ONEDRIVEV2`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Microsoft OneDrive JSON 스키마](#onedrive-json)을(를) 참조하세요.

다음 표에서는 Microsoft OneDrive JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| tenantId | Microsoft 365 테넌트 ID. 테넌트 ID는 Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 찾을 수 있습니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
| 파일 | Microsoft OneDrive 파일의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 특정 파일, OneNote 섹션, OneNote 페이지를 인덱싱하고 사용자 이름을 기준으로 필터링하도록 선택할 수 있습니다. | 
| isUserNameOnS3 | true: Amazon S3에 저장된 파일의 사용자 이름 목록을 제공합니다. | 
| type | 데이터 소스의 유형. ONEDRIVEV2을 데이터 소스 유형으로 지정합니다. | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| type | 데이터 소스의 유형. ONEDRIVEV2을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretARN | Microsoft OneDrive에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "clientId": "client ID",<br />    "clientSecret": "client secret"<br />}</pre> | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

### Microsoft OneDrive JSON 스키마
<a name="onedrive-json"></a>

```
{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"type": "object",
	"properties": {
		"connectionConfiguration": {
			"type": "object",
			"properties": {
				"repositoryEndpointMetadata": {
					"type": "object",
					"properties": {
						"tenantId": {
							"type": "string",
							"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
							"minLength": 36,
							"maxLength": 36
						}
					},
					"required": [
						"tenantId"
					]
				}
			},
			"required": [
				"repositoryEndpointMetadata"
			]
		},
		"repositoryConfigurations": {
			"type": "object",
			"properties": {
				"file": {
					"type": "object",
					"properties": {
						"fieldMappings": {
							"type": "array",
							"items": [
								{
									"type": "object",
									"properties": {
										"indexFieldName": {
											"type": "string"
										},
										"indexFieldType": {
											"type": "string",
											"enum": [
												"STRING",
												"STRING_LIST",
												"DATE",
												"LONG"
											]
										},
										"dataSourceFieldName": {
											"type": "string"
										},
										"dateFieldFormat": {
											"type": "string",
											"pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
										}
									},
									"required": [
										"indexFieldName",
										"indexFieldType",
										"dataSourceFieldName"
									]
								}
							]
						}
					},
					"required": [
						"fieldMappings"
					]
				}
			}
		},
		"additionalProperties": {
			"type": "object",
			"properties": {
				"userNameFilter": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"userFilterPath": {
					"type": "string"
				},
				"isUserNameOnS3": {
					"type": "boolean"
				},
				"inclusionFileTypePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"exclusionFileTypePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"inclusionFileNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"exclusionFileNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"inclusionFilePathPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"exclusionFilePathPatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"inclusionOneNoteSectionNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"exclusionOneNoteSectionNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"inclusionOneNotePageNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"exclusionOneNotePageNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				}
			},
			"required": []
		},

		"enableIdentityCrawler": {
			"type": "boolean"
		},
		"type": {
			"type": "string",
			"pattern": "ONEDRIVEV2"
		},
		"syncMode": {
			"type": "string",
			"enum": [
				"FULL_CRAWL",
				"FORCED_FULL_CRAWL",
				"CHANGE_LOG"
			]
		},
		"secretArn": {
			"type": "string",
			"minLength": 20,
			"maxLength": 2048
		}
	},
	"version": {
		"type": "string",
		"anyOf": [
			{
				"pattern": "1.0.0"
			}
		]
	},
	"required": [
		"connectionConfiguration",
		"repositoryConfigurations",
		"syncMode",
		"additionalProperties",
		"secretArn",
		"type"
	]
}
```

## Microsoft SharePoint 템플릿 스키마
<a name="ds-schema-sharepoint"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 SharePoint 사이트 URL, 도메인, 테넌트 ID도 필요한 경우 제공합니다. 또한 데이터 소스 유형으로 `SHAREPOINTV2`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [createDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 **Type**으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [SharePoint JSON 스키마](#sharepoint-json)을(를) 참조하세요.

다음 표에서는 Microsoft SharePoint JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보 | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보 | 
| tenantId | SharePoint 계정의 테넌트 ID. | 
| 도메인 | SharePoint 계정의 도메인. | 
| siteUrls | SharePoint 계정의 호스트 URL. | 
| repositoryAdditionalProperties | 리포지토리/데이터 소스 엔드포인트와 연결하기 위한 추가 속성. | 
| s3bucketName | Azure AD 자체 서명된 X.509 인증서를 저장하는 Amazon S3 버킷의 이름입니다. | 
| s3certificateName |  Amazon S3 버킷에 저장된 Azure AD 자체 서명된 X.509 인증서의 이름입니다. | 
| authType | 사용 중인 인증 유형(OAuth2, OAuth2Certificate, OAuth2App, Basic, OAuth2\$1RefreshToken, NTLM 또는 Kerberos) | 
| 버전 | 사용 중인 SharePoint 버전(Server 또는 Online) | 
| onPremVersion | 사용 중인 SharePoint Server 버전(2013, 2016, 2019 또는 SubscriptionEdition) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | SharePoint 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | SharePoint 데이터 소스에서 특정 콘텐츠를 포함/제외하는 정규 표현식 패턴 목록입니다. 포함 패턴과 일치하는 콘텐츠 항목은 인덱스에 포함됩니다. 포함 패턴과 일치하지 않는 콘텐츠 항목은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | true: 이러한 유형의 콘텐츠를 크롤링합니다. | 
| crawlAcl | true: 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링합니다. ACL은 사용자와 그룹이 액세스하고 검색할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요. | 
| fieldForUserId | 사용자 ID에 사용자 이메일을 사용하려는 경우 email 또는 사용자 ID에 사용자 이름을 사용하려는 경우 userPrincipalName을 지정합니다. 옵션을 지정하지 않으면 email이 기본적으로 사용됩니다. | 
| aclConfiguration | ACLWithLDAPEmailFmt, ACLWithManualEmailFmt 또는 ACLWithUsernameFmtM을 지정합니다. | 
| emailDomain | 이메일의 도메인입니다. 예: “amazon.com”. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | true: 그룹 매핑 정보를 크롤링합니다. | 
| proxyHost | 사용 중인 웹 프록시의 호스트 이름(http:// 또는 https:// 프로토콜 제외) | 
| proxyPort | 호스트 URL 전송 프로토콜에서 사용하는 포트 번호 이 값은 0\$165535의 숫자 값이어야 합니다. | 
| type | SHAREPOINTV2를 데이터 소스 유형으로 지정합니다. | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretARN | SharePoint에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 이러한 키-값 페어에 대한 자세한 내용은 [SharePoint Online 및 SharePoint Server 연결 지침](https://docs.aws.amazon.com/kendra/latest/dg/data-source-v2-sharepoint.html#data-source-procedure-v2-sharepoint)을 참조하세요. | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

## SharePoint JSON 스키마
<a name="sharepoint-json"></a>

```
{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"type": "object",
	"properties": {
		"connectionConfiguration": {
			"type": "object",
			"properties": {
				"repositoryEndpointMetadata": {
					"type": "object",
					"properties": {
						"tenantId": {
							"type": "string",
							"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
							"minLength": 36,
							"maxLength": 36
						},
						"domain": {
							"type": "string"
						},
						"siteUrls": {
							"type": "array",
							"items": {
								"type": "string",
								"pattern": "https://.*"
							}
						},
						"repositoryAdditionalProperties": {
							"type": "object",
							"properties": {
								"s3bucketName": {
									"type": "string"
								},
								"s3certificateName": {
									"type": "string"
								},
								"authType": {
									"type": "string",
									"enum": [
										"OAuth2",
										"OAuth2Certificate",
										"OAuth2App",
										"Basic",
										"OAuth2_RefreshToken",
										"NTLM",
										"Kerberos"
									]
								},
								"version": {
									"type": "string",
									"enum": [
										"Server",
										"Online"
									]
								},
								"onPremVersion": {
									"type": "string",
									"enum": [
										"",
										"2013",
										"2016",
										"2019",
										"SubscriptionEdition"
									]
								}
							},
							"required": [
								"authType",
								"version"
							]
						}
					},
					"required": [
						"siteUrls",
						"domain",
						"repositoryAdditionalProperties"
					]
				}
			},
			"required": [
				"repositoryEndpointMetadata"
			]
		},
		"repositoryConfigurations": {
			"type": "object",
			"properties": {
				"event": {
					"type": "object",
					"properties": {
						"fieldMappings": {
							"type": "array",
							"items": [
								{
									"type": "object",
									"properties": {
										"indexFieldName": {
											"type": "string"
										},
										"indexFieldType": {
											"type": "string",
											"enum": [
												"STRING",
												"STRING_LIST",
												"DATE"
											]
										},
										"dataSourceFieldName": {
											"type": "string"
										},
										"dateFieldFormat": {
											"type": "string",
											"pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
										}
									},
									"required": [
										"indexFieldName",
										"indexFieldType",
										"dataSourceFieldName"
									]
								}
							]
						}
					},
					"required": [
						"fieldMappings"
					]
				},
				"page": {
					"type": "object",
					"properties": {
						"fieldMappings": {
							"type": "array",
							"items": [
								{
									"type": "object",
									"properties": {
										"indexFieldName": {
											"type": "string"
										},
										"indexFieldType": {
											"type": "string",
											"enum": [
												"STRING",
												"DATE",
												"LONG"
											]
										},
										"dataSourceFieldName": {
											"type": "string"
										},
										"dateFieldFormat": {
											"type": "string",
											"pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
										}
									},
									"required": [
										"indexFieldName",
										"indexFieldType",
										"dataSourceFieldName"
									]
								}
							]
						}
					},
					"required": [
						"fieldMappings"
					]
				},
				"file": {
					"type": "object",
					"properties": {
						"fieldMappings": {
							"type": "array",
							"items": [
								{
									"type": "object",
									"properties": {
										"indexFieldName": {
											"type": "string"
										},
										"indexFieldType": {
											"type": "string",
											"enum": [
												"STRING",
												"DATE",
												"LONG"
											]
										},
										"dataSourceFieldName": {
											"type": "string"
										},
										"dateFieldFormat": {
											"type": "string",
											"pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
										}
									},
									"required": [
										"indexFieldName",
										"indexFieldType",
										"dataSourceFieldName"
									]
								}
							]
						}
					},
					"required": [
						"fieldMappings"
					]
				},
				"link": {
					"type": "object",
					"properties": {
						"fieldMappings": {
							"type": "array",
							"items": [
								{
									"type": "object",
									"properties": {
										"indexFieldName": {
											"type": "string"
										},
										"indexFieldType": {
											"type": "string",
											"enum": [
												"STRING",
												"STRING_LIST",
												"DATE"
											]
										},
										"dataSourceFieldName": {
											"type": "string"
										},
										"dateFieldFormat": {
											"type": "string",
											"pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
										}
									},
									"required": [
										"indexFieldName",
										"indexFieldType",
										"dataSourceFieldName"
									]
								}
							]
						}
					},
					"required": [
						"fieldMappings"
					]
				},
				"attachment": {
					"type": "object",
					"properties": {
						"fieldMappings": {
							"type": "array",
							"items": [
								{
									"type": "object",
									"properties": {
										"indexFieldName": {
											"type": "string"
										},
										"indexFieldType": {
											"type": "string",
											"enum": [
												"STRING",
												"STRING_LIST",
												"DATE"
											]
										},
										"dataSourceFieldName": {
											"type": "string"
										},
										"dateFieldFormat": {
											"type": "string",
											"pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
										}
									},
									"required": [
										"indexFieldName",
										"indexFieldType",
										"dataSourceFieldName"
									]
								}
							]
						}
					},
					"required": [
						"fieldMappings"
					]
				},
				"comment": {
					"type": "object",
					"properties": {
						"fieldMappings": {
							"type": "array",
							"items": [
								{
									"type": "object",
									"properties": {
										"indexFieldName": {
											"type": "string"
										},
										"indexFieldType": {
											"type": "string",
											"enum": [
												"STRING",
												"STRING_LIST",
												"DATE"
											]
										},
										"dataSourceFieldName": {
											"type": "string"
										},
										"dateFieldFormat": {
											"type": "string",
											"pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
										}
									},
									"required": [
										"indexFieldName",
										"indexFieldType",
										"dataSourceFieldName"
									]
								}
							]
						}
					},
					"required": [
						"fieldMappings"
					]
				}
			}
		},
		"additionalProperties": {
			"type": "object",
			"properties": {
				"eventTitleFilterRegEx": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"pageTitleFilterRegEx": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"linkTitleFilterRegEx": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"inclusionFilePath": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"exclusionFilePath": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"inclusionFileTypePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"exclusionFileTypePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"inclusionFileNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"exclusionFileNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"inclusionOneNoteSectionNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"exclusionOneNoteSectionNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"inclusionOneNotePageNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"exclusionOneNotePageNamePatterns": {
					"type": "array",
					"items": {
						"type": "string"
					}
				},
				"crawlFiles": {
					"type": "boolean"
				},
				"crawlPages": {
					"type": "boolean"
				},
				"crawlEvents": {
					"type": "boolean"
				},
				"crawlComments": {
					"type": "boolean"
				},
				"crawlLinks": {
					"type": "boolean"
				},
				"crawlAttachments": {
					"type": "boolean"
				},
				"crawlListData": {
					"type": "boolean"
				},
				"crawlAcl": {
					"type": "boolean"
				},
				"fieldForUserId": {
					"type": "string"
				},
				"aclConfiguration": {
					"type": "string",
					"enum": [
						"ACLWithLDAPEmailFmt",
						"ACLWithManualEmailFmt",
						"ACLWithUsernameFmt"
					]
				},
				"emailDomain": {
					"type": "string"
				},
				"isCrawlLocalGroupMapping": {
					"type": "boolean"
				},
				"isCrawlAdGroupMapping": {
					"type": "boolean"
				},
				"proxyHost": {
					"type": "string"
				},
				"proxyPort": {
					"type": "string"
				}
			},
			"required": [
			]
		},
		"type": {
			"type": "string",
			"pattern": "SHAREPOINTV2"
		},
		"enableIdentityCrawler": {
			"type": "boolean"
		},
		"syncMode": {
			"type": "string",
			"enum": [
				"FULL_CRAWL",
				"FORCED_FULL_CRAWL",
				"CHANGE_LOG"
			]
		},
		"secretArn": {
			"type": "string",
			"minLength": 20,
			"maxLength": 2048
		}
	},
	"version": {
		"type": "string",
		"anyOf": [
			{
				"pattern": "1.0.0"
			}
		]
	},
	"required": [
		"connectionConfiguration",
		"repositoryConfigurations",
		"enableIdentityCrawler",
		"syncMode",
		"additionalProperties",
		"secretArn",
		"type"
	]
}
```

## Microsoft SQL Server 템플릿 스키마
<a name="ds-ms-sql-server-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스로 `JDBC`, 데이터 소스 유형으로 `sqlserver`, 보안 인증 정보의 암호, 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Microsoft SQL Server JSON 스키마](#ms-sql-server-json)을(를) 참조하세요.

다음 표에서는 Micorosft SQL Server JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스 연결을 위한 필수 구성 정보.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  문서  |  데이터베이스 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. 데이터베이스 데이터 소스에 특정 콘텐츠를 포함하거나 제외하는 데 사용합니다. | 
| primaryKeys  | 데이터베이스 테이블의 기본 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다. | 
| titleColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| bodyColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| sqlQuery | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| timestampColumn | 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra 사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다. | 
| timestampFormat | 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다. | 
| timezone | 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다. | 
| changeDetectingColumns | 콘텐츠 변경을 감지하는 데 Amazon Kendra 사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱 Amazon Kendra 합니다. | 
| allowedUsersColumns | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| allowedGroupsColumn | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| sourceURIColumn | 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다. | 
| isSslEnabled | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| type | 데이터 소스의 유형. JDBC을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | 데이터베이스에 연결하는 데 필요한 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "user name": "database user name",<br />    "password": "password"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### Microsoft SQL Server JSON 스키마
<a name="ms-sql-server-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "dbType": {
              "type": "string",
              "enum": [
                "mysql",
                "db2",
                "postgresql",
                "oracle",
                "sqlserver"
              ]
            },
            "dbHost": {
              "type": "string"
            },
            "dbPort": {
              "type": "string"
            },
            "dbInstance": {
              "type": "string"
            }
          },
          "required": [
            "dbType",
            "dbHost",
            "dbPort",
            "dbInstance"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string"
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "primaryKey": {
          "type": "string"
        },
        "titleColumn": {
          "type": "string"
        },
        "bodyColumn": {
          "type": "string"
        },
        "sqlQuery": {
          "type": "string",
          "not": {
            "pattern": ";+"
          }
        },
        "timestampColumn": {
          "type": "string"
        },
        "timestampFormat": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "changeDetectingColumns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedUsersColumn": {
          "type": "string"
        },
        "allowedGroupsColumn": {
          "type": "string"
        },
        "sourceURIColumn": {
          "type": "string"
        },
        "isSslEnabled": {
          "type": "boolean"
        }
      },
      "required": ["primaryKey", "titleColumn", "bodyColumn", "sqlQuery"]
    },
    "type" : {
      "type" : "string",
      "pattern": "JDBC"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
      "connectionConfiguration",
      "repositoryConfigurations",
      "syncMode",
      "additionalProperties",
      "secretArn",
      "type"
  ]
}
```

## Microsoft Teams 템플릿 스키마
<a name="ds-msteams-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 테넌트 ID는 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 제공합니다. 또한 데이터 소스 유형으로 `MSTEAMS`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Microsoft Teams JSON 스키마](#msteams-json)을(를) 참조하세요.

다음 표에서는 Microsoft Teams JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| tenantId | Microsoft 365 테넌트 ID. 테넌트 ID는 Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 찾을 수 있습니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Microsoft Teams 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| paymentModel | Microsoft Teams 데이터 소스와 함께 사용할 결제 모델 유형을 지정합니다. 모델 A 결제 모델은 보안 준수가 필요한 라이선싱 및 결제 모델로 제한됩니다. 모델 B 결제 모델은 보안 준수가 필요하지 않은 라이선싱 및 결제 모델에 적합합니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Microsoft Teams 데이터 소스에서 특정 콘텐츠를 포함하는 정규식 패턴 목록. 패턴과 일치하는 콘텐츠는 인덱스에 포함됩니다. 패턴과 일치하지 않는 콘텐츠는 인덱스에서 제외됩니다. 콘텐츠가 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 콘텐츠는 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Microsoft Teams 데이터 소스에서 특정 콘텐츠를 제외하는 정규식 패턴 목록. 패턴과 일치하는 콘텐츠는 인덱스에서 제외됩니다. 패턴과 일치하지 않는 콘텐츠는 인덱스에 포함됩니다. 콘텐츠가 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 콘텐츠는 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | true: Microsoft Teams 데이터 소스에서 이러한 유형의 콘텐츠를 크롤링합니다. | 
| startCalendarDateTime | 일정 콘텐츠의 특정 시작 날짜/시간을 구성할 수 있습니다. | 
| endCalendarDateTime | 일정 콘텐츠의 특정 종료 날짜/시간을 구성할 수 있습니다. | 
| type | 데이터 소스의 유형. MSTEAMS을 데이터 소스 유형으로 지정합니다. | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | Microsoft Teams에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 여기에는 Azure 포털에서 OAuth 애플리케이션을 만들 때 생성되는 클라이언트 ID와 클라이언트 암호가 포함됩니다. | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

### Microsoft Teams JSON 스키마
<a name="msteams-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "tenantId": {
              "type": "string",
              "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
              "minLength": 36,
              "maxLength": 36
            }
          },
          "required": [
            "tenantId"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "chatMessage": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "chatAttachment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "channelPost": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "channelWiki": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "channelAttachment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "meetingChat": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "meetingFile": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "meetingNote": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "calendarMeeting": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      }
    },
     "additionalProperties": {
      "type": "object",
      "properties": {
        "paymentModel": {
          "type": "string",
          "enum": [
            "A",
            "B",
            "Evaluation Mode"
          ]
        },
        "inclusionTeamNameFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionTeamNameFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionChannelNameFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionChannelNameFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionFileNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionFileNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionFileTypePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionFileTypePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionUserEmailFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionOneNoteSectionNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionOneNoteSectionNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionOneNotePageNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionOneNotePageNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "isCrawlChatMessage": {
          "type": "boolean"
        },
        "isCrawlChatAttachment": {
          "type": "boolean"
        },
        "isCrawlChannelPost": {
          "type": "boolean"
        },
        "isCrawlChannelAttachment": {
          "type": "boolean"
        },
        "isCrawlChannelWiki": {
          "type": "boolean"
        },
        "isCrawlCalendarMeeting": {
          "type": "boolean"
        },
        "isCrawlMeetingChat": {
          "type": "boolean"
        },
        "isCrawlMeetingFile": {
          "type": "boolean"
        },
        "isCrawlMeetingNote": {
          "type": "boolean"
        },
        "startCalendarDateTime": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
            },
            {
              "type": "string",
              "pattern": ""
            }
          ]
        },
        "endCalendarDateTime": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
            },
            {
              "type": "string",
              "pattern": ""
            }
          ]
        }
      },
      "required": []
    },
    "type": {
      "type": "string",
      "pattern": "MSTEAMS"
    },
    "enableIdentityCrawler": {
      "type": "boolean"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "syncMode",
    "additionalProperties",
    "secretArn",
    "type"
  ]
}
```

## Microsoft Yammer 템플릿 스키마
<a name="ds-schema-yammer"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스 유형으로 `YAMMER`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [createDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 **Type**으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다.

다음 표에서는 Microsoft Yammer JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스에 대한 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. 이 데이터 소스는 repositoryEndpointMetadata에 엔드포인트를 지정하지 않습니다. 대신를 제공하는 AWS Secrets Manager 보안 암호에 연결 정보가 포함됩니다secretArn. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Amazon Kendra 인덱스 필드 이름에 Microsoft Yammer 콘텐츠의 속성 또는 필드 이름을 매핑하는 객체의 목록. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| inclusionPatterns | Microsoft Yammer 데이터 소스에서 특정 파일을 포함하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| exclusionPatterns | Microsoft Yammer 데이터 소스에서 특정 파일을 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 파일은 인덱스에 포함됩니다. 파일이 제외 및 포함 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| sinceDate | Microsoft Yammer 커넥터가 특정 sinceDate 기반으로 콘텐츠를 크롤링하도록 sinceDate 파라미터를 구성하도록 선택할 수 있습니다. | 
| communityNameFilter | 특정 커뮤니티 콘텐츠를 인덱싱하도록 선택할 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | true: 메시지, 메시지 첨부 파일 및 프라이빗 메시지를 크롤링합니다. | 
| type | YAMMER을 데이터 소스 유형으로 지정합니다. | 
| secretARN | Microsoft Yammer에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 여기에는 Azure 포털에서 OAuth 애플리케이션을 만들 때 생성되는 Microsoft Yammer 사용자 이름과 암호, 클라이언트 ID와 클라이언트 암호가 포함됩니다. | 
| useChangeLog | true: Microsoft Yammer 변경 로그를 사용하여 인덱스에서 업데이트해야 하는 문서를 결정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 

### Microsoft Yammer JSON 스키마
<a name="yammer-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
          }
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "community": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": [
                          "STRING",
                          "DATE"
                        ]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "user": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": [
                          "STRING",
                          "DATE"
                        ]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "message": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": [
                          "STRING",
                          "DATE"
                        ]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "attachment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": [
                          "STRING",
                          "DATE"
                        ]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      }
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "inclusionPatterns": {
          "type": "array"
        },
        "exclusionPatterns": {
          "type": "array"
        },
        "sinceDate": {
          "type": "string",
          "pattern": "^(19|2[0-9])[0-9]{2}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])((\\+|-)(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]))?$"
        },
        "communityNameFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "isCrawlMessage": {
          "type": "boolean"
        },
        "isCrawlAttachment": {
          "type": "boolean"
        },
        "isCrawlPrivateMessage": {
          "type": "boolean"
        }
      },
      "required": [
        "sinceDate"
      ]
    },
    "type": {
      "type": "string",
      "pattern": "YAMMER"
    },
    "secretArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048
    },
    "useChangeLog": {
      "type": "string",
      "enum": [
        "true",
        "false"
      ]
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "enableIdentityCrawler": {
      "type": "boolean"
    },
    "version": {
      "type": "string",
      "anyOf": [
        {
          "pattern": "1.0.0"
        }
      ]
    }
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "additionalProperties",
    "type",
    "secretArn",
    "syncMode"
  ]
}
```

## MySQL 템플릿 스키마
<a name="ds-mysql-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스로 `JDBC`, 데이터 소스 유형으로 `mysql`, 보안 인증 정보의 암호, 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [MySQL JSON 스키마](#mysql-json)을(를) 참조하세요.

다음 표에서는 MySQL JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스 연결을 위한 필수 구성 정보.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  문서  |  데이터베이스 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. 데이터베이스 데이터 소스에 특정 콘텐츠를 포함하거나 제외하는 데 사용합니다. | 
| primaryKeys  | 데이터베이스 테이블의 기본 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다. | 
| titleColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| bodyColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| sqlQuery | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| timestampColumn | 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra 사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다. | 
| timestampFormat | 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다. | 
| timezone | 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다. | 
| changeDetectingColumns | 콘텐츠 변경을 감지하는 데 Amazon Kendra 사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱 Amazon Kendra 합니다. | 
| allowedUsersColumns | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| allowedGroupsColumn | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| sourceURIColumn | 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다. | 
| isSslEnabled | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| type | 데이터 소스의 유형. JDBC을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | 데이터베이스에 연결하는 데 필요한 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "user name": "database user name",<br />    "password": "password"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### MySQL JSON 스키마
<a name="mysql-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "dbType": {
              "type": "string",
              "enum": [
                "mysql",
                "db2",
                "postgresql",
                "oracle",
                "sqlserver"
              ]
            },
            "dbHost": {
              "type": "string"
            },
            "dbPort": {
              "type": "string"
            },
            "dbInstance": {
              "type": "string"
            }
          },
          "required": [
            "dbType",
            "dbHost",
            "dbPort",
            "dbInstance"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string"
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "primaryKey": {
          "type": "string"
        },
        "titleColumn": {
          "type": "string"
        },
        "bodyColumn": {
          "type": "string"
        },
        "sqlQuery": {
          "type": "string",
          "not": {
            "pattern": ";+"
          }
        },
        "timestampColumn": {
          "type": "string"
        },
        "timestampFormat": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "changeDetectingColumns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedUsersColumn": {
          "type": "string"
        },
        "allowedGroupsColumn": {
          "type": "string"
        },
        "sourceURIColumn": {
          "type": "string"
        },
        "isSslEnabled": {
          "type": "boolean"
        }
      },
      "required": ["primaryKey", "titleColumn", "bodyColumn", "sqlQuery"]
    },
    "type" : {
      "type" : "string",
      "pattern": "JDBC"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
      "connectionConfiguration",
      "repositoryConfigurations",
      "syncMode",
      "additionalProperties",
      "secretArn",
      "type"
  ]
}
```

## Oracle Database 템플릿 스키마
<a name="ds-oracle-database-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스로 `JDBC`, 데이터 소스 유형으로 `oracle`, 보안 인증 정보의 암호, 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Oracle Database JSON 스키마](#oracle-database-json)을(를) 참조하세요.

다음 표에서는 Oracle Database JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스 연결을 위한 필수 구성 정보.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  문서  |  데이터베이스 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. 데이터베이스 데이터 소스에 특정 콘텐츠를 포함하거나 제외하는 데 사용합니다. | 
| primaryKeys  | 데이터베이스 테이블의 기본 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다. | 
| titleColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| bodyColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| sqlQuery | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| timestampColumn | 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra 사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다. | 
| timestampFormat | 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다. | 
| timezone | 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다. | 
| changeDetectingColumns | 콘텐츠 변경을 감지하는 데 Amazon Kendra 사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱 Amazon Kendra 합니다. | 
| allowedUsersColumns | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| allowedGroupsColumn | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| sourceURIColumn | 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다. | 
| isSslEnabled | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| type | 데이터 소스의 유형. JDBC을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | 데이터베이스에 연결하는 데 필요한 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "user name": "database user name",<br />    "password": "password"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### Oracle Database JSON 스키마
<a name="oracle-database-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "dbType": {
              "type": "string",
              "enum": [
                "mysql",
                "db2",
                "postgresql",
                "oracle",
                "sqlserver"
              ]
            },
            "dbHost": {
              "type": "string"
            },
            "dbPort": {
              "type": "string"
            },
            "dbInstance": {
              "type": "string"
            }
          },
          "required": [
            "dbType",
            "dbHost",
            "dbPort",
            "dbInstance"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string"
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "primaryKey": {
          "type": "string"
        },
        "titleColumn": {
          "type": "string"
        },
        "bodyColumn": {
          "type": "string"
        },
        "sqlQuery": {
          "type": "string",
          "not": {
            "pattern": ";+"
          }
        },
        "timestampColumn": {
          "type": "string"
        },
        "timestampFormat": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "changeDetectingColumns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedUsersColumn": {
          "type": "string"
        },
        "allowedGroupsColumn": {
          "type": "string"
        },
        "sourceURIColumn": {
          "type": "string"
        },
        "isSslEnabled": {
          "type": "boolean"
        }
      },
      "required": ["primaryKey", "titleColumn", "bodyColumn", "sqlQuery"]
    },
    "type" : {
      "type" : "string",
      "pattern": "JDBC"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
      "connectionConfiguration",
      "repositoryConfigurations",
      "syncMode",
      "additionalProperties",
      "secretArn",
      "type"
  ]
}
```

## PostgreSQL 템플릿 스키마
<a name="ds-postgresql-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 데이터 소스로 `JDBC`, 데이터 소스 유형으로 `postgresql`, 보안 인증 정보의 암호, 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [PostgreSQL JSON 스키마](#postgresql-json)을(를) 참조하세요.

다음 표에서는 PostgreSQL JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스 연결을 위한 필수 구성 정보.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html) | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. 데이터 소스 유형과 비밀 ARN을 지정합니다. | 
|  문서  |  데이터베이스 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. 데이터베이스 데이터 소스에 특정 콘텐츠를 포함하거나 제외하는 데 사용합니다. | 
| primaryKeys  | 데이터베이스 테이블의 기본 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다. | 
| titleColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| bodyColumn | 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다. | 
| sqlQuery | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| timestampColumn | 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra 사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다. | 
| timestampFormat | 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다. | 
| timezone | 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다. | 
| changeDetectingColumns | 콘텐츠 변경을 감지하는 데 Amazon Kendra 사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱 Amazon Kendra 합니다. | 
| allowedUsersColumns | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| allowedGroupsColumn | 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다. | 
| sourceURIColumn | 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다. | 
| isSslEnabled | SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra 는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다. | 
| type | 데이터 소스의 유형. JDBC을 데이터 소스 유형으로 지정합니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretArn | 데이터베이스에 연결하는 데 필요한 사용자 이름 및 암호가 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "user name": "database user name",<br />    "password": "password"<br />}</pre> | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### PostgreSQL JSON 스키마
<a name="postgresql-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "dbType": {
              "type": "string",
              "enum": [
                "mysql",
                "db2",
                "postgresql",
                "oracle",
                "sqlserver"
              ]
            },
            "dbHost": {
              "type": "string"
            },
            "dbPort": {
              "type": "string"
            },
            "dbInstance": {
              "type": "string"
            }
          },
          "required": [
            "dbType",
            "dbHost",
            "dbPort",
            "dbInstance"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "document": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string"
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "primaryKey": {
          "type": "string"
        },
        "titleColumn": {
          "type": "string"
        },
        "bodyColumn": {
          "type": "string"
        },
        "sqlQuery": {
          "type": "string",
          "not": {
            "pattern": ";+"
          }
        },
        "timestampColumn": {
          "type": "string"
        },
        "timestampFormat": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "changeDetectingColumns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowedUsersColumn": {
          "type": "string"
        },
        "allowedGroupsColumn": {
          "type": "string"
        },
        "sourceURIColumn": {
          "type": "string"
        },
        "isSslEnabled": {
          "type": "boolean"
        }
      },
      "required": ["primaryKey", "titleColumn", "bodyColumn", "sqlQuery"]
    },
    "type" : {
      "type" : "string",
      "pattern": "JDBC"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
      "connectionConfiguration",
      "repositoryConfigurations",
      "syncMode",
      "additionalProperties",
      "secretArn",
      "type"
  ]
}
```

## Salesforce 템플릿 스키마
<a name="ds-salesforce-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. Salesforce 호스트 URL은 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 제공합니다. 또한 데이터 소스 유형으로 `SALESFORCEV2`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Salesforce JSON 스키마](#salesforce-json)을(를) 참조하세요.

다음 표에서는 Salesforce JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| hostUrl | 인덱싱할 Salesforce 인스턴스의 URL. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  |  Salesforce 엔터티의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| secretARN | Salesforce에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "authenticationUrl": "OAUTH endpoint that Amazon Kendra connects to get an OAUTH token",<br />    "consumerKey": "Application public key generated when you created your Salesforce application",<br />    "consumerSecret": "Application private key generated when you created your Salesforce application",<br />    "password": "Password associated with the user logging in to the Salesforce instance",<br />    "securityToken": "Token associated with the user account logging in to the Salesforce instance",<br />    "username": "User name of the user logging in to the Salesforce instance"<br />}</pre> | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 필터링할 항목을 지정하는 문자열 모음. | 
| inclusionPatterns [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Salesforce 데이터 소스에서 특정 파일을 포함하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| exclusionPatterns [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Salesforce 데이터 소스에서 특정 파일을 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 파일은 인덱스에 포함됩니다. 파일이 제외 및 포함 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | true: Salesforce 계정에서 이러한 유형의 파일을 크롤링합니다. | 
| type | 데이터 소스의 유형. SALESFORCEV2을 데이터 소스 유형으로 지정합니다. | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| 버전 | 현재 지원되는 이 템플릿의 버전. | 

### Salesforce JSON 스키마
<a name="salesforce-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties":
  {
    "connectionConfiguration": {
      "type": "object",
      "properties":
      {
        "repositoryEndpointMetadata":
        {
          "type": "object",
          "properties":
          {
            "hostUrl":
            {
              "type": "string",
              "pattern": "https:.*"
            }
          },
          "required":
          [
            "hostUrl"
          ]
        }
      },
      "required":
      [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties":
      {
        "account":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "contact":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "campaign":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "case":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "product":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "lead":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "contract":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "partner":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "profile":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "idea":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "pricebook":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "task":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "solution":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "attachment":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "user":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "document":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "knowledgeArticles":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "group":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "opportunity":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE",
                        "LONG"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "chatter":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        },
        "customEntity":
        {
          "type": "object",
          "properties":
          {
            "fieldMappings":
            {
              "type": "array",
              "items":
              [
                {
                  "type": "object",
                  "properties":
                  {
                    "indexFieldName":
                    {
                      "type": "string"
                    },
                    "indexFieldType":
                    {
                      "type": "string",
                      "enum":
                      [
                        "STRING",
                        "STRING_LIST",
                        "DATE"
                      ]
                    },
                    "dataSourceFieldName":
                    {
                      "type": "string"
                    },
                    "dateFieldFormat":
                    {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required":
                  [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required":
          [
            "fieldMappings"
          ]
        }
      }
    },
    "additionalProperties": {
      "type": "object",
      "properties":
      {
        "accountFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "contactFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "caseFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "campaignFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "contractFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "groupFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "leadFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "productFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "opportunityFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "partnerFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "pricebookFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "ideaFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "profileFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "taskFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "solutionFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "userFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "chatterFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "documentFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "knowledgeArticleFilter":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "customEntities":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "isCrawlAccount": {
          "type": "boolean"
        },
        "isCrawlContact": {
          "type": "boolean"
        },
        "isCrawlCase": {
          "type": "boolean"
        },
        "isCrawlCampaign": {
          "type": "boolean"
        },
        "isCrawlProduct": {
          "type": "boolean"
        },
        "isCrawlLead": {
          "type": "boolean"
        },
        "isCrawlContract": {
          "type": "boolean"
        },
        "isCrawlPartner": {
          "type": "boolean"
        },
        "isCrawlProfile": {
          "type": "boolean"
        },
        "isCrawlIdea": {
          "type": "boolean"
        },
        "isCrawlPricebook": {
          "type": "boolean"
        },
        "isCrawlDocument": {
          "type": "boolean"
        },
        "crawlSharedDocument": {
          "type": "boolean"
        },
        "isCrawlGroup": {
          "type": "boolean"
        },
        "isCrawlOpportunity": {
          "type": "boolean"
        },
        "isCrawlChatter": {
          "type": "boolean"
        },
        "isCrawlUser": {
          "type": "boolean"
        },
        "isCrawlSolution":{
          "type": "boolean"
        },
        "isCrawlTask":{
          "type": "boolean"
        },

        "isCrawlAccountAttachments": {
          "type": "boolean"
        },
        "isCrawlContactAttachments": {
          "type": "boolean"
        },
        "isCrawlCaseAttachments": {
          "type": "boolean"
        },
        "isCrawlCampaignAttachments": {
          "type": "boolean"
        },
        "isCrawlLeadAttachments": {
          "type": "boolean"
        },
        "isCrawlContractAttachments": {
          "type": "boolean"
        },
        "isCrawlGroupAttachments": {
          "type": "boolean"
        },
        "isCrawlOpportunityAttachments": {
          "type": "boolean"
        },
        "isCrawlChatterAttachments": {
          "type": "boolean"
        },
        "isCrawlSolutionAttachments":{
          "type": "boolean"
        },
        "isCrawlTaskAttachments":{
          "type": "boolean"
        },
        "isCrawlCustomEntityAttachments":{
          "type": "boolean"
        },
        "isCrawlKnowledgeArticles": {
          "type": "object",
          "properties":
          {
            "isCrawlDraft": {
              "type": "boolean"
            },
            "isCrawlPublish": {
              "type": "boolean"
            },
            "isCrawlArchived": {
              "type": "boolean"
            }
          }
        },
        "inclusionDocumentFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionDocumentFileTypePatterns": {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionDocumentFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionDocumentFileNamePatterns": {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionAccountFileTypePatterns": {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionAccountFileTypePatterns": {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionAccountFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionAccountFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionCampaignFileTypePatterns": {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionCampaignFileTypePatterns": {
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionCampaignFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionCampaignFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionCaseFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionCaseFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionCaseFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionCaseFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionContactFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionContactFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionContactFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionContactFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionContractFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionContractFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionContractFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionContractFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionLeadFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionLeadFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionLeadFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionLeadFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionOpportunityFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionOpportunityFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionOpportunityFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionOpportunityFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionSolutionFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionSolutionFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionSolutionFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionSolutionFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionTaskFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionTaskFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionTaskFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionTaskFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionGroupFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionGroupFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionGroupFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionGroupFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionChatterFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionChatterFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionChatterFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionChatterFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionCustomEntityFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionCustomEntityFileTypePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "inclusionCustomEntityFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        },
        "exclusionCustomEntityFileNamePatterns":{
          "type": "array",
          "items":
          {
            "type": "string"
          }
        }
      },
      "required":
      []
    },
    "enableIdentityCrawler": {
      "type": "boolean"
    },
    "type": {
      "type": "string",
      "pattern": "SALESFORCEV2"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FULL_CRAWL",
        "FORCED_FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "secretArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "syncMode",
    "additionalProperties",
    "secretArn",
    "type"
  ]
}
```

## ServiceNow 템플릿 스키마
<a name="ds-servicenow-schema"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 ServiceNow 호스트 URL, 인증 유형 및 인스턴스 버전을 제공합니다. 또한 데이터 소스 유형으로 `SERVICENOWV2`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [ServiceNow JSON 스키마](#servicenow-json)을(를) 참조하세요.

다음 표에서는 ServiceNow JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| hostUrl | ServiceNow 호스트 URL. 예: your-domain.service-now.com. | 
| authType | 사용하는 인증 유형(basicAuth 또는 OAuth2). | 
| servicenowInstanceVersion | 사용 중인 ServiceNow 버전입니다. Tokyo, Sandiego, Rome, Others 중에서 선택할 수 있습니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | ServiceNow 기술 문서, 첨부 파일, 서비스 카탈로그 및 인시던트의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. ServiceNow 데이터 소스 필드 이름이 ServiceNow 사용자 지정 메타데이터에 있어야 합니다. | 
| additional properties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| maxFileSizeInMegaBytes | Amazon Kendra가 크롤링할 파일의 크기 제한을 MB 단위로 지정합니다. Amazon Kendra는 사용자가 정의한 크기 제한 내의 파일만 크롤링합니다. 기본 파일 크기는 50MB입니다. 최대 파일 크기는 0MB보다 크고 50MB보다 작거나 같아야 합니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | ServiceNow 데이터 소스에서 특정 파일을 포함 및/또는 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | true: ServiceNow 기술 문서, 서비스 카탈로그, 인시던트 및 첨부 파일을 크롤링합니다. | 
| type | 데이터 소스의 유형. SERVICENOWV2을 데이터 소스 유형으로 지정합니다. | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| syncMode | 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| secretARN | ServiceNow에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "username": "user name",<br />    "password": "password"<br />}</pre> OAuth2 인증을 사용하는 경우 암호에는 다음 키가 있는 JSON 구조가 포함되어야 합니다.<pre>{<br />    "username": "user name",<br />    "password": "password",<br />    "clientId": "client id",<br />    "clientSecret": "client secret"         <br />}</pre>  | 
| 버전 | 현재 지원되는 템플릿의 버전. | 

### ServiceNow JSON 스키마
<a name="servicenow-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "hostUrl": {
              "type": "string",
              "pattern": "^(?!(^(https?|ftp|file):\/\/))[a-z0-9-]+(.service-now.com|.servicenowservices.com)$",
              "minLength": 1,
              "maxLength": 2048
            },
            "authType": {
              "type": "string",
              "enum": [
                "basicAuth",
                "OAuth2"
              ]
            },
            "servicenowInstanceVersion": {
              "type": "string",
              "enum": [
                "Tokyo",
                "Sandiego",
                "Rome",
                "Others"
                ]
            }
          },
          "required": [
            "hostUrl",
            "authType",
            "servicenowInstanceVersion"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "knowledgeArticle": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE",
                        "STRING_LIST"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "attachment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "LONG",
                        "DATE",
                        "STRING_LIST"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "serviceCatalog": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE",
                        "STRING_LIST"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "incident": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": [
                        "STRING",
                        "DATE",
                        "STRING_LIST"
                      ]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      }
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "maxFileSizeInMegaBytes": {
          "type": "string"
        },
        "isCrawlKnowledgeArticle": {
          "type": "boolean"
        },
        "isCrawlKnowledgeArticleAttachment": {
          "type": "boolean"
        },
        "includePublicArticlesOnly": {
          "type": "boolean"
        },
        "knowledgeArticleFilter": {
          "type": "string"
        },
        "incidentQueryFilter": {
          "type": "string"
        },
        "serviceCatalogQueryFilter": {
          "type": "string"
        },
        "isCrawlServiceCatalog": {
          "type": "boolean"
        },
        "isCrawlServiceCatalogAttachment": {
          "type": "boolean"
        },
        "isCrawlActiveServiceCatalog": {
          "type": "boolean"
        },
        "isCrawlInactiveServiceCatalog": {
          "type": "boolean"
        },
        "isCrawlIncident": {
          "type": "boolean"
        },
        "isCrawlIncidentAttachment": {
          "type": "boolean"
        },
        "isCrawlActiveIncident": {
          "type": "boolean"
        },
        "isCrawlInactiveIncident": {
          "type": "boolean"
        },
        "applyACLForKnowledgeArticle": {
          "type": "boolean"
        },
        "applyACLForServiceCatalog": {
          "type": "boolean"
        },
        "applyACLForIncident": {
          "type": "boolean"
        },
        "incidentStateType": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Open",
              "Open - Unassigned",
              "Resolved",
              "All"
            ]
          }
        },
        "knowledgeArticleTitleRegExp": {
          "type": "string"
        },
        "serviceCatalogTitleRegExp": {
          "type": "string"
        },
        "incidentTitleRegExp": {
          "type": "string"
        },
        "inclusionFileTypePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionFileTypePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionFileNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "exclusionFileNamePatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": []
    },
    "type": {
      "type": "string",
      "pattern": "SERVICENOWV2"
    },
    "enableIdentityCrawler": {
      "type": "boolean"
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL"
      ]
    },
    "secretArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "syncMode",
    "additionalProperties",
    "secretArn",
    "type"
  ]
}
```

## Slack 템플릿 스키마
<a name="ds-schema-slack"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 호스트 URL은 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 제공합니다. 또한 데이터 소스 유형으로 `SLACK`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Slack JSON 스키마](#slack-json)을(를) 참조하세요.

다음 표에서는 Slack JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| teamId | Slack 기본 페이지 URL에서 복사한 Slack 팀 ID입니다. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
| 모두 | Slack 콘텐츠의 속성 또는 필드 이름을 Amazon Kendra 인덱스 필드 이름에 매핑하는 객체 목록입니다. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| inclusionPatterns | Slack 데이터 소스에 특정 콘텐츠를 포함하는 정규 표현식 패턴 목록입니다. 패턴과 일치하는 콘텐츠는 인덱스에 포함됩니다. 패턴과 일치하지 않는 콘텐츠는 인덱스에서 제외됩니다. 포함 및 제외 패턴이 모두 일치하는 콘텐츠가 있는 경우 제외 패턴이 우선하며, 해당 콘텐츠는 인덱스에 포함되지 않습니다. | 
| exclusionPatterns | Slack 데이터 소스에서 특정 콘텐츠를 제외하는 정규 표현식 패턴 목록입니다. 패턴과 일치하는 콘텐츠는 인덱스에서 제외됩니다. 패턴과 일치하지 않는 콘텐츠가 인덱스에 포함됩니다. 포함 및 제외 패턴이 모두 일치하는 콘텐츠가 있는 경우 제외 패턴이 우선하며, 해당 콘텐츠는 인덱스에 포함되지 않습니다. | 
| crawlBotMessages | true 봇 메시지를 크롤링합니다. | 
| excludeArchived | true: 크롤링에서 아카이브된 메시지를 제외합니다. | 
| conversationType | 인덱싱하려는 대화의 유형(PUBLIC\$1CHANNEL, PRIVATE\$1CHANNEL, GROUP\$1MESSAGE, DIRECT\$1MESSAGE) | 
| channelFilter | private\$1channel 또는 public\$1channel을 인덱싱하려는 채널 유형입니다. | 
| sinceDate | Slack 커넥터가 특정 sinceDate 기반으로 콘텐츠를 크롤링하도록 sinceDate 파라미터를 구성하게 선택할 수 있습니다. | 
| lookBack | 마지막 커넥터 동기화 전 지정된 시간까지 Slack 커넥터가 업데이트되거나 삭제된 콘텐츠를 크롤링하도록 lookBack 파라미터를 구성하도록 선택할 수 있습니다. | 
| syncMode |  데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 다음 중에서 선택할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 
| type | 데이터 소스의 유형. SLACK을 데이터 소스 유형으로 지정합니다. | 
| enableIdentityCrawler | true는 Amazon Kendra의 자격 증명 크롤러를 사용하여 특정 문서에 액세스할 수 있는 사용자 및 그룹에 대한 자격 증명/보안 주체 정보를 동기화합니다. ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html](https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html) API를 사용하여 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다. | 
| secretArn |  에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다Slack. 비밀에는 다음 키가 있는 JSON 구조가 포함되어야 합니다. <pre>{<br />    "slackToken": "token"<br />}</pre>  | 
| 버전 | 현재 지원되는 이 템플릿의 버전입니다. | 

### Slack JSON 스키마
<a name="slack-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "teamId": {
              "type": "string"
            }
          },
          "required": ["teamId"]
        }
      }
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "All": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": [
                {
                  "type": "object",
                  "properties": {
                    "indexFieldName": {
                      "type": "string"
                    },
                    "indexFieldType": {
                      "type": "string",
                      "enum": ["STRING", "STRING_LIST", "DATE","LONG"]
                    },
                    "dataSourceFieldName": {
                      "type": "string"
                    },
                    "dateFieldFormat": {
                      "type": "string",
                      "pattern": "yyyy-MM-dd'T'HH:mm:ss'Z'"
                    }
                  },
                  "required": [
                    "indexFieldName",
                    "indexFieldType",
                    "dataSourceFieldName"
                  ]
                }
              ]
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      },
      "required": [
      ]
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "exclusionPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "inclusionPatterns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "crawlBotMessages": {
          "type": "boolean"
        },
        "excludeArchived": {
          "type": "boolean"
        },
        "conversationType": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "PUBLIC_CHANNEL",
              "PRIVATE_CHANNEL",
              "GROUP_MESSAGE",
              "DIRECT_MESSAGE"
            ]
          }
        },
        "channelFilter": {
            "type": "object",
            "properties": {
              "private_channel": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "public_channel": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
          }
        },
        "channelIdFilter": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sinceDate": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
            },
            {
              "type": "string",
              "pattern": ""
            }
          ]
        },
        "lookBack": {
          "type": "string",
          "pattern": "^[0-9]*$"
        }
      },
      "required": [
      ]
    },
    "syncMode": {
      "type": "string",
      "enum": [
        "FORCED_FULL_CRAWL",
        "FULL_CRAWL",
        "CHANGE_LOG"
      ]
    },
    "type" : {
      "type" : "string",
      "pattern": "SLACK"
    },
    "enableIdentityCrawler": {
      "type": "boolean"
    },
    "secretArn": {
      "type": "string"
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "syncMode",
    "additionalProperties",
    "secretArn",
    "type",
    "enableIdentityCrawler"
  ]
}
```

## Zendesk 템플릿 스키마
<a name="ds-schema-zendesk"></a>

데이터 소스 스키마를 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체의 일부로 포함하는 JSON을 포함합니다. 호스트 URL은 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 제공합니다. 또한 데이터 소스 유형으로 `ZENDESK`, 보안 인증 정보의 암호 및 기타 필수 구성을 지정합니다. 그런 다음 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 `TEMPLATE`을 `Type`으로 지정합니다.

이 개발자 안내서에 제공된 템플릿을 사용할 수 있습니다. [Zendesk JSON 스키마](#zendesk-json)을(를) 참조하세요.

다음 표에서는 Zendesk JSON 스키마의 파라미터를 설명합니다.


| 구성 | 설명 | 
| --- | --- | 
| connectionConfiguration | 데이터 소스의 엔드포인트의 구성 정보. | 
| repositoryEndpointMetadata | 데이터 소스의 엔드포인트 정보. | 
| hostURL | Zendesk 호스트 URL. 예: https://yoursubdomain.zendesk.com. | 
| repositoryConfigurations | 데이터 소스 콘텐츠의 구성 정보. 특정 유형의 콘텐츠 및 필드 매핑을 구성하는 경우를 예로 들 수 있습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | Amazon Kendra 인덱스 필드 이름에 Zendesk 티켓의 속성 또는 필드 이름을 매핑하는 객체의 목록. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. | 
| secretARN | Zendesk에 연결하는 데 필요한 키-값 페어가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 암호에는 호스트 URL, 클라이언트 ID, 클라이언트 암호, 사용자 이름 및 암호 키로 구성된 JSON 구조가 포함되어야 합니다. | 
| additionalProperties | 데이터 소스의 콘텐츠에 대한 추가 구성 옵션. | 
| organizationNameFilter | 특정 조직 내에 있는 티켓을 인덱싱하도록 선택할 수 있습니다. | 
| sinceDate | Zendesk 커넥터가 특정 sinceDate 기반으로 콘텐츠를 크롤링하도록 sinceDate 파라미터를 구성하도록 선택할 수 있습니다. | 
| inclusionPatterns | Zendesk 데이터 소스에서 특정 파일을 포함하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에 포함됩니다. 패턴과 일치하지 않는 파일은 인덱스에서 제외됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
| exclusionPatterns | Zendesk 데이터 소스에서 특정 파일을 제외하는 정규식 패턴 목록. 패턴과 일치하는 파일은 인덱스에서 제외됩니다. 패턴과 일치하지 않는 파일은 인덱스에 포함됩니다. 파일이 포함 및 제외 패턴과 모두 일치하는 경우 제외 패턴이 우선 적용되고 파일은 인덱스에 포함되지 않습니다. | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/ds-schemas.html)  | 'true'를 입력하여 이러한 유형의 콘텐츠를 크롤링합니다. | 
| type | ZENDESK을 데이터 소스 유형으로 지정합니다. | 
| useChangeLog | 'true'를 입력하여 Zendesk 변경 로그를 통해 인덱스에서 업데이트해야 하는 문서를 결정합니다. 변경 로그의 크기에 따라 Zendesk에서 문서를 스캔하는 것이 더 빠를 수 있습니다. Zendesk 데이터 소스를 인덱스와 처음으로 동기화하는 경우 모든 문서가 스캔됩니다. | 

### Zendesk JSON 스키마
<a name="zendesk-json"></a>

```
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "connectionConfiguration": {
      "type": "object",
      "properties": {
        "repositoryEndpointMetadata": {
          "type": "object",
          "properties": {
            "hostUrl": {
              "type": "string",
              "pattern": "https:.*"
            }
          },
          "required": [
            "hostUrl"
          ]
        }
      },
      "required": [
        "repositoryEndpointMetadata"
      ]
    },
    "repositoryConfigurations": {
      "type": "object",
      "properties": {
        "ticket": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": ["STRING", "STRING_LIST", "LONG", "DATE"]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"

                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "ticketComment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": ["STRING", "STRING_LIST", "LONG", "DATE"]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"

                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "ticketCommentAttachment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": ["STRING", "STRING_LIST", "LONG", "DATE"]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "article": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": ["STRING", "STRING_LIST", "LONG", "DATE"]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "communityPostComment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": ["STRING", "STRING_LIST", "LONG", "DATE"]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "articleComment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": ["STRING", "STRING_LIST", "LONG", "DATE"]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "articleAttachment": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": ["STRING", "STRING_LIST", "LONG", "DATE"]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        },
        "communityTopic": {
          "type": "object",
          "properties": {
            "fieldMappings": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "indexFieldName": {
                        "type": "string"
                      },
                      "indexFieldType": {
                        "type": "string",
                        "enum": ["STRING", "STRING_LIST", "LONG", "DATE"]
                      },
                      "dataSourceFieldName": {
                        "type": "string"
                      },
                      "dateFieldFormat": {
                        "type": "string",
                        "pattern": "dd-MM-yyyy HH:mm:ss"
                      }
                    },
                    "required": [
                      "indexFieldName",
                      "indexFieldType",
                      "dataSourceFieldName"
                    ]
                  }
                ]
              }
            }
          },
          "required": [
            "fieldMappings"
          ]
        }
      }
    },
    "secretArn": {
      "type": "string",
      "minLength": 20,
      "maxLength": 2048
    },
    "additionalProperties": {
      "type": "object",
      "properties": {
        "organizationNameFilter": {
          "type": "array"
        },
        "sinceDate": {
          "type": "string",
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$"
        },
        "inclusionPatterns": {
          "type": "array"
        },
        "exclusionPatterns": {
          "type": "array"
        },
        "isCrawTicket": {
          "type": "string"
        },
        "isCrawTicketComment": {
          "type": "string"
        },
        "isCrawTicketCommentAttachment": {
          "type": "string"
        },
        "isCrawlArticle": {
          "type": "string"
        },
        "isCrawlArticleAttachment": {
          "type": "string"
        },
        "isCrawlArticleComment": {
          "type": "string"
        },
        "isCrawlCommunityTopic": {
          "type": "string"
        },
        "isCrawlCommunityPost": {
          "type": "string"
        },
        "isCrawlCommunityPostComment": {
          "type": "string"
        }
      }
    },
    "type": {
      "type": "string",
      "pattern": "ZENDESK"
    },
    "useChangeLog": {
      "type": "string",
      "enum": ["true", "false"]
    }
  },
  "version": {
    "type": "string",
    "anyOf": [
      {
        "pattern": "1.0.0"
      }
    ]
  },
  "additionalProperties": false,
  "required": [
    "connectionConfiguration",
    "repositoryConfigurations",
    "additionalProperties",
    "useChangeLog",
    "secretArn",
    "type"
  ]
}
```

# Adobe Experience Manager
<a name="data-source-aem"></a>

**참고**  
Adobe Experience Manager 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만, 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Adobe Experience Manager는 웹 사이트 또는 모바일 앱 콘텐츠를 만드는 데 사용되는 콘텐츠 관리 시스템입니다. Amazon Kendra를 사용하여 페이지 Adobe Experience Manager 및 콘텐츠 자산에 연결하고 인덱싱할 수 있습니다.

Amazon Kendra는 Adobe Experience Manager (AEM)를 클라우드 서비스 작성자 인스턴스로 지원하고 Adobe Experience Manager 온프레미스 작성자 및 게시 인스턴스를 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 또는 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 Adobe Experience Manager 데이터 소스에 Amazon Kendra연결할 수 있습니다.

Amazon KendraAdobe Experience Manager 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-aem)
+ [사전 조건](#prerequisites-aem)
+ [연결 지침](#data-source-procedure-aem)

## 지원되는 기능
<a name="supported-features-aem"></a>

Adobe Experience Manager 데이터 소스 커넥터에서 지원하는 기능은 다음과 같습니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ OAuth 2.0 및 기본 인증
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-aem"></a>

Amazon Kendra를 사용하여 Adobe Experience Manager 데이터 소스를 인덱싱하려면 먼저 Adobe Experience Manager 및 AWS계정을 변경합니다.

**Adobe Experience Manager에서 다음 사항을 갖추었는지 확인하세요**.
+ 관리자 권한이 있는 계정 또는 관리자 사용자에 액세스합니다.
+ Adobe Experience Manager 호스트 URL을 복사했습니다.
**참고**  
(온프레미스/서버)는에 포함된 엔드포인트 정보가 데이터 소스 구성 세부 정보에 지정된 엔드포인트 정보와 AWS Secrets Manager동일한지 Amazon Kendra확인합니다. 이렇게 하면 사용자가 작업을 수행할 권한이 없지만 구성된 보안 암호에 액세스하여 작업을 수행하는 데 Amazon Kendra를 프록시로 사용하는 보안 문제인 [혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)를 방지하는 데 도움이 됩니다. 나중에 엔드포인트 정보를 변경하는 경우 새 보안 암호를 생성하여 이 정보를 동기화해야 합니다.
+ 관리자 사용자 이름과 암호의 기본 인증 보안 인증 정보를 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **선택 사항**: 클라우드 서비스형 Adobe Experience Manager(AEM) 또는 AEM 온프레미스에서 OAuth 2.0 자격 증명을 구성했습니다. AEM온프레미스를 사용하는 경우 보안 인증 정보에는 클라이언트 ID, 클라이언트 암호 및 프라이빗 키가 포함됩니다. 클라우드 서비스형 AEM을 사용하는 경우 보안 인증 정보에는 클라이언트 ID, 클라이언트 보안 암호, 프라이빗 키, 조직 ID, 기술 계정 ID 및 Adobe Identity Management System(IMS) 호스트가 포함됩니다. 클라우드 서비스형 AEM의 보안 인증 정보를 생성하는 방법에 대한 자세한 내용은 [Adobe Experience Manager 설명서](https://experienceleague.adobe.com/docs/experience-manager-learn/getting-started-with-aem-headless/authentication/service-credentials.html)를 참조하세요. AEM 온프레미스의 경우 Adobe Granite OAuth 2.0 서버 구현(com.adobe.granite.oauth.server)은 AEM의 OAuth 2.0 서버 기능에 대한 지원을 제공합니다.
+ Adobe Experience Manager 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Adobe Experience Manager 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Adobe Experience Manager 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-aem"></a>

Adobe Experience Manager 데이터 소스Amazon Kendra에 연결하려면가 Adobe Experience Manager 데이터에 액세스할 Amazon Kendra수 있도록 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 아직에 Adobe Experience Manager 대해를 구성하지 않은 경우 단원을 Amazon Kendra참조하십시오[사전 조건](#prerequisites-aem).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 Adobe Experience Manager** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Adobe Experience Manager 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Adobe Experience Manager 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스** - **AEM 온프레미스** 또는 **클라우드 서비스형 AEM**을 선택합니다.

      Adobe Experience Manager 호스트 URL을 입력합니다. 예를 들어 AEM 온프레미스를 사용하는 경우 호스트 이름과 포트를 포함해야 합니다. *https://hostname:port* 클라우드 서비스형 AEM을 사용하는 경우 작성자 URL을 사용할 수 있습니다. *https://author-xxxxxx-xxxxxxx.adobeaemcloud.com* 

   1. **SSL 인증서 위치** - Amazon S3 버킷에 저장된 SSL 인증서의 경로를 입력합니다. 이를 사용하여 보안 SSL 연결로 AEM 온프레미스에 연결합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **인증** - **기본 인증** 또는 **OAuth 2.0 인증**을 선택합니다. 그런 다음 기존 AWS Secrets Manager보안 암호를 선택하거나 자격 Adobe Experience Manager 증명을 저장할 새 보안 암호를 생성합니다. 새 보안 암호를 생성하도록 선택하면 AWS Secrets Manager보안 암호 창이 열립니다.

      **기본 인증**을 선택한 경우 암호 이름, Adobe Experience Manager 사이트 사용자 이름 및 암호를 입력합니다. 사용자는 관리자 권한이 있거나 관리자 사용자여야 합니다.

      **OAuth 2.0 인증**을 선택하고 AEM 온프레미스를 사용하는 경우 암호, 클라이언트 ID, 클라이언트 보안 암호 및 프라이빗 키의 이름을 입력합니다. 클라우드 서비스형 AEM을 사용하는 경우 보안 암호 이름, 클라이언트 ID, 클라이언트 보안 암호, 프라이빗 키, 조직 ID, 기술 계정 ID 및 Adobe Identity Management System(IMS) 호스트를 입력합니다.

      보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위** - 특정 콘텐츠 유형, 페이지 구성 요소 및 루트 경로를 크롤링하기 위한 제한을 설정하고 정규식 패턴을 사용하여 콘텐츠를 필터링합니다.

      1. **콘텐츠 유형** - 페이지나 자산만 크롤링할지, 아니면 둘 다 크롤링할지 선택합니다.

      1. (선택 사항) **추가 구성** - 다음 설정을 구성합니다.
         + **페이지 구성 요소** - 페이지 구성 요소의 특정 이름입니다. 페이지 구성 요소는 Adobe Experience Manager 템플릿 편집기와 함께 작동하도록 설계된 확장 가능한 페이지 구성 요소로, 템플릿 편집기로 페이지 머리글/바닥글 및 구조 구성 요소를 조합할 수 있습니다.
         + **컨텐츠 조각 변형** - 컨텐츠 조각 변형의 특정 이름. 컨텐츠 조각을 사용하면 Adobe Experience Manager에서 페이지에 구애받지 않는 컨텐츠를 설계, 생성, 큐레이션 및 게시할 수 있습니다. 이를 통해 여러 위치/여러 채널에서 바로 사용할 수 있도록 콘텐츠를 준비할 수 있습니다.
         + **루트 경로** - 특정 콘텐츠의 루트 경로입니다.
         + **Regex 패턴** - 특정 페이지 및 자산을 포함하거나 제외하기 위한 정규 표현식 패턴입니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **시간대 ID** - AEM 온프레미스를 사용하고 서버의 시간대가 Amazon Kendra AEM 커넥터 또는 인덱스의 시간대와 다른 경우 AEM 커넥터 또는 인덱스에 맞춰 서버 시간대를 지정할 수 있습니다. AEM 온프레미스의 기본 시간대는 Amazon Kendra AEM 커넥터 또는 인덱스의 시간대입니다. 클라우드 서비스형 AEM의 기본 시간대는 그리니치 표준시입니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다. 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 Adobe Experience Manager**

[https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-aem-schema)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `AEM`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **AEM 호스트 URL** - Adobe Experience Manager 호스트 URL을 지정합니다. 예를 들어 AEM 온프레미스를 사용하는 경우 호스트 이름과 포트를 포함해야 합니다. *https://hostname:port* 클라우드 서비스형 AEM을 사용하는 경우 작성자 URL을 사용할 수 있습니다. *https://author-xxxxxx-xxxxxxx.adobeaemcloud.com* 
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **인증 유형** - 사용하려는 인증 유형(`Basic` 또는 `OAuth2`)을 지정합니다.
+ **AEM 유형** - 사용할 Adobe Experience Manager 유형(`CLOUD` 또는 `ON_PREMISE`)을 지정합니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - AEM 온프레미스 또는 클라우드에 기본 인증을 사용하려는 경우 사용자 이름 및 암호의 인증 보안 인증 정보를 저장하는 보안 암호를 제공합니다. AWS Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "aemUrl": "Adobe Experience Manager On-Premise host URL",
      "username": "user name with admin permissions",
      "password": "password with admin permissions"
  }
  ```

  AEM 온프레미스에 OAuth 2.0 인증을 사용하려는 경우 보안 암호는 다음 키를 사용하여 JSON 구조에 저장됩니다.

  ```
  {
      "aemUrl": "Adobe Experience Manager host URL",
      "clientId": "client ID",
      "clientSecret": "client secret",
      "privateKey": "private key"
  }
  ```

  클라우드 서비스형 AEM에 OAuth 2.0 인증을 사용하려는 경우 보안 암호는 다음 키를 사용하여 JSON 구조에 저장됩니다.

  ```
  {
      "clientId": "client ID",
      "clientSecret": "client secret",
      "privateKey": "private key",
      "orgId": "organization ID",
      "technicalAccountId": "technical account ID",
      "imsHost": "Adobe Identity Management System (IMS) host"
  }
  ```
+ **IAM역할** - `CreateDataSource`를 호출하여 Secrets Manager보안 암호에 액세스할 수 있는 권한을 IAM역할에 제공하고 Adobe Experience Manager 커넥터 및에 필요한 퍼블릭 APIs를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Adobe Experience Manager 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+ **시간대 ID** - AEM 온프레미스를 사용하고 서버의 시간대가 Amazon KendraAEM 커넥터 또는 인덱스의 시간대와 다른 경우 AEM 커넥터 또는 인덱스에 맞게 서버 시간대를 지정할 수 있습니다.

  AEM 온프레미스의 기본 시간대는 Amazon KendraAEM 커넥터 또는 인덱스의 시간대입니다. 클라우드 서비스형 AEM의 기본 시간대는 그리니치 표준시입니다.

  지원되는 시간대 ID에 대한 자세한 내용은 [Adobe Experience Manager JSON 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#aem-json)를 참조하세요.
+ **포함 및 제외 필터** - 특정 페이지 및 자산을 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+  **필드 매핑** - Adobe Experience Manager 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Adobe Experience Manager 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-aem-schema)를 참조하세요.

------

# Alfresco
<a name="data-source-alfresco"></a>

**참고**  
Alfresco 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만, 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Alfresco는 고객이 콘텐츠를 저장하고 관리할 수 있도록 지원하는 콘텐츠 관리 서비스입니다. Amazon Kendra를 사용하여 Alfresco 문서 라이브러리, Wiki 및 블로그를 인덱싱할 수 있습니다.

Amazon Kendra는 Alfresco 온프레미스 및 Alfresco 클라우드(Platform as a Service)를 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 또는 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 Alfresco 데이터 소스에 Amazon Kendra연결할 수 있습니다.

Amazon KendraAlfresco 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-alfresco)
+ [사전 조건](#prerequisites-alfresco)
+ [연결 지침](#data-source-procedure-alfresco)
+ [자세히 알아보기](#alfresco-learn-more)

## 지원되는 기능
<a name="supported-features-alfresco"></a>

Amazon KendraAlfresco 데이터 소스 커넥터에서 지원하는 기능은 다음과 같습니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ OAuth 2.0 및 기본 인증
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-alfresco"></a>

Amazon Kendra를 사용하여 Alfresco 데이터 소스를 인덱싱하려면 먼저 Alfresco 및에서 이러한 변경을 수행합니다AWS 계정.

**Alfresco에서 다음 사항을 갖추었는지 확인하세요**.
+ Alfresco 리포지토리 URL과 웹 애플리케이션 URL을 복사했습니다. 특정 Alfresco 사이트만 인덱싱하려는 경우에는 사이트 ID도 복사하세요.
+ 최소한 읽기 권한이 있는 사용자 이름과 암호가 포함된 Alfresco 보안 인증 정보를 기록해 두었습니다. OAuth 2.0 인증을 사용하려면 Alfresco 관리자 그룹에 사용자를 추가해야 합니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **선택 사항**: Alfresco에서 OAuth 2.0 자격 증명을 구성했습니다. 보안 인증 정보에는 클라이언트 ID, 클라이언트 보안 암호 및 토큰 URL이 포함됩니다. Alfresco 온프레미스용 클라이언트를 구성하는 방법에 대한 자세한 내용은 [Alfresco 설명서](https://docs.alfresco.com/identity-service/latest/tutorial/sso/saml/)를 참조하세요. Alfresco 클라우드(PaaS)를 사용하는 경우 [Hyland 지원 팀](https://community.hyland.com/)에 문의하여 Alfresco OAuth 2.0 인증을 요청해야 합니다.
+ Alfresco 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Alfresco 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Alfresco 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-alfresco"></a>

Alfresco 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Alfresco 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 Alfresco를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-alfresco).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 Alfresco**

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Alfresco 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Alfresco 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **Alfresco 유형** - Alfresco 온프레미스/서버를 사용할지 아니면 Alfresco 클라우드(서비스형 플랫폼)를 사용할지 선택합니다.

   1. **Alfresco 리포지토리 URL** - 알프레스코 리포지토리 URL을 입력합니다. 예를 들어 Alfresco Cloud(PaaS)를 사용하는 경우 리포지토리 URL은 *https://company.alfrescocloud.com*과 같을 수 있습니다. 또는 Alfresco 온프레미스를 사용하는 경우 리포지토리 URL은 *https://company-alfresco-instance.company-domain.suffix:port*와 같을 수 있습니다.

   1. **Alfresco 사용자 애플리케이션. URL** - Alfresco 사용자 인터페이스 URL을 입력합니다. 리포지토리 URL은 Alfresco 관리자로부터 받을 수 있습니다. 예를 들어 사용자 인터페이스 URL은 *https://example.com*과 같을 수 있습니다.

   1. **SSL 인증서 위치** - Amazon S3버킷에 저장된 SSL 인증서의 경로를 입력합니다. 이를 사용하여 보안 SSL 연결로 Alfresco 온프레미스에 연결합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **인증** - **기본 인증** 또는 **OAuth 2.0 인증**을 선택합니다. 그런 다음 기존 Secrets Manager 보안 암호를 선택하거나 Alfresco 보안 인증 정보를 저장할 새 보안 암호를 생성합니다. 새 보안 암호를 생성하도록 선택하면 AWS Secrets Manager보안 암호 창이 열립니다.

      **기본 인증**을 선택한 경우 암호 이름, Alfresco 사용자 이름 및 암호를 입력합니다.

      **OAuth 2.0 인증**을 선택하고 보안 암호의 이름, 클라이언트 ID, 클라이언트 보안 암호 및 토큰 URL을 입력합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위** - 특정 콘텐츠를 크롤링하기 위한 제한을 설정하고 정규식 패턴을 사용하여 콘텐츠를 필터링합니다.

   1. 

      1. **콘텐츠**—Alfresco에서 '속성'으로 표시된 콘텐츠, 특정 Alfresco 사이트 내의 콘텐츠 또는 모든 Alfresco 사이트의 콘텐츠를 크롤링할지 여부를 선택합니다.

      1. (선택 사항) **추가 구성** - 다음 설정을 구성합니다.
         + **설명 포함** - Alfresco 문서 라이브러리 및 블로그에 설명을 포함하도록 선택합니다.
         + **정규식 패턴** - 특정 페이지 및 자산을 포함하거나 제외하기 위한 정규 표현식 패턴입니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1. 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 Alfresco**

[https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-alfresco-schema)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `ALFRESCO`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **Alfresco 사이트 ID** - Alfresco 사이트 ID를 지정합니다.
+ **Alfresco 리포지토리 URL** - Alfresco 리포지토리 URL을 지정합니다. 리포지토리 URL은 Alfresco 관리자로부터 받을 수 있습니다. 예를 들어 Alfresco Cloud(PaaS)를 사용하는 경우 리포지토리 URL은 *https://company.alfrescocloud.com*과 같을 수 있습니다. 또는 Alfresco 온프레미스를 사용하는 경우 리포지토리 URL은 *https://company-alfresco-instance.company-domain.suffix:port*와 같을 수 있습니다.
+ **Alfresco 웹 애플리케이션 URL** - Alfresco 사용자 인터페이스 URL을 지정합니다. 리포지토리 URL은 Alfresco 관리자로부터 받을 수 있습니다. 예를 들어 사용자 인터페이스 URL은 *https://example.com*과 같을 수 있습니다.
+ **인증 유형** - 사용하려는 인증 유형(`OAuth2` 또는 `Basic`)을 지정합니다.
+ **Alfresco 유형** - `PAAS`(클라우드/서비스형 플랫폼) 또는 `ON_PREM`(온프레미스) 중에서 사용할 Alfresco 유형을 지정합니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - 기본 인증을 사용하려는 경우 사용자 이름 및 암호의 보안 인증 정보를 저장하는 보안 암호를 제공합니다. AWS Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "username": "user name",
      "password": "password"
  }
  ```

  OAuth 2.0 인증을 사용하려는 경우 보안 암호는 다음 키를 사용하여 JSON 구조에 저장됩니다.

  ```
  {
      "clientId": "client ID",
      "clientSecret": "client secret",
      "tokenUrl": "token URL"
  }
  ```
+ **IAM역할** - `CreateDataSource`를 호출하여 Secrets Manager보안 암호에 액세스하고 Alfresco 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [ Alfresco 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+ **콘텐츠 유형** - Alfresco에서 '속성'으로 표시된 콘텐츠, 특정 Alfresco 사이트 내의 콘텐츠 또는 모든 Alfresco 사이트의 콘텐츠 등, 크롤링하려는 콘텐츠 유형입니다. 특정 '속성' 콘텐츠를 나열할 수도 있습니다.
+ **포함 및 제외 필터** - 특정 파일을 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+  **필드 매핑** - Alfresco 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Alfresco 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-alfresco-schema)를 참조하세요.

------

## 자세히 알아보기
<a name="alfresco-learn-more"></a>

Alfresco 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [를 사용하여 Alfresco 콘텐츠를 지능적으로 검색Amazon Kendra](https://aws.amazon.com/blogs/machine-learning/intelligently-search-alfresco-content-using-amazon-kendra/)

# Aurora(MySQL)
<a name="data-source-aurora-mysql"></a>

**참고**  
Aurora(MySQL) 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Aurora는 클라우드용으로 구축된 관계형 데이터베이스 관리 시스템(RDBMS)입니다. Aurora사용자인 경우를 사용하여 Aurora(MySQL) 데이터 소스를 인덱싱Amazon Kendra할 수 있습니다. 데이터 소스 커넥터는Amazon KendraAurora(MySQL) AuroraMySQL 3 및 AuroraServerless MySQL 8.0을 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 Aurora(MySQL) 데이터 소스에 Amazon Kendra연결할 수 있습니다.

데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요Amazon KendraAurora(MySQL)[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-aurora-mysql)
+ [사전 조건](#prerequisites-aurora-mysql)
+ [연결 지침](#data-source-procedure-aurora-mysql)
+ [참고](#aurora-mysql-notes)

## 지원되는 기능
<a name="supported-features-aurora-mysql"></a>
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-aurora-mysql"></a>

Amazon Kendra를 사용하여 Aurora(MySQL) 데이터 소스를 인덱싱하려면 먼저 Aurora(MySQL) 및 AWS계정을 변경합니다.

**Aurora(MySQL)에서 다음 사항을 갖추었는지 확인하세요**.
+ 데이터베이스 사용자 이름 및 암호를 기록했습니다.
**중요**  
가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 데이터베이스 호스트 URL, 포트, 인스턴스를 복사했습니다. Amazon RDS콘솔에서이 정보를 찾을 수 있습니다.
+ Aurora(MySQL) 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Aurora(MySQL) 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Aurora(MySQL) 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-aurora-mysql"></a>

Aurora(MySQL) 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Aurora(MySQL) 자격 증명의 세부 정보를 제공해야 합니다. 아직에 Aurora(MySQL) 대해를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-aurora-mysql).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 Aurora(MySQL)** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Aurora(MySQL) 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Aurora(MySQL) 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 다음 정보를 입력합니다.

   1.  **호스트** - 데이터베이스 호스트 URL(예: `http://instance URL.region.rds.amazonaws.com`)을 입력합니다.

   1.  **포트** - 데이터베이스 포트(예: `5432`)를 입력합니다.

   1.  **인스턴스** - 데이터베이스 인스턴스를 입력합니다.

   1. **인증**에서 - 다음 정보를 입력합니다.

      1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 Aurora(MySQL) 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'Amazon Kendra-Aurora(MySQL)-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스에서 복사한 보안 인증 값을 입력합니다.

        1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
      + **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. SQL 쿼리는 32KB 미만이어야 하며 세미콜론(;)을 포함하지 않아야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
      + **프라이머리 키 열** - 데이터베이스 테이블의 프라이머리 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다.
      + **제목 열** - 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다.
      + **본문 열** - 데이터베이스 테이블에 있는 문서 본문 열의 이름을 입력합니다.

   1. **추가 구성 - *선택 사항***에서 모든 파일을 동기화하는 대신 다음 옵션 중 하나를 선택하여 특정 콘텐츠를 동기화합니다.
      + 열 **변경 감지 -** 콘텐츠 변경을 감지하는 데 Amazon Kendra사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱Amazon Kendra합니다.
      + **사용자 ID 열** - 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다.
      + **그룹 열** - 콘텐츠에 대한 액세스를 허용할 그룹이 포함된 열의 이름을 입력합니다.
      + **소스 URL 열** - 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다.
      + **타임스탬프 열** - 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다.
      + **시간대 열** - 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다.
      + **타임스탬프 형식** - 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 생성된 기본 데이터 소스 필드인 **문서 IDs**, **문서 제목** 및 **소스 URLs** 중에서 Amazon Kendra인덱스에 매핑하려는 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 Aurora(MySQL)**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `JDBC`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **데이터베이스 유형** - 데이터베이스 유형을 `mySql`로 지정해야 합니다.
+ **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 지정합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Aurora(MySQL) 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "user name": "database user name",
      "password": "password"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** -를 호출`CreateDataSource`하여 Secrets Manager보안 암호에 액세스하고 Aurora(MySQL) 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하는 `RoleArn` 시기를 지정합니다Amazon Kendra. 자세한 내용은 [Aurora(MySQL) 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 사용자 ID, 그룹, 소스 URL, 타임스탬프, 시간대를 사용하여 특정 콘텐츠를 포함할지 여부를 지정할 수 있습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - Aurora(MySQL) 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 해당 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Aurora (MySQL) 템플릿 스키마](ds-schemas.md#ds-aurora-mysql-schema)를 참조하세요.

------

## 참고
<a name="aurora-mysql-notes"></a>
+ 가 업데이트된 콘텐츠를 Amazon Kendra확인할 때 삭제된 데이터베이스 행은 추적되지 않습니다.
+ 데이터베이스 행의 필드 이름 및 값 크기는 400KB를 초과할 수 없습니다.
+ 데이터베이스 데이터 소스에 많은 양의 데이터가 있고 첫 번째 동기화 후 모든 데이터베이스 콘텐츠를 인덱싱하지 않으Amazon Kendra려는 경우 새 문서, 수정된 문서 또는 삭제된 문서만 동기화하도록 선택할 수 있습니다.
+ 가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 가장 좋은 방법은 민감한 데이터나 개인 식별 정보(PII)가 포함된 테이블을 추가하지 않는 것입니다.

# Aurora(PostgreSQL)
<a name="data-source-aurora-postgresql"></a>

**참고**  
Aurora(PostgreSQL) 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Aurora는 클라우드용으로 구축된 관계형 데이터베이스 관리 시스템(RDBMS)입니다. Aurora사용자인 경우 Amazon Kendra를 사용하여 Aurora(PostgreSQL) 데이터 소스를 인덱싱할 수 있습니다. 데이터 소스 커넥터는Amazon KendraAurora(PostgreSQL) Aurora PostgreSQL 1을 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 Aurora(PostgreSQL) 데이터 소스에 Amazon Kendra연결할 수 있습니다.

데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요Amazon KendraAurora(PostgreSQL)[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-aurora-postgresql)
+ [사전 조건](#prerequisites-aurora-postgresql)
+ [연결 지침](#data-source-procedure-aurora-postgresql)
+ [참고](#aurora-postgresql-notes)

## 지원되는 기능
<a name="supported-features-aurora-postgresql"></a>
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-aurora-postgresql"></a>

Amazon Kendra를 사용하여 Aurora(PostgreSQL) 데이터 소스를 인덱싱하려면 먼저 Aurora(PostgreSQL) 및 AWS계정을 변경합니다.

**Aurora(PostgreSQL)에서 다음 사항을 갖추었는지 확인하세요**.
+ 데이터베이스 사용자 이름 및 암호를 기록했습니다.
**중요**  
가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 데이터베이스 호스트 URL, 포트, 인스턴스를 복사했습니다.
+ Aurora(PostgreSQL) 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Aurora(PostgreSQL) 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Aurora(PostgreSQL) 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-aurora-postgresql"></a>

Aurora(PostgreSQL) 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Aurora(PostgreSQL) 자격 증명의 세부 정보를 제공해야 합니다. 아직에 Aurora(PostgreSQL) 대해를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-aurora-postgresql).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 Aurora(PostgreSQL)** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Aurora(PostgreSQL) 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Aurora(PostgreSQL) 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 다음 정보를 입력합니다.

   1.  **호스트** - 데이터베이스 호스트 URL(예: `http://instance URL.region.rds.amazonaws.com`)을 입력합니다.

   1.  **포트** - 데이터베이스 포트(예: `5432`)를 입력합니다.

   1.  **인스턴스** - 데이터베이스 인스턴스(예: `postgres`)를 입력합니다.

   1. **SSL 인증서 위치 활성화** - SSL 인증서 파일의 Amazon S3경로를 입력하도록 선택합니다.

   1. **인증**에서 - 다음 정보를 입력합니다.

      1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 Aurora(PostgreSQL) 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'Amazon Kendra-Aurora(PostgreSQL)-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스에서 복사한 보안 인증 값을 입력합니다.

        1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
      + **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. SQL 쿼리는 32KB 미만이어야 하며 세미콜론(;)을 포함하지 않아야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
      + **프라이머리 키 열** - 데이터베이스 테이블의 프라이머리 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다.
      + **제목 열** - 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다.
      + **본문 열** - 데이터베이스 테이블에 있는 문서 본문 열의 이름을 입력합니다.

   1. **추가 구성 - *선택 사항***에서 모든 파일을 동기화하는 대신 다음 옵션 중 하나를 선택하여 특정 콘텐츠를 동기화합니다.
      + 열 **변경 감지 -** 콘텐츠 변경을 감지하는 데 Amazon Kendra사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱Amazon Kendra합니다.
      + **사용자 ID 열** - 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다.
      + **그룹 열** - 콘텐츠에 대한 액세스를 허용할 그룹이 포함된 열의 이름을 입력합니다.
      + **소스 URL 열** - 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다.
      + **타임스탬프 열** - 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다.
      + **시간대 열** - 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다.
      + **타임스탬프 형식** - 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 생성된 기본 데이터 소스 필드인 **문서 IDs**, **문서 제목** 및 **소스 URLs** 중에서 Amazon Kendra인덱스에 매핑하려는 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 Aurora(PostgreSQL)**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `JDBC`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **데이터베이스 유형** - 데이터베이스 유형을 `postgresql`로 지정해야 합니다.
+ **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 지정합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Aurora(PostgreSQL) 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "user name": "database user name",
      "password": "password"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Aurora(PostgreSQL) 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Aurora(PostgreSQL) 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 사용자 ID, 그룹, 소스 URL, 타임스탬프, 시간대를 사용하여 특정 콘텐츠를 포함할지 여부를 지정할 수 있습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - Aurora(PostgreSQL) 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 해당 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Aurora (PostgreSQL) 템플릿 스키마](ds-schemas.md#ds-aurora-postgresql-schema)를 참조하세요.

------

## 참고
<a name="aurora-postgresql-notes"></a>
+ 가 업데이트된 콘텐츠를 Amazon Kendra확인할 때 삭제된 데이터베이스 행은 추적되지 않습니다.
+ 데이터베이스 행의 필드 이름 및 값 크기는 400KB를 초과할 수 없습니다.
+ 데이터베이스 데이터 소스에 많은 양의 데이터가 있고 첫 번째 동기화 후 모든 데이터베이스 콘텐츠를 인덱싱하지 않으Amazon Kendra려는 경우 새 문서, 수정된 문서 또는 삭제된 문서만 동기화하도록 선택할 수 있습니다.
+ 가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 가장 좋은 방법은 민감한 데이터나 개인 식별 정보(PII)가 포함된 테이블을 추가하지 않는 것입니다.

# Amazon FSx(Windows)
<a name="data-source-fsx"></a>

Amazon FSx(Windows)는 공유 스토리지 기능을 제공하는 완전 관리형 클라우드 기반 파일 서버 시스템입니다. Amazon FSx(Windows) 사용자인 경우를 사용하여Amazon Kendra Amazon FSx(Windows) 데이터 소스를 인덱싱할 수 있습니다.

**참고**  
Amazon Kendra는 이제 업그레이드된Amazon FSx(Windows) 커넥터를 지원합니다.  
콘솔이 자동으로 업그레이드되었습니다. 콘솔에서 생성하는 모든 새 커넥터는 업그레이드된 아키텍처를 사용합니다. API를 사용하는 경우 이제 `FSxConfiguration` 객체 대신 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체를 사용하여 커넥터를 구성해야 합니다.  
이전 콘솔 및 API 아키텍처를 사용하여 구성된 커넥터는 구성된 대로 계속 작동합니다. 하지만 편집하거나 업데이트할 수는 없습니다. 커넥터 구성을 편집하거나 업데이트하려면 새 커넥터를 생성해야 합니다.  
커넥터 워크플로를 업그레이드된 버전으로 마이그레이션하는 것이 좋습니다. 이전 아키텍처를 사용하여 구성된 커넥터에 대한 지원은 2024년 6월에 종료될 예정입니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 또는 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) APIAmazon Kendra를 사용하여 Amazon FSx(Windows) 데이터 소스에 연결할 수 있습니다.

Amazon KendraAmazon FSx(Windows) 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-fsx)
+ [사전 조건](#prerequisites-fsx)
+ [연결 지침](#data-source-procedure-fsx)
+ [자세히 알아보기](#fsx-learn-more)

## 지원되는 기능
<a name="supported-features-fsx"></a>

Amazon KendraAmazon FSx(Windows) 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 사용자 ID 크롤링
+ 포함 및 제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-fsx"></a>

Amazon Kendra를 사용하여 Amazon FSx(Windows) 데이터 소스를 인덱싱하려면 먼저 Amazon FSx(Windows) 및의 세부 정보를 확인합니다AWS 계정.

**Amazon FSx(Windows)의 경우 다음이 있는지 확인합니다**.
+ 읽기 및 탑재 권한으로 Amazon FSx(Windows)를 설정합니다.
+ 파일 시스템 ID를 기록했습니다. 파일 시스템 ID는 Amazon FSx(Windows) 콘솔의 파일 시스템 대시보드에서 찾을 수 있습니다.
+ Amazon FSx(Windows) 파일 시스템이 있는 Amazon VPC를 사용하여 가상 프라이빗 클라우드를 구성했습니다.
+ Active Directory 사용자 계정에 대한 Amazon FSx(Windows) 인증 자격 증명을 기록했습니다. 여기에는 DNS 도메인 이름(예: *user@corp.example.com*)과 암호가 포함된 Active Directory 사용자 이름이 포함됩니다.
**참고**  
커넥터가 작동하는 데 필요한 자격 증명만 사용합니다. 도메인 관리자와 같은 권한 있는 자격 증명을 사용하지 마세요.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ 각 문서가 Amazon FSx(Windows) 및 동일한 인덱스에 사용할 다른 데이터 소스에서 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Amazon FSx(Windows) 인증 자격 증명을 AWS Secrets Manager보안 암호에 저장하고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Amazon FSx(Windows) 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-fsx"></a>

Amazon FSx(Windows) 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Amazon FSx(Windows) 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 아직에 대해 Amazon FSx(Windows)를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-fsx).

------
#### [ Console ]

**Amazon FSx(Windows) 파일 시스템에 Amazon Kendra연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Amazon FSx(Windows) 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Amazon FSx(Windows) 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **Amazon FSx(Windows) 파일 시스템 ID** - 드롭다운에서 Amazon FSx(Windows)에서 가져온 기존 파일 시스템 ID를 선택합니다. 또는 [Amazon FSx(Windows) 파일 시스템](https://console.aws.amazon.com/fsx/)을 생성합니다. 파일 시스템 ID는 Amazon FSx(Windows) 콘솔의 파일 시스템 대시보드에서 찾을 수 있습니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **인증** - 기존 AWS Secrets Manager보안 암호를 선택하거나 파일 시스템 자격 증명을 저장할 새 보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      사용자 이름과 암호의 인증 자격 증명을 저장하는 보안 암호를 제공합니다. 사용자 이름에는 DNS 도메인 이름이 포함되어야 합니다. 예: *user@corp.example.com*.

      보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - Amazon FSx(Windows)가 Amazon VPC있는를 선택해야 합니다. VPC 서브넷 및 보안 그룹이 포함됩니다. [구성을 참조하세요Amazon VPC](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html).

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위, 정규식 패턴** - 특정 파일을 포함하거나 제외하기 위한 정규 표현식 패턴을 추가합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정** - **빈도**에서 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 인덱스에 매핑하려는 파일의 Amazon Kendra생성된 기본 필드 중에서 선택합니다. 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon FSx(Windows) 파일 시스템에 Amazon Kendra연결하려면**

[https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-fsx-schema)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `FSX`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **파일 시스템 ID** - Amazon FSx(Windows) 파일 시스템의 식별자입니다. Amazon FSx(Windows) 콘솔의 파일 시스템 대시보드에서 파일 시스템 ID를 찾을 수 있습니다.
+ **파일 시스템 유형** - 파일 시스템 유형을 `WINDOWS`로 지정합니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
**참고**  
Amazon FSx(Windows)가 있는를Amazon VPC 선택해야 합니다. VPC 서브넷 및 보안 그룹이 포함됩니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - (Windows) 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름Amazon FSx(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "username": "user@corp.example.com",
      "password": "password"
  }
  ```
+ **IAM역할** - `CreateDataSource`를 호출하여 Secrets Manager보안 암호에 액세스하고 Amazon FSx(Windows) 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하는 `RoleArn` 시기를 지정합니다Amazon Kendra. 자세한 내용은 [IAMAmazon FSx(Windows) 데이터 소스에 대한 역할을](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+ **포함 및 제외 필터** - 특정 파일을 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **액세스 제어 목록(ACL)** - ACL이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링할지를 지정합니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.
**참고**  
사용자에 대한 사용자 컨텍스트 필터링을 테스트하려면 쿼리를 실행할 때 DNS 도메인 이름을 사용자 이름의 일부로 포함해야 합니다. Active Directory 도메인의 관리 권한이 있어야 합니다. 그룹 이름에 대한 사용자 컨텍스트 필터링을 테스트할 수도 있습니다.
+  **필드 매핑 **- Amazon FSx(Windows) 데이터 소스 필드를 Amazon Kendra인덱스 필드에 매핑하도록 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Amazon FSx(Windows) 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-fsx-windows-schema)를 참조하세요.

------

## 자세히 알아보기
<a name="fsx-learn-more"></a>

Amazon FSx(Windows) 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [용 Amazon Kendra커넥터Amazon FSx(Windows)를 사용하여 Windows 파일 시스템에서 비정형 데이터를 안전하게 검색합니다Windows File Server](https://aws.amazon.com/blogs/machine-learning/securely-search-unstructured-data-on-windows-file-systems-with-amazon-kendra-connector-for-amazon-fsx-for-windows-file-server/).

# Amazon FSx(NetApp ONTAP)
<a name="data-source-fsx-ontap"></a>

Amazon FSx(NetApp ONTAP)는 공유 스토리지 기능을 제공하는 완전 관리형 클라우드 기반 파일 서버 시스템입니다. Amazon FSx(NetApp ONTAP) 사용자인 경우를 사용하여Amazon Kendra Amazon FSx(NetApp ONTAP) 데이터 소스를 인덱싱할 수 있습니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 또는 [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) APIAmazon Kendra를 사용하여 Amazon FSx(NetApp ONTAP) 데이터 소스에 연결할 수 있습니다.

Amazon KendraAmazon FSx(NetApp ONTAP) 데이터 소스 커넥터 문제를 해결하려면 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-fsx-ontap)
+ [사전 조건](#prerequisites-fsx-ontap)
+ [연결 지침](#data-source-procedure-fsx-ontap)

## 지원되는 기능
<a name="supported-features-fsx-ontap"></a>

Amazon KendraAmazon FSx(NetApp ONTAP) 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함 및 제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-fsx-ontap"></a>

Amazon Kendra를 사용하여 Amazon FSx(NetApp ONTAP) 데이터 소스를 인덱싱하려면 먼저 Amazon FSx(NetApp ONTAP) 및의 세부 정보를 확인합니다AWS 계정.

**Amazon FSx(NetApp ONTAP)의 경우 다음이 있는지 확인합니다**.
+ 읽기 및 탑재 권한을 사용하여 Amazon FSx(NetApp ONTAP)를 설정합니다.
+ 파일 시스템 ID를 기록했습니다. 파일 시스템 ID는 Amazon FSx(NetApp ONTAP) 콘솔의 파일 시스템 대시보드에서 찾을 수 있습니다.
+ 파일 시스템에 사용되는 스토리지 가상 머신(SVM) ID를 기록했습니다. Amazon FSx(NetApp ONTAP) 콘솔의 파일 시스템 대시보드로 이동하여 파일 시스템 ID를 선택한 다음 **스토리지 가상 머신**을 선택하면 SVM ID를 찾을 수 있습니다.
+ Amazon FSx(NetApp ONTAP) 파일 시스템이 있는 Amazon VPC를 사용하여 가상 프라이빗 클라우드를 구성했습니다.
+ Active Directory 사용자 계정에 대한 Amazon FSx(NetApp ONTAP) 인증 자격 증명을 기록했습니다. 여기에는 DNS 도메인 이름(예: *user@corp.example.com*)과 암호가 포함된 Active Directory 사용자 이름이 포함됩니다. Amazon FSx(NetApp ONTAP) 파일 시스템에 NFS(Network File System) 프로토콜을 사용하는 경우 인증 자격 증명에는 왼쪽 ID, 오른쪽 ID 및 사전 공유 키가 포함됩니다.
**참고**  
커넥터가 작동하는 데 필요한 자격 증명만 사용합니다. 도메인 관리자와 같은 권한 있는 자격 증명을 사용하지 마세요.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ 각 문서가 Amazon FSx(NetApp ONTAP) 및 동일한 인덱스에 사용할 다른 데이터 소스에서 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Amazon FSx(NetApp ONTAP) 인증 자격 증명을 AWS Secrets Manager보안 암호에 저장하고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Amazon FSx(NetApp ONTAP) 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-fsx-ontap"></a>

Amazon FSx(NetApp ONTAP) 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Amazon FSx(NetApp ONTAP) 데이터 소스의 필수 세부 정보를 제공해야 합니다. 에 대해 Amazon FSx(NetApp ONTAP)를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-fsx-ontap).

------
#### [ Console ]

**Amazon FSx(NetApp ONTAP) 파일 시스템에 Amazon Kendra연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Amazon FSx(NetApp ONTAP) 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Amazon FSx(NetApp ONTAP) 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스** - 파일 시스템 정보를 제공합니다.
      + **파일 시스템 프로토콜** - Amazon FSx(NetApp ONTAP) 파일 시스템의 프로토콜을 선택합니다. 공용 인터넷 파일 시스템(CIFS) 프로토콜 또는 Linux용 네트워크 파일 시스템(NFS) 프로토콜을 선택할 수 있습니다.
      + **Amazon FSx(NetApp ONTAP) 파일 시스템 ID** - 드롭다운에서 Amazon FSx(NetApp ONTAP)에서 가져온 기존 파일 시스템 ID를 선택합니다. 또는 [Amazon FSx(NetApp ONTAP) 파일 시스템](https://console.aws.amazon.com/fsx/)을 생성합니다. Amazon FSx(NetApp ONTAP) 콘솔의 파일 시스템 대시보드에서 파일 시스템 ID를 찾을 수 있습니다.
      + **SVM ID**(Amazon FSx(NetApp ONTAP) NetApp ONTAP - (NetApp ONTAP)의 스토리지 가상 머신Amazon FSx(SVM) ID를 제공합니다NetApp ONTAP. Amazon FSx(NetApp ONTAP) 콘솔의 파일 시스템 대시보드로 이동하여 파일 시스템 ID를 선택하고 **스토리지 가상 머신**을 선택하여 SVM ID를 찾을 수 있습니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **인증** - 기존 AWS Secrets Manager보안 암호를 선택하거나 파일 시스템 자격 증명을 저장할 새 보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      사용자 이름과 암호의 인증 자격 증명을 저장하는 보안 암호를 제공합니다. 사용자 이름에는 DNS 도메인 이름이 포함되어야 합니다. 예: *user@corp.example.com*.

      Amazon FSx(NetApp ONTAP) 파일 시스템에 NFS 프로토콜을 사용하는 경우 왼쪽 ID, 오른쪽 ID 및 사전 공유 키의 인증 자격 증명을 저장하는 보안 암호를 제공합니다.

      보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - Amazon FSx(NetApp ONTAP)가 Amazon VPC있는를 선택해야 합니다. VPC 서브넷 및 보안 그룹이 포함됩니다. [구성을 참조하세요Amazon VPC](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html).

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위, 정규식 패턴** - 특정 파일을 포함하거나 제외하기 위한 정규 표현식 패턴을 추가합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정** - **빈도**에서 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 인덱스에 매핑하려는 파일의 Amazon Kendra생성된 기본 필드 중에서 선택합니다. 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon FSx(NetApp ONTAP) 파일 시스템에 Amazon Kendra연결하려면**

[https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-fsx-ontap-schema)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `FSXONTAP`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **파일 시스템 ID** - Amazon FSx(NetApp ONTAP) 파일 시스템의 식별자입니다. Amazon FSx(NetApp ONTAP) 콘솔의 파일 시스템 대시보드에서 파일 시스템 ID를 찾을 수 있습니다.
+ **SVM ID** - 파일 시스템에 사용되는 스토리지 가상 머신(SVM) ID입니다. Amazon FSx(NetApp ONTAP) 콘솔의 파일 시스템 대시보드로 이동하여 파일 시스템 ID를 선택한 다음 **스토리지 가상 머신**을 선택하면 SVM ID를 찾을 수 있습니다.
+ **프로토콜 유형** - 공용 인터넷 파일 시스템(CIFS) 프로토콜을 사용할지, 아니면 Linux용 네트워크 파일 시스템(NFS) 프로토콜을 사용할지 지정합니다.
+ **파일 시스템 유형** - 파일 시스템 유형을 `FSXONTAP`로 지정합니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
**참고**  
Amazon FSx(NetApp ONTAP)가Amazon VPC 있는를 선택해야 합니다. VPC 서브넷 및 보안 그룹이 포함됩니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - (NetApp ONTAP) 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름Amazon FSx(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "username": "user@corp.example.com",
      "password": "password"
  }
  ```

  Amazon FSx(NetApp ONTAP) 파일 시스템에 NFS 프로토콜을 사용하는 경우 보안 암호는 다음 키와 함께 JSON 구조에 저장됩니다.

  ```
  {
      "leftId": "left ID",
      "rightId": "right ID",
      "preSharedKey": "pre-shared key"
  }
  ```
+ **IAM역할** -를 호출`CreateDataSource`하여 Secrets Manager보안 암호에 액세스하고 Amazon FSx(NetApp ONTAP) 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하는 `RoleArn` 시기를 지정합니다Amazon Kendra. 자세한 내용은 [IAMAmazon FSx(NetApp ONTAP) 데이터 소스에 대한 역할을](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **포함 및 제외 필터** - 특정 파일을 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **액세스 제어 목록(ACL)** - ACL이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링할지를 지정합니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.
**참고**  
사용자에 대한 사용자 컨텍스트 필터링을 테스트하려면 쿼리를 실행할 때 DNS 도메인 이름을 사용자 이름의 일부로 포함해야 합니다. Active Directory 도메인의 관리 권한이 있어야 합니다. 그룹 이름에 대한 사용자 컨텍스트 필터링을 테스트할 수도 있습니다.
+  **필드 매핑 **- Amazon FSx(NetApp ONTAP) 데이터 소스 필드를 Amazon Kendra인덱스 필드에 매핑하도록 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Amazon FSx(NetApp ONTAP) 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-fsx-ontap-schema)를 참조하세요.

------

# Amazon RDS/Aurora
<a name="data-source-database"></a>

데이터베이스 데이터 소스를 사용하여 데이터베이스에 저장된 문서를 인덱싱할 수 있습니다. 데이터베이스에 대한 연결 정보를 제공한 후는 문서를 Amazon Kendra연결하고 인덱싱합니다.

Amazon Kendra는 다음 데이터베이스를 지원합니다.
+ Amazon Aurora MySQL
+ Amazon Aurora PostgreSQL
+ Amazon RDSMySQL용
+ Amazon RDSPostgreSQL용

**참고**  
Serverless Aurora 데이터베이스는 지원되지 않습니다.

**중요**  
이 Amazon RDS/Aurora 커넥터는 2023년 말 사용이 중단될 예정입니다.  
Amazon Kendra는 이제 새 데이터베이스 데이터 소스 커넥터를 지원합니다. 사용 환경을 개선하려면 사용 사례에 맞게 다음과 같은 새 커넥터를 선택하는 것이 좋습니다.  
[Aurora(MySQL)](https://docs.aws.amazon.com/kendra/latest/dg/data-source-aurora-mysql.html)
[Aurora(PostgreSQL)](https://docs.aws.amazon.com/kendra/latest/dg/data-source-aurora-postgresql.html)
[Amazon RDS(MySQL)](https://docs.aws.amazon.com/kendra/latest/dg/data-source-rds-mysql.html)
[Amazon RDS(Microsoft SQL Server)](https://docs.aws.amazon.com/kendra/latest/dg/data-source-rds-ms-sql-server.html)
[Amazon RDS(Oracle)](https://docs.aws.amazon.com/kendra/latest/dg/data-source-rds-oracle.html)
[Amazon RDS(PostgreSQL)](https://docs.aws.amazon.com/kendra/latest/dg/data-source-rds-postgresql.html)
[IBM DB2](https://docs.aws.amazon.com/kendra/latest/dg/data-source-ibm-db2.html)
[Microsoft SQL Server](https://docs.aws.amazon.com/kendra/latest/dg/data-source-ms-sql-server.html)
[MySQL](https://docs.aws.amazon.com/kendra/latest/dg/data-source-mysql.html)
[Oracle Database](https://docs.aws.amazon.com/kendra/latest/dg/data-source-oracle-database.html)
[PostgreSQL](https://docs.aws.amazon.com/kendra/latest/dg/data-source-postgresql.html)

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [DatabaseConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DatabaseConfiguration.html) API를 사용하여 데이터베이스 데이터 소스에 Amazon Kendra연결할 수 있습니다.

Amazon Kendra데이터베이스 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-database)
+ [사전 조건](#prerequisites-database)
+ [연결 지침](#data-source-procedure-database)

## 지원되는 기능
<a name="supported-features-database"></a>

Amazon Kendra데이터베이스 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-database"></a>

Amazon Kendra를 사용하여 데이터베이스 데이터 소스를 인덱싱하려면 먼저 데이터베이스와 AWS계정을 변경합니다.

**데이터베이스에서 다음을 확인하세요.**
+ 데이터베이스 사용자 이름과 암호의 기본 보안 인증 정보를 기록했습니다.
+ 호스트 이름, 포트 번호, 호스트 주소, 데이터베이스 이름, 문서 데이터가 포함된 데이터 테이블 이름을 복사했습니다. PostgreSQL의 경우 데이터 테이블은 공개 테이블 또는 공용 스키마여야 합니다.
**참고**  
호스트와 포트는 인터넷에서 데이터베이스 서버를 찾을 Amazon Kendra위치를 알려줍니다. 데이터베이스 이름과 테이블 이름은 데이터베이스 서버에서 문서 데이터를 찾을 Amazon Kendra위치를 알려줍니다.
+ 문서 데이터가 포함된 데이터 테이블의 열 이름을 복사했습니다. 문서 ID, 문서 본문, 문서 변경 여부를 감지할 열(예: 마지막으로 업데이트한 열), 사용자 지정 인덱스 필드에 매핑되는 선택적 데이터 테이블 열을 포함해야 합니다. [Amazon Kendra 예약된 필드 이름](https://docs.aws.amazon.com/kendra/latest/dg/hiw-document-attributes.html#index-reserved-fields)을 테이블 열에 매핑할 수도 있습니다.
+ MySQLAmazon RDS에를 사용하는지 또는 다른 유형을 사용하는지와 같은 데이터베이스 엔진 유형 정보를 복사했습니다.
+ 데이터베이스 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ 데이터베이스 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 데이터베이스 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-database"></a>

데이터베이스 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 데이터베이스 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대한 데이터베이스를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-database).

------
#### [ Console ]

**데이터베이스에 Amazon Kendra연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **데이터베이스 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **데이터베이스 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **엔드포인트** - DNS 호스트 이름, IPv4 주소 또는 IPv6 주소.

   1. **포트** - 포트 번호.

   1. **데이터베이스** - 데이터베이스 이름.

   1. **테이블 이름** - 테이블 이름.

   1. **인증 유형**에서 **기존** 인증과 **신규** 인증 정보 중 하나를 선택하여 데이터베이스 보안 인증 정보를 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

        1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-database-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

        1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스 계정의 보안 인증 값을 입력합니다.

        1. **인증 저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.
**참고**  
프라이빗 서브넷을 사용해야 합니다. RDS 인스턴스가 VPC의 퍼블릭 서브넷에 있는 경우, 퍼블릭 서브넷의 NAT 게이트웨이에 대한 아웃바운드 액세스 권한이 있는 프라이빗 서브넷을 생성할 수 있습니다. VPC 구성에 제공되는 서브넷은 미국 서부(오레곤), 미국 동부(버니지아), EU(아일랜드)에 있어야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. 사용 사례에 따라 **Aurora MySQL**, **MySQL**, **Aurora PostgreSQL**, **PostgreSQL** 중에서 선택합니다.

   1. **SQL 식별자를 큰따옴표로 묶기** - SQL 식별자를 큰따옴표로 묶으려면 이 옵션을 선택합니다. 예: “columnName”

   1. **ACL 열** 및 **변경 감지 열** -가 변경 감지에 Amazon Kendra사용하는 열(예: 마지막으로 업데이트된 열)과 액세스 제어 목록을 구성합니다.

   1. **동기화 실행 일정**에서 **빈도** - Amazon Kendra가 데이터 소스와 동기화하는 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **Amazon Kendra기본 필드 매핑 **- 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다. `document_id` 및 `document_body`에 대한 **데이터베이스 열** 값을 추가해야 합니다.

   1.  **사용자 지정 필드 매핑** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**데이터베이스에 Amazon Kendra연결하려면**

다음과 같이 [DatabaseConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DatabaseConfiguration.html) API를 지정해야 합니다.
+ **ColumnConfiguration** - 인덱스가 데이터베이스에서 문서 정보를 가져와야 하는 위치에 대한 정보입니다. 자세한 내용은 [ColumnConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ColumnConfiguration.html)을 참조하세요. `DocumentDataColumnName`(문서 본문 또는 본문) 및 `DocumentIdColumnName`, `ChangeDetectingColumn`(예: 최근 업데이트된 열) 필드를 지정해야 합니다. `DocumentIdColumnName` 필드에 매핑된 열은 정수 열이어야 합니다. 다음 예제에서는 데이터베이스 데이터 소스의 단순한 열 구성을 보여줍니다.

  ```
  "ColumnConfiguration": {
      "ChangeDetectingColumns": [
          "LastUpdateDate",
          "LastUpdateTime"
      ],
      "DocumentDataColumnName": "TextColumn",
      "DocumentIdColumnName": "IdentifierColumn",
      "DocoumentTitleColumnName": "TitleColumn",
      "FieldMappings": [
          {
              "DataSourceFieldName": "AbstractColumn",
              "IndexFieldName": "Abstract"
          }
      ]
  }
  ```
+ **ConnectionConfiguration** - 데이터베이스에 연결하는 데 필요한 구성 정보입니다. 자세한 내용은 [ConnectionConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ConnectionConfiguration.html)을 참조하세요.
+ **DatabaseEngineType** - 데이터베이스를 실행하는 데이터베이스 엔진의 유형입니다. 의 `DatabaseHost` 필드는 데이터베이스의 Amazon Relational Database Service(Amazon RDS) 인스턴스 엔드포인트여야 `ConnectionConfiguration` 합니다. 클러스터 엔드포인트를 사용하지 마세요.
+ **보안 암호 Amazon 리소스 이름(ARN)** - 데이터베이스 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호에는 다음 키가 있는 JSON 구조가 저장됩니다.

  ```
  {
      "username": "user name",
      "password": "password"
  }
  ```

  다음 예제에서는 보안 암호 ARN을 포함한 데이터베이스 구성을 보여줍니다.

  ```
  "DatabaseConfiguration": {
  "ConnectionConfiguration": {
  "DatabaseHost": "host.subdomain.domain.tld",
          "DatabaseName": "DocumentDatabase",
          "DatabasePort": 3306,
          "SecretArn": "arn:aws:secretmanager:region:account ID:secret/secret name",
          "TableName": "DocumentTable"
      }
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 데이터베이스 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [데이터베이스 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+ **Virtual Private Cloud(VPC)** - 데이터 소스 구성의 일부로 `VpcConfiguration`를 지정합니다. [VPC 사용을 위한 Amazon Kendra 구성](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html)을 참조하세요.
**참고**  
프라이빗 서브넷만 사용해야 합니다. RDS 인스턴스가 VPC의 퍼블릭 서브넷에 있는 경우, 퍼블릭 서브넷의 NAT 게이트웨이에 대한 아웃바운드 액세스 권한이 있는 프라이빗 서브넷을 생성할 수 있습니다. VPC 구성에 제공되는 서브넷은 미국 서부(오레곤), 미국 동부(버니지아), EU(아일랜드)에 있어야 합니다.
+  **필드 매핑** - 데이터베이스 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.

------

# Amazon RDS(Microsoft SQL Server)
<a name="data-source-rds-ms-sql-server"></a>

**참고**  
Amazon RDS(Microsoft SQL Server) 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

SQL Server는 Microsoft에서 개발한 데이터베이스 관리 시스템입니다. SQL ServerAmazon RDS를 사용하면 클라우드에서 SQL Server 배포를 쉽게 설정, 운영 및 확장할 수 있습니다. Amazon RDS(Microsoft SQL Server) 사용자인 경우를 사용하여 Amazon RDS(Microsoft SQL Server) 데이터 소스를 인덱싱Amazon Kendra할 수 있습니다. Amazon KendraJDBC 데이터 소스 커넥터는 Microsoft SQL Server 2019를 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 Amazon RDS(Microsoft SQL Server) 데이터 소스에 연결할 수 Amazon Kendra있습니다.

Amazon KendraAmazon RDS(Microsoft SQL Server) 데이터 소스 커넥터의 문제를 해결하려면 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-rds-ms-sql-server)
+ [사전 조건](#prerequisites-rds-ms-sql-server)
+ [연결 지침](#data-source-procedure-rds-ms-sql-server)
+ [참고](#rds-ms-sql-server-notes)

## 지원되는 기능
<a name="supported-features-rds-ms-sql-server"></a>
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-rds-ms-sql-server"></a>

Amazon Kendra를 사용하여 Amazon RDS(Microsoft SQL Server) 데이터 소스를 인덱싱하려면 먼저 Amazon RDS(Microsoft SQL Server) 및 AWS계정을 변경합니다.

**Amazon RDS(Microsoft SQL Server)에서 다음이 있는지 확인합니다.**
+ 데이터베이스 사용자 이름 및 암호를 기록했습니다.
**중요**  
가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 데이터베이스 호스트 URL, 포트, 인스턴스를 복사했습니다.
+ Amazon RDS(Microsoft SQL Server) 및 동일한 인덱스에 사용할 다른 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Amazon RDS(Microsoft SQL Server) 인증 자격 증명을 AWS Secrets Manager보안 암호에 저장하고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Amazon RDS(Microsoft SQL Server) 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-rds-ms-sql-server"></a>

Amazon RDS(Microsoft SQL Server) 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Amazon RDS(Microsoft SQL Server) 자격 증명의 세부 정보를 제공해야 합니다. 에 대해 Amazon RDS(Microsoft SQL Server)를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-rds-ms-sql-server).

------
#### [ Console ]

**Amazon Kendra에 연결하려면Amazon RDS(Microsoft SQL Server)** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Amazon RDS(Microsoft SQL Server) 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Amazon RDS(Microsoft SQL Server) 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 다음 정보를 입력합니다.

   1.  **호스트** - 데이터베이스 호스트 이름을 입력합니다.

   1.  **포트** - 데이터베이스 포트를 입력합니다.

   1.  **인스턴스** - 데이터베이스 인스턴스를 입력합니다.

   1. **SSL 인증서 위치 활성화** - SSL 인증서 파일의 Amazon S3경로를 입력하도록 선택합니다.

   1. **인증**에서 - 다음 정보를 입력합니다.

      1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 Amazon RDS(Microsoft SQL Server) 인증 자격 증명을 저장할 새 Secrets Manager보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Amazon RDS(Microsoft SQL Server)-' 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스에서 복사한 보안 인증 값을 입력합니다.

        1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
      + **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
**참고**  
테이블 이름에 특수 문자(영숫자가 아닌 문자)가 포함된 경우 테이블 이름 주위에 대괄호를 사용해야 합니다. 예를 들어, *[my-database-table]에서 \$1를 선택합니다*.
      + **프라이머리 키 열** - 데이터베이스 테이블의 프라이머리 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다.
      + **제목 열** - 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다.
      + **본문 열** - 데이터베이스 테이블에 있는 문서 본문 열의 이름을 입력합니다.

   1. **추가 구성 - *선택 사항***에서 모든 파일을 동기화하는 대신 다음 옵션 중 하나를 선택하여 특정 콘텐츠를 동기화합니다.
      + 열 **변경 감지 -** 콘텐츠 변경을 감지하는 데 Amazon Kendra사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱Amazon Kendra합니다.
      + **사용자 ID 열** - 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다.
      + **그룹 열** - 콘텐츠에 대한 액세스를 허용할 그룹이 포함된 열의 이름을 입력합니다.
      + **소스 URL 열** - 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다.
      + **타임스탬프 열** - 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다.
      + **시간대 열** - 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다.
      + **타임스탬프 형식** - 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 생성된 기본 데이터 소스 필드인 **문서 IDs**, **문서 제목** 및 **소스 URLs** 중에서 Amazon Kendra인덱스에 매핑하려는 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면Amazon RDS(Microsoft SQL Server)**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `JDBC`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **데이터베이스 유형** - 데이터베이스 유형을 `sqlserver`로 지정해야 합니다.
+ **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 지정합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
**참고**  
테이블 이름에 특수 문자(영숫자가 아닌 문자)가 포함된 경우 테이블 이름 주위에 대괄호를 사용해야 합니다. 예를 들어, *[my-database-table]에서 \$1를 선택합니다*.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - (Microsoft SQL Server) 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름Amazon RDS(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "user name": "database user name",
      "password": "password"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Amazon RDS(Microsoft SQL Server) 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [IAMAmazon RDS(Microsoft SQL Server) 데이터 소스에 대한 역할을](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 사용자 ID, 그룹, 소스 URL, 타임스탬프, 시간대를 사용하여 특정 콘텐츠를 포함할지 여부를 지정할 수 있습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑 **- Amazon RDS(Microsoft SQL Server) 데이터 소스 필드를 Amazon Kendra인덱스 필드에 매핑하도록 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Amazon RDS (Microsoft SQL Server) 템플릿 스키마](ds-schemas.md#ds-rds-ms-sql-server-schema)를 참조하세요.

------

## 참고
<a name="rds-ms-sql-server-notes"></a>
+ 가 업데이트된 콘텐츠를 Amazon Kendra확인할 때 삭제된 데이터베이스 행은 추적되지 않습니다.
+ 데이터베이스 행의 필드 이름 및 값 크기는 400KB를 초과할 수 없습니다.
+ 데이터베이스 데이터 소스에 많은 양의 데이터가 있고 첫 번째 동기화 후 모든 데이터베이스 콘텐츠를 인덱싱하지 않으Amazon Kendra려면 새 문서, 수정된 문서 또는 삭제된 문서만 동기화하도록 선택할 수 있습니다.
+ 가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 가장 좋은 방법은 민감한 데이터나 개인 식별 정보(PII)가 포함된 테이블을 추가하지 않는 것입니다.

# Amazon RDS(MySQL)
<a name="data-source-rds-mysql"></a>

**참고**  
Amazon RDS(MySQL) 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Amazon RDS(Amazon Relational Database Service)는 AWS클라우드에서 관계형 데이터베이스를 더 쉽게 설정, 운영 및 확장할 수 있는 웹 서비스입니다. Amazon RDS사용자인 경우를 사용하여 Amazon RDS(MySQL) 데이터 소스를 인덱싱Amazon Kendra할 수 있습니다. Amazon Kendra데이터 소스 커넥터는 Amazon RDSMySql 5.6, 5.7 및 8.0을 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 Amazon RDS(MySQL) 데이터 소스에 Amazon Kendra연결할 수 있습니다.

데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요Amazon KendraAmazon RDS(MySQL)[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-rds-mysql)
+ [사전 조건](#prerequisites-rds-mysql)
+ [연결 지침](#data-source-procedure-rds-mysql)
+ [참고](#rds-mysql-notes)

## 지원되는 기능
<a name="supported-features-rds-mysql"></a>
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-rds-mysql"></a>

Amazon Kendra를 사용하여 Amazon RDS(MySQL) 데이터 소스를 인덱싱하려면 먼저 Amazon RDS(MySQL) 및 AWS계정을 변경합니다.

**Amazon RDS(MySQL)에서 다음 사항을 갖추었는지 확인하세요**.
+ 데이터베이스 사용자 이름 및 암호를 기록했습니다.
**중요**  
가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 데이터베이스 호스트 URL, 포트, 인스턴스를 복사했습니다. Amazon RDS콘솔에서이 정보를 찾을 수 있습니다.
+ Amazon RDS(MySQL) 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Amazon RDS(MySQL) 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할 또는 보안 암호가 없는 경우 Amazon RDS(MySQL) 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-rds-mysql"></a>

Amazon RDS(MySQL) 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Amazon RDS(MySQL) 자격 증명의 세부 정보를 제공해야 합니다. 아직에 Amazon RDS(MySQL) 대해를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-rds-mysql).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 Amazon RDS(MySQL)** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Amazon RDS(MySQL) 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Amazon RDS(MySQL) 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 다음 정보를 입력합니다.

   1.  **호스트** - 데이터베이스 호스트 URL(예: `http://instance URL.region.rds.amazonaws.com`)을 입력합니다.

   1.  **포트** - 데이터베이스 포트(예: `5432`)를 입력합니다.

   1.  **인스턴스** - 데이터베이스 인스턴스(예: `postgres`)를 입력합니다.

   1. **SSL 인증서 위치 활성화** - SSL 인증서 파일의 Amazon S3경로를 입력하도록 선택합니다.

   1. **인증**에서 - 다음 정보를 입력합니다.

      1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 Amazon RDS(MySQL) 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'Amazon Kendra-Amazon RDS(MySQL)-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스에서 복사한 보안 인증 값을 입력합니다.

        1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
      + **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. SQL 쿼리는 32KB 미만이어야 하며 세미콜론(;)을 포함하지 않아야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
      + **프라이머리 키 열** - 데이터베이스 테이블의 프라이머리 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다.
      + **제목 열** - 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다.
      + **본문 열** - 데이터베이스 테이블에 있는 문서 본문 열의 이름을 입력합니다.

   1. **추가 구성 - *선택 사항***에서 모든 파일을 동기화하는 대신 다음 옵션 중 하나를 선택하여 특정 콘텐츠를 동기화합니다.
      + 열 **변경 감지 -** 콘텐츠 변경을 감지하는 데 Amazon Kendra사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱Amazon Kendra합니다.
      + **사용자 ID 열** - 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다.
      + **그룹 열** - 콘텐츠에 대한 액세스를 허용할 그룹이 포함된 열의 이름을 입력합니다.
      + **소스 URL 열** - 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다.
      + **타임스탬프 열** - 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다.
      + **시간대 열** - 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다.
      + **타임스탬프 형식** - 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 생성된 기본 데이터 소스 필드인 **문서 IDs**, **문서 제목** 및 **소스 URLs** 중에서 Amazon Kendra인덱스에 매핑하려는 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 Amazon RDS(MySQL)**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `JDBC`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **데이터베이스 유형** - 데이터베이스 유형을 `mySql`로 지정해야 합니다.
+ **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 지정합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Amazon RDS(MySQL) 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "user name": "database user name",
      "password": "password"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Amazon RDS(MySQL) 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Amazon RDS(MySQL) 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 사용자 ID, 그룹, 소스 URL, 타임스탬프, 시간대를 사용하여 특정 콘텐츠를 포함할지 여부를 지정할 수 있습니다.
+  **필드 매핑** - Amazon RDS(MySQL) 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 해당 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.

구성해야 할 기타 중요한 JSON 키 목록은 [Amazon RDS (MySQL) 템플릿 스키마](ds-schemas.md#ds-rds-mysql-schema)를 참조하세요.

------

## 참고
<a name="rds-mysql-notes"></a>
+ 가 업데이트된 콘텐츠를 Amazon Kendra확인할 때 삭제된 데이터베이스 행은 추적되지 않습니다.
+ 데이터베이스 행의 필드 이름 및 값 크기는 400KB를 초과할 수 없습니다.
+ 데이터베이스 데이터 소스에 많은 양의 데이터가 있고 첫 번째 동기화 후 모든 데이터베이스 콘텐츠를 인덱싱하지 않으Amazon Kendra려는 경우 새 문서, 수정된 문서 또는 삭제된 문서만 동기화하도록 선택할 수 있습니다.
+ 가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 가장 좋은 방법은 민감한 데이터나 개인 식별 정보(PII)가 포함된 테이블을 추가하지 않는 것입니다.

# Amazon RDS(Oracle)
<a name="data-source-rds-oracle"></a>

**참고**  
Amazon RDS(Oracle) 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Amazon RDS(Amazon Relational Database Service)는 AWS클라우드에서 관계형 데이터베이스를 더 쉽게 설정, 운영 및 확장할 수 있는 웹 서비스입니다. Amazon RDS(Oracle) 사용자인 경우를 사용하여 Amazon RDS(Oracle) 데이터 소스를 인덱싱Amazon Kendra할 수 있습니다. 데이터 소스 커넥터는Amazon KendraAmazon RDS(Oracle) Amazon RDSOracle Database 21c, Oracle Database 19c, Oracle Database 12c를 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 Amazon RDS(Oracle) 데이터 소스에 Amazon Kendra연결할 수 있습니다.

데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요Amazon KendraAmazon RDS(Oracle)[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-rds-oracle)
+ [사전 조건](#prerequisites-rds-oracle)
+ [연결 지침](#data-source-procedure-rds-oracle)
+ [참고](#rds-oracle-notes)

## 지원되는 기능
<a name="supported-features-rds-oracle"></a>
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-rds-oracle"></a>

Amazon Kendra를 사용하여 Amazon RDS(Oracle) 데이터 소스를 인덱싱하려면 먼저 Amazon RDS(Oracle) 및 AWS계정을 변경합니다.

**Amazon RDS(Oracle)에서 다음 사항을 갖추었는지 확인하세요**.
+ 데이터베이스 사용자 이름 및 암호를 기록했습니다.
**중요**  
가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 데이터베이스 호스트 URL, 포트, 인스턴스를 복사했습니다.
+ Amazon RDS(Oracle) 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Amazon RDS(Oracle) 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할 또는 보안 암호가 없는 경우 Amazon RDS(Oracle) 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-rds-oracle"></a>

Amazon RDS(Oracle) 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Amazon RDS(Oracle) 자격 증명의 세부 정보를 제공해야 합니다. 아직에 Amazon RDS(Oracle) 대해를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-rds-oracle).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 Amazon RDS(Oracle)** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Amazon RDS(Oracle) 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Amazon RDS(Oracle) 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 다음 정보를 입력합니다.

   1.  **호스트** - 데이터베이스 호스트 이름을 입력합니다.

   1.  **포트** - 데이터베이스 포트를 입력합니다.

   1.  **인스턴스** - 데이터베이스 인스턴스를 입력합니다.

   1. **SSL 인증서 위치 활성화** - SSL 인증서 파일의 Amazon S3경로를 입력하도록 선택합니다.

   1. **인증**에서 - 다음 정보를 입력합니다.

      1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 Amazon RDS(Oracle) 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'Amazon Kendra-Amazon RDS(Oracle)-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스에서 복사한 보안 인증 값을 입력합니다.

        1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
      + **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
      + **프라이머리 키 열** - 데이터베이스 테이블의 프라이머리 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다.
      + **제목 열** - 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다.
      + **본문 열** - 데이터베이스 테이블에 있는 문서 본문 열의 이름을 입력합니다.

   1. **추가 구성 - *선택 사항***에서 모든 파일을 동기화하는 대신 다음 옵션 중 하나를 선택하여 특정 콘텐츠를 동기화합니다.
      + 열 **변경 감지 -** 콘텐츠 변경을 감지하는 데 Amazon Kendra사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱Amazon Kendra합니다.
      + **사용자 ID 열** - 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다.
      + **그룹 열** - 콘텐츠에 대한 액세스를 허용할 그룹이 포함된 열의 이름을 입력합니다.
      + **소스 URL 열** - 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다.
      + **타임스탬프 열** - 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다.
      + **시간대 열** - 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다.
      + **타임스탬프 형식** - 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 생성된 기본 데이터 소스 필드인 **문서 IDs**, **문서 제목** 및 **소스 URLs** 중에서 Amazon Kendra인덱스에 매핑하려는 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 Amazon RDS(Oracle)**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `JDBC`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **데이터베이스 유형** - 데이터베이스 유형을 `oracle`로 지정해야 합니다.
+ **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 지정합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Amazon RDS(Oracle) 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "user name": "database user name",
      "password": "password"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Amazon RDS(Oracle) 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Amazon RDS(Oracle) 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 사용자 ID, 그룹, 소스 URL, 타임스탬프, 시간대를 사용하여 특정 콘텐츠를 포함할지 여부를 지정할 수 있습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - Amazon RDS(Oracle) 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Amazon RDS (Oracle) 템플릿 스키마](ds-schemas.md#ds-rds-oracle-schema)를 참조하세요.

------

## 참고
<a name="rds-oracle-notes"></a>
+ 가 업데이트된 콘텐츠를 Amazon Kendra확인할 때 삭제된 데이터베이스 행은 추적되지 않습니다.
+ 데이터베이스 행의 필드 이름 및 값 크기는 400KB를 초과할 수 없습니다.
+ 데이터베이스 데이터 소스에 많은 양의 데이터가 있고 첫 번째 동기화 후 모든 데이터베이스 콘텐츠를 인덱싱하지 않으Amazon Kendra려면 새 문서, 수정된 문서 또는 삭제된 문서만 동기화하도록 선택할 수 있습니다.
+ 가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 가장 좋은 방법은 민감한 데이터나 개인 식별 정보(PII)가 포함된 테이블을 추가하지 않는 것입니다.

# Amazon RDS(PostgreSQL)
<a name="data-source-rds-postgresql"></a>

**참고**  
Amazon RDS(PostgreSQL) 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Amazon RDS는 AWS클라우드에서 관계형 데이터베이스를 더 쉽게 설정, 운영 및 확장할 수 있는 웹 서비스입니다. Amazon RDS사용자인 경우를 사용하여 Amazon RDS(PostgreSQL) 데이터 소스를 인덱싱Amazon Kendra할 수 있습니다. 데이터 소스 커넥터는Amazon KendraAmazon RDS(PostgreSQL) PostgreSQL 9.6을 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 Amazon RDS(PostgreSQL) 데이터 소스에 Amazon Kendra연결할 수 있습니다.

데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요Amazon KendraAmazon RDS(PostgreSQL)[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-rds-postgresql)
+ [사전 조건](#prerequisites-rds-postgresql)
+ [연결 지침](#data-source-procedure-rds-postgresql)
+ [참고](#rds-postgresql-notes)

## 지원되는 기능
<a name="supported-features-rds-postgresql"></a>
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-rds-postgresql"></a>

Amazon Kendra를 사용하여 Amazon RDS(PostgreSQL) 데이터 소스를 인덱싱하려면 먼저 Amazon RDS(PostgreSQL) 및 AWS계정을 변경합니다.

**Amazon RDS(PostgreSQL)에서 다음 사항을 갖추었는지 확인하세요**.
+ 데이터베이스 사용자 이름 및 암호를 기록했습니다.
**중요**  
가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 데이터베이스 호스트 URL, 포트, 인스턴스를 복사했습니다. Amazon RDS콘솔에서이 정보를 찾을 수 있습니다.
+ Amazon RDS(PostgreSQL) 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Amazon RDS(PostgreSQL) 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Amazon RDS(PostgreSQL) 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-rds-postgresql"></a>

Amazon RDS(PostgreSQL) 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Amazon RDS(PostgreSQL) 자격 증명의 세부 정보를 제공해야 합니다. 아직에 Amazon RDS(PostgreSQL) 대해를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-rds-postgresql).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 Amazon RDS(PostgreSQL)** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Amazon RDS(PostgreSQL) 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Amazon RDS(PostgreSQL) 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 다음 정보를 입력합니다.

   1.  **호스트** - 데이터베이스 호스트 URL(예: `http://instance URL.region.rds.amazonaws.com`)을 입력합니다.

   1.  **포트** - 데이터베이스 포트(예: `5432`)를 입력합니다.

   1.  **인스턴스** - 데이터베이스 인스턴스(예: `postgres`)를 입력합니다.

   1. **SSL 인증서 위치 활성화** - SSL 인증서 파일의 Amazon S3경로를 입력하도록 선택합니다.

   1. **인증**에서 - 다음 정보를 입력합니다.

      1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 Amazon RDS(PostgreSQL) 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'Amazon Kendra-Amazon RDS(PostgreSQL)-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스에서 복사한 보안 인증 값을 입력합니다.

        1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
      + **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. SQL 쿼리는 32KB 미만이어야 하며 세미콜론(;)을 포함하지 않아야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
      + **프라이머리 키 열** - 데이터베이스 테이블의 프라이머리 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다.
      + **제목 열** - 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다.
      + **본문 열** - 데이터베이스 테이블에 있는 문서 본문 열의 이름을 입력합니다.

   1. **추가 구성 - *선택 사항***에서 모든 파일을 동기화하는 대신 다음 옵션 중 하나를 선택하여 특정 콘텐츠를 동기화합니다.
      + 열 **변경 감지 -** 콘텐츠 변경을 감지하는 데 Amazon Kendra사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱Amazon Kendra합니다.
      + **사용자 ID 열** - 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다.
      + **그룹 열** - 콘텐츠에 대한 액세스를 허용할 그룹이 포함된 열의 이름을 입력합니다.
      + **소스 URL 열** - 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다.
      + **타임스탬프 열** - 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다.
      + **시간대 열** - 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다.
      + **타임스탬프 형식** - 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 생성된 기본 데이터 소스 필드인 **문서 IDs**, **문서 제목** 및 **소스 URLs** 중에서 Amazon Kendra인덱스에 매핑하려는 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 Amazon RDS(PostgreSQL)**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `JDBC`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **데이터베이스 유형** - 데이터베이스 유형을 `postgresql`로 지정해야 합니다.
+ **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 지정합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Amazon RDS(PostgreSQL) 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "user name": "database user name",
      "password": "password"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Amazon RDS(PostgreSQL) 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Amazon RDS(PostgreSQL) 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 사용자 ID, 그룹, 소스 URL, 타임스탬프, 시간대를 사용하여 특정 콘텐츠를 포함할지 여부를 지정할 수 있습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - Amazon RDS(PostgreSQL) 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Amazon RDS (PostgreSQL) 템플릿 스키마](ds-schemas.md#ds-rds-postgresql-schema)를 참조하세요.

------

## 참고
<a name="rds-postgresql-notes"></a>
+ 가 업데이트된 콘텐츠를 Amazon Kendra확인할 때 삭제된 데이터베이스 행은 추적되지 않습니다.
+ 데이터베이스 행의 필드 이름 및 값 크기는 400KB를 초과할 수 없습니다.
+ 데이터베이스 데이터 소스에 많은 양의 데이터가 있고 첫 번째 동기화 후 모든 데이터베이스 콘텐츠를 인덱싱하지 않으Amazon Kendra려면 새 문서, 수정된 문서 또는 삭제된 문서만 동기화하도록 선택할 수 있습니다.
+ 가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 가장 좋은 방법은 민감한 데이터나 개인 식별 정보(PII)가 포함된 테이블을 추가하지 않는 것입니다.

# Amazon S3
<a name="data-source-s3"></a>

Amazon S3 는 버킷 내에 데이터를 객체로 저장하는 객체 스토리지 서비스입니다. Amazon Kendra 를 사용하여 Amazon S3 버킷 문서 리포지토리를 인덱싱할 수 있습니다.

**주의**  
Amazon Kendra 는 Amazon Kendra 보안 주체에게 S3 버킷과 상호 작용할 수 있는 권한을 부여하는 버킷 정책을 사용하지 않습니다. 대신 IAM 역할을 사용합니다. 실수로 임의의 보안 주체에게 권한을 부여할 때 발생하는 데이터 보안 문제를 방지하려면 Amazon Kendra 가 버킷 정책에 신뢰할 수 있는 멤버로 포함되지 않도록 해야 합니다. 하지만 여러 계정에서 Amazon S3 버킷을 사용하도록 버킷 정책을 추가할 수 있습니다. 자세한 내용은 [여러 계정에서 Amazon S3 를 사용할 수 있는 정책](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds-s3-cross-accounts)(S3 IAM 역할 탭의 **데이터 소스의IAM 역할** 아래)을 참조하세요. S3 데이터 소스의 IAM 역할에 대한 자세한 내용은 [IAM 역할을](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds-s3) 참조하세요.

**참고**  
Amazon Kendra 는 이제 업그레이드된 Amazon S3 커넥터를 지원합니다.  
콘솔이 자동으로 업그레이드되었습니다. 콘솔에서 생성하는 모든 새 커넥터는 업그레이드된 아키텍처를 사용합니다. API를 사용하는 경우 이제 `S3DataSourceConfiguration` 객체 대신 [https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체를 사용하여 커넥터를 구성해야 합니다.  
이전 콘솔 및 API 아키텍처를 사용하여 구성된 커넥터는 구성된 대로 계속 작동합니다. 하지만 편집하거나 업데이트할 수는 없습니다. 커넥터 구성을 편집하거나 업데이트하려면 새 커넥터를 생성해야 합니다.  
커넥터 워크플로를 업그레이드된 버전으로 마이그레이션하는 것이 좋습니다. 이전 아키텍처를 사용하여 구성된 커넥터에 대한 지원은 2024년 6월에 종료될 예정입니다.

[Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/) 또는 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 Amazon S3 데이터 소스에 연결할 수 있습니다.

**참고**  
 Amazon S3 데이터 소스에 대한 동기화 상태 보고서를 생성하려면 [데이터 소스 문제 해결을](https://docs.aws.amazon.com/kendra/latest/dg/troubleshooting-data-sources.html#troubleshooting-data-sources-sync-status-manifest) 참조하세요.

 Amazon Kendra S3 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-s3)
+ [사전 조건](#prerequisites-s3)
+ [연결 지침](#data-source-procedure-s3)
+ [Amazon S3 데이터 소스 생성](create-ds-s3.md)
+ [Amazon S3 문서 메타데이터](s3-metadata.md)
+ [Amazon S3 데이터 소스에 대한 액세스 제어](s3-acl.md)
+ [Amazon S3 데이터 소스와 Amazon VPC 함께 사용](s3-vpc-example-1.md)

## 지원되는 기능
<a name="supported-features-s3"></a>
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-s3"></a>

 Amazon Kendra 를 사용하여 S3 데이터 소스를 인덱싱하려면 먼저 S3 및 AWS 계정에서 이러한 변경을 수행합니다.

**S3에서 다음 사항을 갖추었는지 확인하세요.**
+  Amazon S3 버킷의 이름을 복사했습니다.
**참고**  
버킷은 Amazon Kendra 인덱스와 동일한 리전에 있어야 하며, 인덱스에는 문서가 포함된 버킷에 액세스할 수 있는 권한이 있어야 합니다.
+ S3 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

** AWS 계정에 다음이 있는지 확인합니다.**
+ [Amazon Kendra 인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM 역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM 역할의 ARN을 기록했습니다.

기존 IAM 역할이 없는 경우 S3 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM 역할을 생성할 수 있습니다 Amazon Kendra. API를 사용하는 경우 기존 IAM 역할의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-s3"></a>

S3 데이터 소스 Amazon Kendra 에 연결하려면가 데이터에 액세스할 Amazon Kendra 수 있도록 S3 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 S3를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-s3).

------
#### [ Console ]

** Amazon Kendra 에 연결하려면 Amazon S3 ** 

1. 에 로그인 AWS Management Console 하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **S3 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **S3 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 선택적 정보를 입력합니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **데이터 소스 위치**의 경우 - 데이터가 저장되는 Amazon S3 버킷의 경로를 지정합니다. **S3 찾아보기**를 선택하고 S3 버킷을 선택합니다.

   1. **최대 파일 크기**의 경우 - 이 제한 미만의 파일만 크롤링하도록 제한을 MB 단위로 지정합니다. Amazon Kendra 허용되는 최대 파일 크기는 50MB입니다.

   1. (선택 사항) **메타데이터 파일 접두사 폴더 위치**의 경우 - 필드/속성 및 기타 문서 메타데이터가 저장된 폴더의 경로를 지정합니다. **S3 찾아보기**를 선택하여 메타데이터 폴더를 찾습니다.

   1. (선택 사항) **액세스 제어 목록 구성 파일 위치**의 경우 - 사용자의 JSON 구조와 문서에 대한 액세스 권한이 포함된 파일의 경로를 지정합니다. **S3 찾아보기**를 선택하여 ACL 파일을 찾습니다.

   1. (선택 사항) **해독 키 선택** - 암호 해독 키를 사용하려면 선택합니다. 기존 AWS KMS 키를 사용하도록 선택할 수 있습니다.

   1. (선택 사항) **추가 구성**의 경우 - 패턴을 추가하여 특정 파일을 포함하거나 제외합니다. 모든 경로는 데이터 소스 위치 S3 버킷과 관련이 있습니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 선택적 정보를 입력합니다.

   1. **기본 필드 매핑 **- 인덱스에 매핑하려는 Amazon Kendra 생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만들려면 선택합니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

** Amazon Kendra 에 연결하려면 Amazon S3**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `S3`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **BucketName** - 문서가 포함된 버킷의 이름입니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **IAM 역할** - Secrets Manager 보안 암호`CreateDataSource`에 액세스하고 S3 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM 역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다 Amazon Kendra. 자세한 내용은 [S3 데이터 소스에 대한IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 특정 파일 이름, 파일 유형, 파일 경로를 포함할지 또는 제외할지를 지정합니다. glob 패턴(와일드카드 패턴을 확장하여 주어진 패턴과 일치하는 경로 이름 목록으로 변환할 수 있는 패턴)을 사용합니다. 예제는 AWS CLI 명령 참조[의 제외 및 포함 필터 사용을 참조하세요](https://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters).
+ **문서 메타데이터 및 액세스 제어 구성** - 소스 URI, 문서 작성자, 사용자 지정 문서 속성/필드 등의 정보를 포함한 문서 메타데이터와 액세스 제어 파일, 사용자와 사용자가 액세스할 수 있는 문서를 추가합니다. 각 메타데이터 파일에는 단일 문서에 대한 메타데이터가 들어 있습니다.
+  **필드 매핑** - S3 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra 검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [S3 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-s3-schema)를 참조하세요.

------

### 자세히 알아보기
<a name="s3-learn-more"></a>

S3 데이터 소스 Amazon Kendra 와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [VPC 지원 Amazon Kendra S3 Connector를 사용하여 정확한 답변 검색](https://aws.amazon.com/blogs/machine-learning/search-for-answers-accurately-using-amazon-kendra-s3-connector-with-vpc-support/)

# Amazon S3 데이터 소스 생성
<a name="create-ds-s3"></a>

다음 예제에서는 Amazon S3 데이터 소스 생성을 보여줍니다. 이 예제에서는 인덱스에서 데이터를 읽을 수 있는 권한이 있는 IAM 역할 및 인덱스를 이미 생성했다고 가정합니다. IAM 역할에 대한 자세한 내용은 [IAM 액세스 역할을](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) 참조하세요. 인덱스 생성에 대한 자세한 내용은 [인덱스 생성](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html)을 참조하세요.

------
#### [ CLI ]

```
aws kendra create-data-source \
 --index-id index ID \
 --name example-data-source \
 --type S3 \
 --configuration '{"S3Configuration":{"BucketName":"bucket name"}}' 
 --role-arn 'arn:aws:iam::account id:role:/role name
```

------
#### [ Python ]

다음 Python 코드 조각은 Amazon S3 데이터 소스를 생성합니다. 전체 예제는 [시작하기(AWS SDK for Python (Boto3))](gs-python.md) 섹션을 참조하세요.

```
print("Create an Amazon S3 data source.")
    
    # Provide a name for the data source
    name = "getting-started-data-source"
    # Provide an optional description for the data source
    description = "Getting started data source."
    # Provide the IAM role ARN required for data sources
    role_arn = "arn:aws:iam::${accountID}:role/${roleName}"
    # Provide the data soource connection information
    s3_bucket_name = "S3-bucket-name"
    type = "S3"
    # Configure the data source
    configuration = {"S3DataSourceConfiguration":
        {
            "BucketName": s3_bucket_name
        }
    }

    data_source_response = kendra.create_data_source(
        Configuration = configuration,
        Name = name,
        Description = description,
        RoleArn = role_arn,
        Type = type,
        IndexId = index_id
    )
```

------

데이터 소스를 생성하는 데 시간이 조금 걸릴 수 있습니다. [DescribeDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DescribeDataSource.html) API를 사용하여 진행 상황을 모니터링할 수 있습니다. 데이터 소스 상태가 `ACTIVE`가 되면 데이터 소스를 사용할 준비가 된 것입니다.

다음 예제는 데이터 소스의 상태를 가져오는 방법을 보여줍니다.

------
#### [ CLI ]

```
aws kendra describe-data-source \
 --index-id index ID \
 --id data source ID
```

------
#### [ Python ]

다음 Python 코드 스니펫은 S3 데이터 소스에 대한 정보를 가져옵니다. 전체 예제는 [시작하기(AWS SDK for Python (Boto3))](gs-python.md) 섹션을 참조하세요.

```
print("Wait for Amazon Kendra to create the data source.")

    while True:
        data_source_description = kendra.describe_data_source(
            Id = "data-source-id",
            IndexId = "index-id"
        )
        status = data_source_description["Status"]
        print(" Creating data source. Status: "+status)
        time.sleep(60)
        if status != "CREATING":
            break
```

------

이 데이터 소스에는 일정이 없으므로 자동으로 실행되지 않습니다. 데이터 소스를 인덱싱하려면 [StartDataSourceSyncJob](https://docs.aws.amazon.com/kendra/latest/APIReference/API_StartDataSourceSyncJob.html)을 호출하여 인덱스를 데이터 소스와 동기화합니다.

다음 예는 데이터 소스 동기화를 보여줍니다.

------
#### [ CLI ]

```
aws kendra start-data-source-sync-job \
 --index-id index ID \
 --id data source ID
```

------
#### [ Python ]

다음 Python 코드 스니펫은 Amazon S3 데이터 소스를 동기화합니다. 전체 예제는 [시작하기(AWS SDK for Python (Boto3))](gs-python.md) 섹션을 참조하세요.

```
print("Synchronize the data source.")

    sync_response = kendra.start_data_source_sync_job(
        Id = "data-source-id",
        IndexId = "index-id"
    )
```

------

# Amazon S3 문서 메타데이터
<a name="s3-metadata"></a>

메타데이터 파일을 사용하여 문서에 대한 추가 정보인 메타데이터를 Amazon S3 버킷의 문서에 추가할 수 있습니다. 각 메타데이터 파일은 인덱싱된 문서와 연결됩니다.

메타데이터 파일은 인덱싱된 파일과 동일한 버킷에 저장해야 합니다. Amazon S3 데이터 소스를 생성할 때 콘솔 또는 `DocumentsMetadataConfiguration` 파라미터의 `S3Prefix` 필드를 사용하여 메타데이터 파일의 버킷 내 위치를 지정할 수 있습니다. Amazon S3 접두사를 지정하지 않는 경우 메타데이터 파일은 인덱싱된 문서와 동일한 위치에 저장되어야 합니다.

메타데이터 파일의 Amazon S3 접두사를 지정하는 경우 해당 파일은 인덱싱된 문서와 병렬인 디렉터리 구조에 있습니다. Amazon Kendra looks는 메타데이터에 대해 지정된 디렉터리에만 있습니다. 메타데이터를 읽을 수 없는 경우 디렉터리 위치가 메타데이터의 위치와 일치하는지 확인하세요.

다음 예시에서는 인덱싱된 문서 위치가 메타데이터 파일 위치에 매핑되는 방식을 보여줍니다. 문서의 Amazon S3 키는 메타데이터의 Amazon S3 접두사에 추가된 다음 접미사를 사용하여 메타데이터 파일의 Amazon S3 경로를 `.metadata.json` 형성합니다. 메타데이터의 Amazon S3 접두사와 `.metadata.json` 접미사가 있는 결합된 Amazon S3 키는 총 1024자 이하여야 합니다. Amazon S3 키를 접두사 및 접미사와 결합할 때 추가 문자를 고려하려면 키를 1000자 미만으로 유지하는 것이 좋습니다.

```
Bucket name:
     s3://bucketName
Document path:
     documents
Metadata path:
     none
File mapping
     s3://bucketName/documents/file.txt -> 
        s3://bucketName/documents/file.txt.metadata.json
```

```
Bucket name:
     s3://bucketName
Document path:
     documents/legal
Metadata path:
     metadata
File mapping
     s3://bucketName/documents/legal/file.txt -> 
        s3://bucketName/metadata/documents/legal/file.txt.metadata.json
```

문서 메타데이터는 JSON 파일에 정의되어 있습니다. 파일은 BOM 마커가 없는 UTF-8 텍스트 파일이어야 합니다. JSON 파일의 이름은 `<document>.<extension>.metadata.json`이어야 합니다. 이 예제에서 “document”는 메타데이터가 적용되는 문서의 이름이고 “extension”은 문서의 파일 확장자입니다. 문서 ID는 `<document>.<extension>.metadata.json`에서 고유해야 합니다.

JSON 파일의 내용은 이 템플릿을 따릅니다. 모든 속성/필드는 선택 사항이므로 모든 속성을 포함할 필요는 없습니다. 포함하려는 각 속성에 값을 입력해야 합니다. 값은 비워 둘 수 없습니다. 를 지정하지 않으면 검색 결과 Amazon Kendra 에서가 반환한 링크`_source_uri`는 문서가 포함된 Amazon S3 버킷을 가리킵니다. `DocumentId`는 필드에 매핑`s3_document_id`되며 S3의 문서에 대한 절대 경로입니다.

```
{
    "DocumentId": "S3 document ID, the S3 path to doc",
    "Attributes": {
        "_category": "document category",
        "_created_at": "ISO 8601 encoded string",
        "_last_updated_at": "ISO 8601 encoded string",
        "_source_uri": "document URI",
        "_version": "file version",
        "_view_count": number of times document has been viewed,
        "custom attribute key": "custom attribute value",
        additional custom attributes
    },
    "AccessControlList": [
         {
             "Name": "user name",
             "Type": "GROUP | USER",
             "Access": "ALLOW | DENY"
         }
    ],
    "Title": "document title",
    "ContentType": "For example HTML | PDF. For supported content types, see [Types of documents](https://docs.aws.amazon.com/kendra/latest/dg/index-document-types.html)."
}
```

`_created_at` 및 `_last_updated_at` 메타데이터 필드는 ISO 8601로 인코딩된 날짜입니다. 예를 들어, 2012-03-25T12:30:10\$101:00은 중부 유럽 시간대로 2012년 3월 25일 오후 12시 30분 10초에 대한 ISO 8601 날짜/시간 형식입니다.

쿼리를 필터링하거나 쿼리 응답을 그룹화하는 데 사용하는 문서에 대한 추가 정보를 `Attributes` 필드에 추가할 수 있습니다. 자세한 내용은 [사용자 지정 문서 필드 만들기](custom-attributes.md) 단원을 참조하십시오.

`AccessControlList` 필드를 사용하여 쿼리의 응답을 필터링할 수 있습니다. 이렇게 하면 특정 사용자와 그룹만 문서에 액세스할 수 있습니다. 자세한 내용은 [사용자 컨텍스트 필터링](user-context-filter.md) 단원을 참조하십시오.

# Amazon S3 데이터 소스에 대한 액세스 제어
<a name="s3-acl"></a>

구성 파일을 사용하여 Amazon S3 데이터 소스의 문서에 대한 액세스를 제어할 수 있습니다. 파일은 콘솔에서 지정하거나 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) 또는 [UpdateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UpdateDataSource.html) API를 호출할 때 `AccessControlListConfiguration` 파라미터로 지정합니다.

구성 파일에는 S3 접두사를 식별하고 접두사에 대한 액세스 설정을 나열하는 JSON 구조가 포함되어 있습니다. 접두사는 경로일 수도 있고 개별 파일일 수도 있습니다. 접두사가 경로인 경우 액세스 설정은 해당 경로에 있는 모든 파일에 적용됩니다. JSON 구성 파일에는 최대 S3 접두사 수와 기본 최대 파일 크기가 있습니다. 자세한 내용은 [에 대한 할당량 Amazon Kendra](quotas.md) 섹션을 참조하세요.

액세스 설정에서 사용자와 그룹을 모두 지정할 수 있습니다. 인덱스를 쿼리할 때 사용자 및 그룹 정보를 지정합니다. 자세한 내용은 [사용 속성으로 필터링](user-context-filter.md#context-filter-attribute) 단원을 참조하십시오.

구성 파일의 JSON 구조는 다음 형식이어야 합니다.

```
[
    {
        "keyPrefix": "s3://BUCKETNAME/prefix1/",
        "aclEntries": [
            {
                "Name": "user1",
                "Type": "USER",
                "Access": "ALLOW"
            },
            {
                "Name": "group1",
                "Type": "GROUP",
                "Access": "DENY"
            }
        ]
    },
    {
        "keyPrefix": "s3://prefix2",
        "aclEntries": [
            {
                "Name": "user2",
                "Type": "USER",
                "Access": "ALLOW"
            },
            {
                "Name": "user1",
                "Type": "USER",
                "Access": "DENY"
            },
            {
                "Name": "group1",
                "Type": "GROUP",
                "Access": "DENY"
            }
        ]
    }
]
```

# Amazon S3 데이터 소스와 Amazon VPC 함께 사용
<a name="s3-vpc-example-1"></a>

이 주제에서는 Amazon VPC를 통해 Amazon S3 커넥터를 사용하여 Amazon S3 버킷에 연결하는 방법을 보여주는 단계별 예제를 제공합니다. 이 예제에서는 기존 S3 버킷으로 시작한다고 가정합니다. 예제를 테스트하려면 S3 버킷에 문서를 몇 개만 업로드하는 것이 좋습니다.

 Amazon Kendra 를 통해 Amazon S3 버킷에 연결할 수 있습니다 Amazon VPC. 이렇게 하려면 Amazon S3 데이터 소스 커넥터를 생성할 때 Amazon VPC 서브넷 및 Amazon VPC 보안 그룹을 지정해야 합니다.

**중요**  
 Amazon S3 커넥터가 Amazon Kendra Amazon S3 버킷에 액세스할 수 있도록 Virtual Private Cloud(VPC)에 Amazon S3 엔드포인트를 할당했는지 확인합니다.

가 Amazon Kendra 를 통해 Amazon S3 버킷의 문서를 동기화 Amazon VPC하려면 다음 단계를 완료해야 합니다.
+ 에 대한 Amazon S3 엔드포인트를 설정합니다 Amazon VPC. Amazon S3 엔드포인트를 설정하는 방법에 대한 자세한 내용은 *AWS PrivateLink 가이드*의에 [대한 게이트웨이 엔드포인트 Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html)를 참조하세요.
+ (선택 사항) Amazon S3 할당한 Virtual Private Cloud(VPC)에서 버킷에 액세스할 수 있는지 확인하기 위해 Amazon S3 버킷 정책을 확인했습니다 Amazon Kendra. 자세한 내용은 *Amazon S3 사용 설명서*의 [버킷 정책을 사용하여 VPC 엔드포인트에서 액세스 제어](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html)를 참조하세요.

**Topics**
+ [1단계: 구성 Amazon VPC](#s3-configure-vpc)
+ [(선택 사항) 2단계: Amazon S3 버킷 정책 구성](#s3-configure-bucket-policy)
+ [3단계: 테스트 Amazon S3 데이터 소스 커넥터 생성](#s3-connect-vpc)

## 1단계: 구성 Amazon VPC
<a name="s3-configure-vpc"></a>

 Amazon S3 게이트웨이 엔드포인트가 있는 프라이빗 서브넷과 나중에 Amazon Kendra 사용할에 대한 보안 그룹을 포함하는 VPC 네트워크를 생성합니다.

**프라이빗 서브넷, S3 엔드포인트 및 보안 그룹을 사용하여 VPC를 구성하려면**

1. 에 로그인 AWS Management Console 하고에서 Amazon VPC 콘솔을 엽니다[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. **에서 사용할 프라이빗 서브넷과 S3 엔드포인트가 있는 VPC Amazon Kendra 를 생성합니다.**

   탐색 창에서 **내 VPC**를 선택한 다음 **VPC 생성**을 선택합니다.

   1. **생성할 리소스**에서 **VPC 등**을 선택합니다.

   1. **이름 태그**에 **자동 생성**을 활성화한 다음 **kendra-s3-example**을 입력합니다.

   1. **IPv4/IPv6 CIDR 블록**은 기본값으로 유지합니다.

   1. **가용 영역(AZ) 수**는**숫자 1**을 선택합니다.

   1. **AZ 사용자 지정**을 선택한 다음 **첫 번째 가용 영역** 목록에서 가용 영역을 선택합니다.

      Amazon Kendra 는 특정 가용 영역 집합만 지원합니다.

   1. **퍼블릭 서브넷 수**로 **숫자 0**을 선택합니다.

   1. **프라이빗 서브넷 수**로 **숫자 1**을 선택합니다.

   1. **NAT 게이트웨이**는 **없음**을 선택합니다.

   1. **VPC 엔드포인트**에서 **Amazon S3 게이트웨이**를 선택합니다.

   1. 나머지 값은 기본 설정으로 유지합니다.

   1. **VPC 생성**을 선택합니다.

      **VPC 생성** 워크플로가 완료될 때까지 기다립니다. 그런 다음 **VPC 보기**를 선택하여 방금 생성한 **VPC**를 확인합니다.

   이제 퍼블릭 인터넷에 액세스할 수 없는 프라이빗 서브넷이 있는 VPC 네트워크를 생성했습니다.

1. **Amazon S3 엔드포인트의 VPC 엔드포인트 ID를 복사합니다.**

   1. 탐색 창에서 **엔드포인트**를 선택합니다.

   1. **엔드포인트** 목록에서 VPC와 함께 방금 생성한 Amazon S3 엔드포인트 `kendra-s3-example-vpce-s3`를 찾습니다.

   1. **VPC 엔드포인트 ID**를 기록해 둡니다.

   이제 서브넷을 통해 Amazon S3 버킷에 액세스할 수 있는 Amazon S3 게이트웨이 엔드포인트를 생성했습니다.

1. ** Amazon Kendra 에서 사용할 **보안 그룹**을 생성하는 방법:**

   1. 탐색 창에서 **보안 그룹**을 선택한 다음, **보안 그룹 생성**을 선택합니다.

   1. **보안 그룹 이름**에 **s3-data-source-security-group**를 입력합니다.

   1. **Amazon VPC** 목록에서 VPC를 선택합니다.

   1. **인바운드 규칙**과 **아웃바운드 규칙**을 기본값으로 둡니다.

   1. **보안 그룹 생성**을 선택합니다.

   VPC 보안 그룹이 생성되었습니다.

커넥터 구성 프로세스 중에 생성한 서브넷 및 보안 그룹을 Amazon Kendra Amazon S3 데이터 소스 커넥터에 할당합니다.

## (선택 사항) 2단계: Amazon S3 버킷 정책 구성
<a name="s3-configure-bucket-policy"></a>

이 선택적 단계에서는 Amazon Kendra에 할당한 VPC에서만 Amazon S3 버킷에 액세스할 수 있도록 Amazon S3 버킷 정책을 구성하는 방법을 알아봅니다.

Amazon Kendra 는 IAM 역할을 사용하여 Amazon S3 버킷에 액세스하며 Amazon S3 버킷 정책을 구성할 필요가 없습니다. 그러나 퍼블릭 인터넷에서 액세스를 제한하는 기존 정책이 있는 Amazon S3 버킷을 사용하여 Amazon S3 커넥터를 구성하려는 경우 버킷 정책을 생성하는 것이 유용할 수 있습니다.

**Amazon S3 버킷 정책을 구성하려면**

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 Amazon S3 콘솔을 엽니다.

1. 탐색 창에서 **버킷**을 선택합니다.

1. 동기화하려는 Amazon S3 버킷의 이름을 선택합니다 Amazon Kendra.

1. **권한** 탭을 선택하고 **버킷 정책**까지 아래로 스크롤한 다음 **편집**을 클릭합니다.

1. 생성한 VPC 엔드포인트에서만 액세스할 수 있도록 버킷 정책을 추가하거나 수정합니다.

   다음은 버킷 정책의 예입니다. *`bucket-name`* 및 *`vpce-id`*를 앞서 기록한 Amazon S3 버킷 이름과 Amazon S3 엔드포인트 ID로 바꿉니다.

1. **변경 사항 저장**을 선택합니다.

이제 S3 버킷은 생성한 특정 VPC에서만 액세스할 수 있습니다.

## 3단계: 테스트 Amazon S3 데이터 소스 커넥터 생성
<a name="s3-connect-vpc"></a>

 Amazon VPC 구성을 테스트하려면 커넥터를 생성합니다 Amazon S3 . 그런 다음 [Amazon S3](https://docs.aws.amazon.com/kendra/latest/dg/data-source-s3.html)에 설명된 단계에 따라 생성한 VPC로 구성합니다.

 Amazon VPC 구성 값의 경우이 예제에서 생성한 값을 선택합니다.
+ **Amazon VPC(VPC)** – `kendra-s3-example-vpc`
+ **서브넷** – `kendra-s3-example-subnet-private1-[availability zone]`
+ **보안 그룹** – `s3-data-source-security-group`

커넥터 생성이 완료될 때까지 기다립니다. Amazon S3 커넥터를 생성한 후 **지금 동기화**를 선택하여 동기화를 시작합니다.

 Amazon S3 버킷에 있는 문서 수에 따라 동기화를 완료하는 데 몇 분에서 몇 시간이 걸릴 수 있습니다. 예제를 테스트하려면 S3 버킷에 몇 개의 문서만 업로드하는 것이 좋습니다. 구성이 올바르면 결국 **동기화 상태**가 **완료됨**으로 표시됩니다.

오류가 발생하면 [Amazon VPC 연결 문제 해결을 참조하세요](https://docs.aws.amazon.com/kendra/latest/dg/vpc-connector-troubleshoot.html).

# Amazon Kendra 웹 크롤러
<a name="data-source-web-crawler"></a>

 Amazon Kendra 웹 크롤러를 사용하여 웹 페이지를 크롤링하고 인덱싱할 수 있습니다.

보안 통신 프로토콜인 HTTPS(Hypertext Transfer Protocol Secure)를 사용하는 공개 웹 사이트 또는 회사 내부 웹사이트만 크롤링할 수 있습니다. 웹 사이트를 크롤링할 때 오류가 발생하면 웹 사이트가 크롤링되지 않도록 차단되었을 수 있습니다. 내부 웹 사이트를 크롤링하기 위해 웹 프록시를 설정할 수 있습니다. 이 웹 프록시는 공개용이어야 합니다. 인증을 사용하여 웹 사이트에 액세스하고 크롤링할 수도 있습니다.

*인덱싱할 웹 사이트를 선택할 때 [Amazon 이용 정책](https://aws.amazon.com/aup/)과 기타 모든 Amazon 약관을 준수해야 합니다. Amazon Kendra 웹 크롤러는 자체 웹 페이지 또는 인덱싱 권한이 있는 웹 페이지를 인덱싱하는 데만 사용해야 합니다. Amazon Kendra 웹 크롤러가 웹 사이트(들) 인덱싱을 중지하는 방법을 알아보려면 섹션을 참조하세요[Amazon Kendra 웹 크롤러용 `robots.txt` 파일 구성](stop-web-crawler.md).*

**참고**  
 Amazon Kendra 웹 크롤러를 남용하여 소유하지 않은 웹 사이트 또는 웹 페이지를 적극적으로 크롤링하는 것은 허용 가능한 사용으로 간주되지 **않습니다**.

Amazon Kendra 에는 두 가지 버전의 web crawler 커넥터가 있습니다. 각 버전에 지원되는 기능은 다음과 같습니다.

**Amazon Kendra 웹 크롤러 커넥터 v1.0/[https://docs.aws.amazon.com/kendra/latest/dg/API_WebCrawlerConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_WebCrawlerConfiguration.html)API**
+ 웹 프록시
+ 포함/제외 필터

**Amazon Kendra 웹 크롤러 커넥터 v2.0/[https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html)API**
+ 필드 매핑
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ 웹 프록시
+ 웹 사이트를 위한 기본, NTLM/Kerberos, SAML 및 양식 인증
+ Virtual private cloud(VPC)

**중요**  
웹 크롤러 v2.0 커넥터 생성은에서 지원되지 않습니다 CloudFormation. CloudFormation 지원이 필요한 경우 웹 크롤러 v1.0 커넥터를 사용합니다.

 Amazon Kendra 웹 크롤러 데이터 소스 커넥터 문제를 해결하려면 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [Amazon Kendra 웹 크롤러 커넥터 v1.0](data-source-v1-web-crawler.md)
+ [Amazon Kendra 웹 크롤러 커넥터 v2.0](data-source-v2-web-crawler.md)
+ [Amazon Kendra 웹 크롤러용 `robots.txt` 파일 구성](stop-web-crawler.md)

# Amazon Kendra 웹 크롤러 커넥터 v1.0
<a name="data-source-v1-web-crawler"></a>

 Amazon Kendra 웹 크롤러를 사용하여 웹 페이지를 크롤링하고 인덱싱할 수 있습니다.

보안 통신 프로토콜인 HTTPS(Hypertext Transfer Protocol Secure)를 사용하는 웹사이트와 공개 웹 사이트만 크롤링할 수 있습니다. 웹 사이트를 크롤링할 때 오류가 발생하면 웹 사이트가 크롤링되지 않도록 차단되었을 수 있습니다. 내부 웹 사이트를 크롤링하기 위해 웹 프록시를 설정할 수 있습니다. 이 웹 프록시는 공개용이어야 합니다.

*인덱싱할 웹 사이트를 선택할 때 [Amazon 이용 정책](https://aws.amazon.com/aup/)과 기타 모든 Amazon 약관을 준수해야 합니다. Amazon Kendra 웹 크롤러는 자체 웹 페이지 또는 인덱싱 권한이 있는 웹 페이지를 인덱싱하는 데만 사용해야 합니다. Amazon Kendra 웹 크롤러가 웹 사이트(들) 인덱싱을 중지하는 방법을 알아보려면 섹션을 참조하세요[Amazon Kendra 웹 크롤러용 `robots.txt` 파일 구성](stop-web-crawler.md).*

**참고**  
 Amazon Kendra 웹 크롤러를 남용하여 소유하지 않은 웹 사이트 또는 웹 페이지를 공격적으로 크롤링하는 것은 허용 가능한 사용으로 간주되지 **않습니다**.

 Amazon Kendra 웹 크롤러 데이터 소스 커넥터 문제를 해결하려면 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v1-web-crawler)
+ [사전 조건](#prerequisites-v1-web-crawler)
+ [연결 지침](#data-source-v1-procedure-web-crawler)
+ [자세히 알아보기](#web-crawler-learn-more)

## 지원되는 기능
<a name="supported-features-v1-web-crawler"></a>
+ 웹 프록시
+ 포함/제외 필터

## 사전 조건
<a name="prerequisites-v1-web-crawler"></a>

 Amazon Kendra 를 사용하여 웹 사이트를 인덱싱하려면 먼저 웹 사이트 및 AWS 계정의 세부 정보를 확인하세요.

**웹 사이트의 경우 다음이 있어야 합니다.**
+ 인덱싱하려는 웹 사이트의 시드 또는 사이트맵 URL을 복사했습니다.
+ **기본 인증이 필요한 웹 사이트의 경우**: 사용자 이름과 암호를 기록하고 웹 사이트의 호스트 이름과 포트 번호를 복사했습니다.
+ **선택 사항:** 웹 프록시를 사용하여 크롤링하려는 내부 웹 사이트에 연결하려는 경우 웹 사이트의 호스트 이름과 포트 번호를 복사했습니다. 이 웹 프록시는 공용이어야 합니다. Amazon Kendra 에서는 기본 인증으로 뒷받침되는 웹 프록시 서버 또는 인증 없이 연결할 수 있는 웹 프록시 서버에 연결할 수 있습니다.
+ 인덱싱하려는 각 웹 페이지 문서가 고유한지, 동일한 인덱스에 사용할 다른 데이터 소스 전체를 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

** AWS 계정에 다음이 있는지 확인합니다.**
+ [Amazon Kendra 인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM 역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM 역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager 보안 암호 ID에 액세스하도록 IAM 역할을 업데이트해야 합니다.
+ 인증이 필요한 웹 사이트의 경우 또는 인증과 함께 웹 프록시를 사용하는 경우는 보안 AWS Secrets Manager 암호에 인증 자격 증명을 저장하고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM 역할이나 보안 암호가 없는 경우 web crawler 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM 역할 및 Secrets Manager 보안 암호를 생성할 수 있습니다 Amazon Kendra. API를 사용하는 경우 기존 IAM 역할 및 Secrets Manager 보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-v1-procedure-web-crawler"></a>

web crawler 데이터 소스 Amazon Kendra 에 연결하려면가 web crawler 데이터에 액세스할 Amazon Kendra 수 있도록 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 아직에 web crawler 대해를 구성하지 않은 경우 단원을 Amazon Kendra 참조하십시오[사전 조건](#prerequisites-v1-web-crawler).

------
#### [ Console ]

** Amazon Kendra 에 연결하려면 web crawler** 

1. 에 로그인 AWS Management Console 하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **웹 크롤러 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **웹 크롤러 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**의 경우 사용 사례에 따라 **소스 URL**과 **소스 사이트맵** 중에서 선택하고 각 값을 입력합니다.

      최대 10개의 소스 URL과 3개의 사이트맵을 추가할 수 있습니다.
**참고**  
사이트맵을 크롤링하려면 기본 또는 루트 URL이 사이트맵 페이지에 나열된 URL과 동일한지 확인하세요. 예를 들어 사이트맵 URL이 *https://example.com/sitemap-page.html*인 경우 이 사이트맵 페이지에 나열된 URL도 기본 URL “https://example.com/”을 사용해야 합니다.

   1. (선택 사항) **웹 프록시**의 경우 다음 정보를 입력합니다.

      1. **호스트 이름** - 웹 프록시가 필요한 호스트 이름입니다.

      1. **포트 번호** - 호스트 URL 전송 프로토콜에서 사용하는 포트입니다. 포트 번호는 0에서 65535 사이의 숫자 값이어야 합니다.

      1. **웹 프록시 보안 인증**의 경우 - 웹 프록시 연결에 인증이 필요한 경우 기존 보안 암호를 선택하거나 보안 인증 정보를 저장할 새 보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. ** AWS Secrets Manager Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

         1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-WebCrawler-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

         1. **사용자 이름** 및 **암호**의 경우 - 웹 사이트의 기본 보안 인증 정보를 입력합니다.

         1. **저장**을 선택합니다.

   1. (선택 사항) **인증 받은 호스트** - 인증 받은 호스트를 더 추가하려면 선택합니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **크롤링 범위** - 크롤링하려는 웹 페이지의 종류를 선택합니다.

   1. **크롤링 깊이** - 시드 URL에서 크롤링 Amazon Kendra 해야 하는 레벨 수를 선택합니다.

   1. **고급 크롤링 설정** 및 **추가 구성**은 다음 정보를 입력합니다.

      1. **최대 파일 크기** - 크롤링할 최대 웹 페이지 또는 첨부 파일 크기입니다. 최소 0.000001MB(1바이트). 최대 50MB.

      1. **페이지당 최대 링크 수** - 페이지당 크롤링된 최대 링크 수입니다. 링크는 표시되는 순서대로 크롤링됩니다. 페이지당 최소 1개 링크. 페이지당 최대 1000개의 링크.

      1. **최대 제한** - 1분간 호스트 이름당 크롤링되는 최대 URL 수입니다. 분당 호스트 이름당 최소 1개 URL. 분당 호스트 이름당 최대 300개 URL.

      1. **정규식 패턴** - 특정 URL을 포함하거나 제외하기 위한 정규 표현식 패턴을 추가합니다. 최대 100개의 패턴을 추가할 수 있습니다.

   1. **동기화 실행 일정**에서 **빈도** - Amazon Kendra 가 데이터 소스와 동기화하는 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

** Amazon Kendra 에 연결하려면 web crawler**

[WebCrawlerConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_WebCrawlerConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **URL** - [https://docs.aws.amazon.com/kendra/latest/dg/API_SeedUrlConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_SeedUrlConfiguration.html) 및 [https://docs.aws.amazon.com/kendra/latest/dg/API_SiteMapsConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_SiteMapsConfiguration.html)를 사용하여 크롤링할 웹 사이트의 시드나 시작 지점 URL 또는 웹 사이트의 사이트맵 URL을 지정합니다.
**참고**  
사이트맵을 크롤링하려면 기본 또는 루트 URL이 사이트맵 페이지에 나열된 URL과 동일한지 확인하세요. 예를 들어 사이트맵 URL이 *https://example.com/sitemap-page.html*인 경우 이 사이트맵 페이지에 나열된 URL도 기본 URL “https://example.com/”을 사용해야 합니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - 웹사이트에서 기본 인증을 요구하는 경우 호스트 이름, 포트 번호, 사용자 이름 및 암호의 기본 보안 인증 정보를 저장하는 보안 암호를 제공합니다. [https://docs.aws.amazon.com/kendra/latest/dg/API_AuthenticationConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_AuthenticationConfiguration.html) API를 사용하여 보안 암호 ARN을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "username": "user name",
      "password": "password"
  }
  ```

   AWS Secrets Manager 보안 암호를 사용하여 웹 프록시 보안 인증 정보를 제공할 수도 있습니다. [https://docs.aws.amazon.com/kendra/latest/dg/API_ProxyConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_ProxyConfiguration.html) API를 사용하여 웹 사이트 호스트 이름과 포트 번호를 제공하고, 선택적으로 웹 프록시 보안 인증 정보를 저장하는 보안 암호를 제공합니다.
+ **IAM 역할** - Secrets Manager 보안 암호`CreateDataSource`에 액세스하고 웹 크롤러 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM 역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다 Amazon Kendra. 자세한 내용은 [웹 크롤러 데이터 소스에 대한IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+ **크롤링 모드** - 웹 사이트 호스트 이름만 크롤링할지, 하위 도메인이 포함된 호스트 이름을 크롤링할지, 아니면 웹 페이지가 연결된 다른 도메인도 크롤링할지 선택합니다.
+ 시드 수준에서부터 크롤링할 '깊이' 또는 수준 수. 예를 들어 시드 URL 페이지는 깊이 1이고 이 페이지에서 크롤링되는 모든 하이퍼링크는 깊이 2입니다.
+ 크롤링할 단일 웹 페이지의 최대 URL 수입니다.
+ 크롤링할 웹 페이지의 최대 크기(MB 단위)입니다.
+ 1분간 웹 사이트 호스트당 크롤링되는 최대 URL 수입니다.
+ 내부 웹 사이트에 연결하고 크롤링하기 위한 웹 프록시 호스트 및 포트 번호입니다. 예를 들어, *https://a.example.com/page1.html*의 호스트 이름은 “a.example.com”이고 포트 번호는 HTTPS의 표준 포트인 443입니다. 웹 사이트 호스트에 연결하는 데 웹 프록시 보안 인증이 필요한 경우, 보안 인증을 저장하는 AWS Secrets Manager 보안 암호를 만들 수 있습니다.
+ 사용자 인증이 필요한 웹 사이트에 액세스하고 크롤링하기 위한 인증 정보입니다.
+ *사용자 지정 문서 보강* 도구를 사용하여 HTML 메타 태그를 필드로 추출할 수 있습니다. 자세한 내용을 알아보려면 [수집 프로세스 중 문서 메타데이터 사용자 지정](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html)을 참조하세요. HTML 메타태그 추출의 예는 [CDE 예제](https://github.com/aws-samples/amazon-kendra-cde-examples)를 참조하세요.
+  **포함 및 제외 필터** - 특정 URL을 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.

------

## 자세히 알아보기
<a name="web-crawler-learn-more"></a>

web crawler 데이터 소스 Amazon Kendra 와의 통합에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Kendra의 웹 크롤러를 사용하여 지식 검색 재구상](https://aws.amazon.com/blogs/machine-learning/reimagine-knowledge-discovery-using-amazon-kendras-web-crawler/)

# Amazon Kendra 웹 크롤러 커넥터 v2.0
<a name="data-source-v2-web-crawler"></a>

 Amazon Kendra 웹 크롤러를 사용하여 웹 페이지를 크롤링하고 인덱싱할 수 있습니다.

보안 통신 프로토콜인 HTTPS(Hypertext Transfer Protocol Secure)를 사용하는 공개 웹 사이트 또는 회사 내부 웹사이트만 크롤링할 수 있습니다. 웹 사이트를 크롤링할 때 오류가 발생하면 웹 사이트가 크롤링되지 않도록 차단되었을 수 있습니다. 내부 웹 사이트를 크롤링하기 위해 웹 프록시를 설정할 수 있습니다. 이 웹 프록시는 공개용이어야 합니다. 인증을 사용하여 웹 사이트에 액세스하고 크롤링할 수도 있습니다.

Amazon Kendra 웹 크롤러 v2.0은 Selenium 웹 크롤러 패키지와 Chromium 드라이버를 사용합니다.는 지속적 통합(CI)을 사용하여 Selenium 버전과 Chromium 드라이버를 Amazon Kendra 자동으로 업데이트합니다.

*인덱싱할 웹 사이트를 선택할 때 [Amazon 이용 정책](https://aws.amazon.com/aup/)과 기타 모든 Amazon 약관을 준수해야 합니다. Amazon Kendra 웹 크롤러는 자체 웹 페이지 또는 인덱싱 권한이 있는 웹 페이지를 인덱싱하는 데만 사용해야 합니다. Amazon Kendra 웹 크롤러가 웹 사이트(들)를 인덱싱하지 못하게 하는 방법을 알아보려면 섹션을 참조하세요[Amazon Kendra 웹 크롤러용 `robots.txt` 파일 구성](stop-web-crawler.md).* Amazon Kendra 웹 크롤러를 남용하여 소유하지 않은 웹 사이트 또는 웹 페이지를 적극적으로 크롤링하는 것은 허용 가능한 사용으로 간주되지 **않습니다**.

 Amazon Kendra 웹 크롤러 데이터 소스 커넥터 문제를 해결하려면 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**참고**  
웹 크롤러 커넥터 v2.0은 AWS KMS 암호화된 Amazon S3 버킷에서 웹 사이트 목록 크롤링을 지원하지 *않습니다*. Amazon S3 관리형 키를 사용한 서버 측 암호화만 지원합니다.

**중요**  
웹 크롤러 v2.0 커넥터 생성은에서 지원되지 않습니다 CloudFormation. CloudFormation 지원이 필요한 경우 웹 크롤러 v1.0 커넥터를 사용합니다.

**Topics**
+ [지원되는 기능](#supported-features-v2-web-crawler)
+ [사전 조건](#prerequisites-v2-web-crawler)
+ [연결 지침](#data-source-v2-procedure-web-crawler)

## 지원되는 기능
<a name="supported-features-v2-web-crawler"></a>
+ 필드 매핑
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ 웹 프록시
+ 웹 사이트를 위한 기본, NTLM/Kerberos, SAML 및 양식 인증
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-v2-web-crawler"></a>

 Amazon Kendra 를 사용하여 웹 사이트를 인덱싱하려면 먼저 웹 사이트 및 AWS 계정의 세부 정보를 확인하세요.

**웹 사이트의 경우 다음이 있어야 합니다.**
+ 인덱싱하려는 웹 사이트의 시드 또는 사이트맵 URL을 복사했습니다. URL을 텍스트 파일에 저장하고 이를 Amazon S3 버킷에 업로드할 수 있습니다. 텍스트 파일의 각 URL은 별도의 줄에 형식을 지정해야 합니다. Amazon S3 버킷에 사이트맵을 저장하려면 사이트맵 XML을 복사하여 XML 파일에 저장해야 합니다. 여러 개의 사이트맵 XML 파일을 ZIP 파일로 묶을 수도 있습니다.
**참고**  
(온프레미스/서버)는에 포함된 엔드포인트 정보가 데이터 소스 구성 세부 정보에 지정된 엔드포인트 정보와 AWS Secrets Manager 동일한지 Amazon Kendra 확인합니다. 이렇게 하면 사용자가 작업을 수행할 권한이 없지만 구성된 보안 암호에 액세스하여 작업을 수행하는 데 Amazon Kendra 를 프록시로 사용하는 보안 문제인 [혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)를 방지하는 데 도움이 됩니다. 나중에 엔드포인트 정보를 변경하는 경우 새 보안 암호를 생성하여 이 정보를 동기화해야 합니다.
+ **기본, NTLM 또는 Kerberos 인증이 필요한 웹 사이트의 경우**:
  + 사용자 이름과 암호가 포함된 웹사이트 보안 인증 정보를 기록해 두었습니다.
**참고**  
Amazon Kendra 웹 크롤러 v2.0은 암호 해싱이 포함된 NTLM 인증 프로토콜과 암호 암호화가 포함된 Kerberos 인증 프로토콜을 지원합니다.
+ **SAML 또는 로그인 양식 인증이 필요한 웹 사이트의 경우**:
  + 사용자 이름과 암호가 포함된 웹사이트 보안 인증 정보를 기록해 두었습니다.
  + 사용자 이름 필드(SAML을 사용하는 경우 사용자 이름 버튼 포함), 암호 필드 및 버튼의 XPaths(XML Path Language)를 복사하고 로그인 페이지 URL을 복사했습니다. 웹 브라우저의 개발자 도구를 사용하여 요소의 XPaths를 찾을 수 있습니다. XPaths는 일반적으로 다음 형식을 따릅니다. `//tagname[@Attribute='Value']` 
**참고**  
Amazon Kendra 웹 크롤러 v2.0은 헤드리스 Chrome 브라우저와 양식의 정보를 사용하여 OAuth 2.0 보호 URL로 액세스를 인증하고 승인합니다.
+ **선택 사항:** 웹 프록시를 사용하여 크롤링하려는 내부 웹 사이트에 연결하려는 경우 웹 프록시 서버의 호스트 이름과 포트 번호를 복사했습니다. 웹 프록시는 퍼블릭이어야 합니다.는 기본 인증으로 지원되는 웹 프록시 서버에 연결할 수 있도록 Amazon Kendra 지원하거나 인증 없이 연결할 수 있습니다.
+ **선택 사항**: VPC를 사용하여 크롤링하려는 내부 웹 사이트에 연결하려는 경우 Virtual Private Cloud(VPC) 서브넷 ID를 복사했습니다. 자세한 내용은 [구성을 참조하세요 Amazon VPC](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html).
+ 인덱싱하려는 각 웹 페이지 문서가 고유한지, 동일한 인덱스에 사용할 다른 데이터 소스 전체를 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

** AWS 계정에 다음이 있는지 확인합니다.**
+ [Amazon Kendra 인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM 역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM 역할의 Amazon 리소스 이름을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager 보안 암호 ID에 액세스하도록 IAM 역할을 업데이트해야 합니다.
+ 인증이 필요한 웹 사이트의 경우 또는 인증과 함께 웹 프록시를 사용하는 경우는 보안 AWS Secrets Manager 암호에 인증 자격 증명을 저장하고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM 역할이나 보안 암호가 없는 경우 web crawler 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM 역할 및 Secrets Manager 보안 암호를 생성할 수 있습니다 Amazon Kendra. API를 사용하는 경우 기존 IAM 역할 및 Secrets Manager 보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-v2-procedure-web-crawler"></a>

web crawler 데이터 소스 Amazon Kendra 에 연결하려면가 web crawler 데이터에 액세스할 Amazon Kendra 수 있도록 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 아직에 web crawler 대해를 구성하지 않은 경우 섹션을 Amazon Kendra 참조하세요[사전 조건](#prerequisites-v2-web-crawler).

------
#### [ Console ]

** Amazon Kendra 에 연결하려면 web crawler** 

1. 에 로그인 AWS Management Console 하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **웹 크롤러 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **웹 크롤러 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**— **소스 URL**, **소스 사이트맵**, **소스 URL 파일**, **소스 사이트맵 파일** 중에서 선택합니다. 최대 100개의 시드 URLs 목록이 포함된 텍스트 파일을 사용하도록 선택한 경우 파일이 저장되는 Amazon S3 버킷의 경로를 지정합니다. 사이트맵 XML 파일을 사용하기로 선택한 경우 파일이 저장되는 Amazon S3 버킷의 경로를 지정합니다. 여러 개의 사이트맵 XML 파일을 ZIP 파일로 묶을 수도 있습니다. 그렇지 않으면 최대 10개의 시드 또는 시작점 URL과 최대 3개의 사이트맵 URL을 수동으로 입력할 수 있습니다.
**참고**  
사이트맵을 크롤링하려면 기본 또는 루트 URL이 사이트맵 페이지에 나열된 URL과 동일한지 확인하세요. 예를 들어 사이트맵 URL이 *https://example.com/sitemap-page.html*인 경우 이 사이트맵 페이지에 나열된 URL도 기본 URL “https://example.com/”을 사용해야 합니다.

      웹 사이트에 액세스하는 데 인증이 필요한 웹 사이트의 경우 기본, NTLM/Kerberos, SAML 또는 양식 인증을 선택할 수 있습니다. 그렇지 않으면 인증 없음 옵션을 선택하세요.
**참고**  
나중에 데이터 소스를 편집하여 사이트맵에 대한 인증을 통해 시드 URL을 변경하려면 새 데이터 소스를 만들어야 합니다. Amazon Kendra 는 인증을 위해 Secrets Manager 보안 암호의 시드 URL 엔드포인트 정보를 사용하여 데이터 소스를 구성하므로 사이트맵으로 변경할 때 데이터 소스를 재구성할 수 없습니다.

      1. **AWS Secrets Manager 보안** 암호 - 웹 사이트에서 웹 사이트에 액세스하기 위해 동일한 인증이 필요한 경우 기존 보안 암호를 선택하거나 새 Secrets Manager 보안 암호를 생성하여 웹 사이트 자격 증명을 저장합니다. 새 보안 암호를 생성하도록 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        **기본** 또는 **NTML/Kerberos** 인증을 선택한 경우 보안 암호와 사용자 이름 및 암호를 입력합니다. NTLM 인증 프로토콜에는 암호 해싱이 포함되고 Kerberos 인증 프로토콜에는 암호 암호화가 포함됩니다.

        **SAML** 또는 **양식** 인증을 선택한 경우 보안 암호와 사용자 이름 및 암호를 입력합니다. 사용자 이름 필드에는 XPath를 사용하고, SAML을 사용하는 경우 사용자 이름 버튼에는 XPath를 사용합니다. 암호 필드와 버튼, 로그인 페이지 URL에는 XPaths를 사용하세요. 웹 브라우저의 개발자 도구를 사용하여 요소의 XPaths(XML 경로 언어)를 찾을 수 있습니다. XPaths는 일반적으로 다음 형식을 따릅니다. `//tagname[@Attribute='Value']` 

   1. (선택 사항) **웹 프록시** - 내부 웹 사이트에 연결하는 데 사용할 프록시 서버의 호스트 이름과 포트 번호를 입력합니다. 예를 들어, *https://a.example.com/page1.html*의 호스트 이름은 “a.example.com”이고 포트 번호는 HTTPS의 표준 포트인 443입니다. 웹 사이트 호스트에 연결하는 데 웹 프록시 자격 증명이 필요한 경우 자격 증명을 AWS Secrets Manager 저장하는를 생성할 수 있습니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위** - 도메인, 파일 크기 및 링크를 비롯한 웹 페이지 크롤링에 대한 제한을 설정하고 정규식 패턴을 사용하여 URL을 필터링합니다.

      1. (선택 사항) **도메인 크롤링 범위** - 웹 사이트 도메인만 크롤링할지, 하위 도메인이 있는 도메인만 크롤링할지, 아니면 웹 페이지가 연결된 다른 도메인도 크롤링할지 선택합니다. 기본적으로는 크롤링하려는 웹 사이트의 도메인 Amazon Kendra 만 크롤링합니다.

      1. (선택 사항) **추가 구성** - 다음 설정을 구성합니다.
         + **크롤링 깊이** - 시드 수준에서부터 크롤링할 '깊이' 또는 수준 수. 예를 들어 시드 URL 페이지는 깊이 1이고 이 페이지에서 크롤링되는 모든 하이퍼링크는 깊이 2입니다.
         + **최대 파일 크기** - 크롤링할 최대 웹 페이지 또는 첨부 파일 크기(MB)입니다.
         + **페이지당 최대 링크** - 크롤링할 단일 웹 페이지의 최대 URL 수입니다.
         + **최대 크롤링 속도 제한** - 1분간 웹사이트 호스트당 크롤링되는 최대 URL 수입니다.
         + **파일** - 웹 페이지가 링크된 파일을 크롤링하려면 선택합니다.
         + **URL 크롤링 및 인덱싱** - 특정 URL을 크롤링하고 해당 URL 웹 페이지의 하이퍼링크를 인덱싱하는 것을 포함하거나 제외하는 정규 표현식 패턴 목록을 추가합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정** - **빈도**에서 Amazon Kendra 가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 인덱스에 매핑하려는 웹 페이지 및 파일의 Amazon Kendra 생성된 기본 필드 중에서 선택합니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

** Amazon Kendra 에 연결하려면 web crawler**

[https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-web-crawler-schema)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `WEBCRAWLERV2`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **URL** - 크롤링할 웹 사이트의 시드나 시작 지점 URL 또는 웹 사이트의 사이트맵 URL을 지정합니다. 시드 URL 목록을 저장하는 Amazon S3 버킷의 경로를 지정할 수 있습니다. URLs 시드 URL의 텍스트 파일의 각 URL은 별도의 줄에 형식을 지정해야 합니다. 사이트맵 XML 파일을 저장하는 Amazon S3 버킷의 경로를 지정할 수도 있습니다. 여러 사이트맵 파일을 ZIP 파일로 묶고 Amazon S3 버킷에 ZIP 파일을 저장할 수 있습니다.
**참고**  
사이트맵을 크롤링하려면 기본 또는 루트 URL이 사이트맵 페이지에 나열된 URL과 동일한지 확인하세요. 예를 들어 사이트맵 URL이 *https://example.com/sitemap-page.html*인 경우 이 사이트맵 페이지에 나열된 URL도 기본 URL “https://example.com/”을 사용해야 합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **인증** - 웹 사이트에 동일한 인증이 필요한 경우, `BasicAuth`, `NTLM_Kerberos`, `SAML` 또는 `Form` 인증을 지정하세요. 웹 사이트에 인증이 필요하지 않은 경우 `NoAuthentication`을 지정하세요.
+ **보안 암호 Amazon 리소스 이름(ARN)** - 웹사이트에서 기본, NTLM 또는 Kerberos 인증을 사용하려는 경우 사용자 이름 및 암호의 보안 인증 정보를 저장하는 보안 암호를 제공합니다. AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "seedUrlsHash": "Hash representation of all seed URLs",
      "userName": "user name",
      "password": "password"
  }
  ```

  웹 사이트에 SAML 인증이 필요한 경우 보안 암호는 다음 키가 있는 JSON 구조에 저장됩니다.

  ```
  {
      "seedUrlsHash": "Hash representation of all seed URLs",                                
      "userName": "user name",
      "password": "password",
      "userNameFieldXpath": "XPath for user name field",
      "userNameButtonXpath": "XPath for user name button",
      "passwordFieldXpath": "XPath for password field",
      "passwordButtonXpath": "XPath for password button",
      "loginPageUrl": "Full URL for website login page"
  }
  ```

  웹 사이트에 양식 인증이 필요한 경우 보안 암호는 다음 키가 있는 JSON 구조에 저장됩니다.

  ```
  {
      "seedUrlsHash": "Hash representation of all seed URLs",
      "userName": "user name",
      "password": "password",
      "userNameFieldXpath": "XPath for user name field",
      "passwordFieldXpath": "XPath for password field",
      "passwordButtonXpath": "XPath for password button",
      "loginPageUrl": "Full URL for website login page"
  }
  ```

  웹 브라우저의 개발자 도구를 사용하여 요소의 XPaths(XML 경로 언어)를 찾을 수 있습니다. XPaths는 일반적으로 다음 형식을 따릅니다. `//tagname[@Attribute='Value']` 

   AWS Secrets Manager 보안 암호를 사용하여 웹 프록시 보안 인증 정보를 제공할 수도 있습니다.
+ **IAM 역할** - Secrets Manager 보안 암호`CreateDataSource`에 액세스하고 웹 크롤러 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM 역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다 Amazon Kendra. 자세한 내용은 [웹 크롤러 데이터 소스에 대한IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+ **도메인 범위** - 하위 도메인만 포함하여 웹 사이트 도메인을 크롤링할지, 아니면 웹 페이지가 연결된 다른 도메인도 크롤링할지 선택합니다. 기본적으로는 크롤링하려는 웹 사이트의 도메인 Amazon Kendra 만 크롤링합니다.
+ 시드 수준에서부터 크롤링할 '깊이' 또는 수준 수. 예를 들어 시드 URL 페이지는 깊이 1이고 이 페이지에서 크롤링되는 모든 하이퍼링크는 깊이 2입니다.
+ 크롤링할 단일 웹 페이지의 최대 URL 수입니다.
+ 크롤링할 웹 페이지나 첨부 파일의 최대 크기(MB 단위)입니다.
+ 1분간 웹 사이트 호스트당 크롤링되는 최대 URL 수입니다.
+ 내부 웹 사이트에 연결하고 크롤링하기 위한 웹 프록시 호스트 및 포트 번호입니다. 예를 들어, *https://a.example.com/page1.html*의 호스트 이름은 “a.example.com”이고 포트 번호는 HTTPS의 표준 포트인 443입니다. 웹 사이트 호스트에 연결하는 데 웹 프록시 보안 인증이 필요한 경우, 보안 인증을 저장하는 AWS Secrets Manager 보안 암호를 만들 수 있습니다.
+ **포함 및 제외 필터** - 특정 URL을 크롤링하고 해당 URL 웹 페이지의 하이퍼링크를 인덱싱하는 작업을 포함할지 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **필드 매핑 **- 웹 페이지 및 웹 페이지 파일의 필드를 Amazon Kendra 인덱스 필드에 매핑하도록 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.

구성해야 할 기타 중요한 JSON 키 목록은 [Amazon Kendra 웹 크롤러 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-schema-web-crawler)를 참조하세요.

------

# Amazon Kendra 웹 크롤러용 `robots.txt` 파일 구성
<a name="stop-web-crawler"></a>

Amazon Kendra 는 AWS 고객이 원하는 문서를 인덱싱하고 검색하는 데 사용하는 지능형 검색 서비스입니다. 웹에서 문서를 인덱싱하기 위해 고객은 Amazon Kendra 웹 크롤러를 사용하여 인덱싱해야 하는 URL과 기타 운영 파라미터를 표시할 수 있습니다. Amazon Kendra 고객은 특정 웹 사이트를 인덱싱하기 전에 승인을 받아야 합니다.

Amazon Kendra 웹 크롤러는 `Allow` 및와 같은 표준 robots.txt 명령을 준수합니다`Disallow`. 웹 사이트의 `robots.txt` 파일을 수정하여 Amazon Kendra 웹 크롤러가 웹 사이트를 크롤링하는 방식을 제어할 수 있습니다.

## Amazon Kendra 웹 크롤러가 웹 사이트에 액세스하는 방법 구성
<a name="configure-web-crawler-website-access"></a>

`Allow` 및 `Disallow` 명령을 사용하여 Amazon Kendra 웹 크롤러가 웹 사이트를 인덱싱하는 방법을 제어할 수 있습니다. 또한 인덱싱되는 웹 페이지와 크롤링되지 않는 웹 페이지를 제어할 수 있습니다.

** Amazon Kendra Web Crawler가 허용되지 않는 웹 페이지를 제외한 모든 웹 페이지를 크롤링하도록 허용하려면 다음 명령을 사용합니다.**

```
User-agent: amazon-kendra    # Amazon Kendra Web Crawler
Disallow: /credential-pages/ # disallow access to specific pages
```

** Amazon Kendra 웹 크롤러가 특정 웹 페이지만 크롤링하도록 허용하려면 다음 명령을 사용합니다.**

```
User-agent: amazon-kendra    # Amazon Kendra Web Crawler
Allow: /pages/ # allow access to specific pages
```

** Amazon Kendra 웹 크롤러가 모든 웹 사이트 콘텐츠를 크롤링하고 다른 로봇에 대한 크롤링을 허용하지 않도록 하려면 다음 명령을 사용합니다.**

```
User-agent: amazon-kendra # Amazon Kendra Web Crawler
Allow: / # allow access to all pages
User-agent: * # any (other) robot
Disallow: / # disallow access to any pages
```

## Amazon Kendra 웹 크롤러의 웹 사이트 크롤링 중지
<a name="stop-web-crawler-access"></a>

`Disallow` 지시문을 사용하여 Amazon Kendra 웹 크롤러가 웹 사이트를 인덱싱하지 못하도록 할 수 있습니다. 또한 인덱싱되는 웹 페이지와 크롤링되지 않는 웹 페이지를 제어할 수 있습니다.

** Amazon Kendra 웹 크롤러가 웹 사이트를 크롤링하지 못하도록 하려면 다음 명령을 사용합니다.**

```
User-agent: amazon-kendra # Amazon Kendra Web Crawler
Disallow: / # disallow access to any pages
```

 Amazon Kendra 웹 크롤러와 관련하여 질문이나 우려 사항이 있는 경우 [AWS 지원 팀에](https://aws.amazon.com/contact-us/?nc1=f_m) 문의할 수 있습니다.

# Box
<a name="data-source-box"></a>

Box는 파일 호스팅 기능을 제공하는 클라우드 스토리지 서비스입니다. Amazon Kendra를 사용하여 주석, 작업 및 웹 링크를 포함하여 Box 콘텐츠의 콘텐츠를 인덱싱할 수 있습니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)과 [BoxConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BoxConfiguration.html) API를 사용하여 Box 데이터 소스에 Amazon Kendra연결할 수 있습니다.

Amazon KendraBox 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-box)
+ [사전 조건](#prerequisites-box)
+ [연결 지침](#data-source-procedure-box)
+ [자세히 알아보기](#box-learn-more)
+ [참고](#box-notes)

## 지원되는 기능
<a name="supported-features-box"></a>

Amazon KendraBox 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 변경 로그, 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-box"></a>

Amazon Kendra를 사용하여 Box 데이터 소스를 인덱싱하려면 먼저 Box 및 AWS계정에서 이러한 변경을 수행합니다.

**Box에서 다음 사항을 갖추었는지 확인하세요.**
+ A Box Enterprise 또는 Box Enterprise Plus 계정.
+ Box 개발자 콘솔에서 JSON 웹 토큰(JWT)을 이용한 서버 측 인증을 설정하여 Box 사용자 정의 앱을 구성했습니다. 자세한 내용은 [사용자 지정 앱 만들기에 대한 Box 설명서](https://developer.box.com/guides/applications/app-types/platform-apps/) 및 [JWT 인증 구성에 대한 Box 설명서](https://developer.box.com/guides/authentication/jwt/)를 참조하세요.
+ **앱 액세스 수준**을 **App \$1 Enterprise Access**로 설정하고 **as-user 헤더를 사용하여 API 호출**을 할 수 있도록 허용했습니다.
+ 관리자를 사용하여 Box 앱에 다음 **애플리케이션 범위**를 추가했습니다.
  + Box에 저장된 모든 파일 및 폴더를 작성합니다.
  + 사용자 관리
  + 그룹 관리
  + 엔터프라이즈 속성 관리
+ 클라이언트 ID, 클라이언트 보안 암호, 퍼블릭 키 ID, 프라이빗 키 ID, 암호 문구 및 인증 자격 증명으로 사용할 엔터프라이즈 ID를 포함하는 퍼블릭/프라이빗 키 페어를 구성했습니다. 자세한 내용은 [퍼블릭 및 프라이빗 키 페어](https://developer.box.com/guides/authentication/jwt/jwt-setup/#public-and-private-key-pair)를 참조하세요.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ Box 개발자 콘솔 설정 또는 Box 앱에서 Box 엔터프라이즈 ID를 복사했습니다. 예: *801234567*.
+ Box 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Box 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할 또는 보안 암호가 없는 경우 Box 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-box"></a>

Box 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Box 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 아직 Box를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-box).

------
#### [ Console ]

**BoxAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Box 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Box 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **Box 엔터프라이즈 ID** - Box 엔터프라이즈 ID를 입력합니다. 예: *801234567*.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **AWS Secrets Manager보안 암호** - 기존 보안 암호를 선택하거나 Box 인증 자격 증명을 저장할 새 Secrets Manager보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Box-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

      1. **클라이언트 ID**, **클라이언트 보안 암호**, **퍼블릭 키 ID**, **프라이빗 키 ID**, **암호 문구**의 경우 - Box에서 설정한 퍼블릭 키와 프라이빗 키 값을 입력합니다.

      1. 보안 암호를 추가하고 저장합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **Box 파일** - 웹 링크, 설명 및 작업을 크롤링할지를 선택합니다.

   1. **추가 구성**의 경우 - 정규 표현식 패턴을 추가하여 특정 콘텐츠를 포함하거나 제외합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**BoxAmazon Kendra에 연결하려면**

[BoxConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BoxConfiguration.html) API를 사용하여 다음을 지정해야 합니다.

**Box Enterprise ID** - Box Enterprise ID를 입력합니다. 엔터프라이즈 ID는 Box 개발자 콘솔 설정에서 또는 Box에서 앱을 구성할 때 찾을 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Box 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "clientID": "client-id",
      "clientSecret": "client-secret",
      "publicKeyID": "public-key-id",
      "privateKey": "private-key",
      "passphrase": "pass-phrase"
  }
  ```
+ **IAM역할** -를 호출`CreateDataSource`하여 Secrets Manager보안 암호에 액세스하고 Box 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하는 `RoleArn` 시기를 지정합니다Amazon Kendra. 자세한 내용은 [Box 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+ **Virtual Private Cloud(VPC)** - 데이터 소스 구성의 일부로 `VpcConfiguration`를 지정합니다. [VPC 사용을 위한 Amazon Kendra 구성](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html)을 참조하세요.
+  **변경 로그** - 인덱스에 문서를 업데이트해야 하는지를 결정하기 위해 Amazon Kendra가 Box 데이터 소스 변경 로그 메커니즘을 사용해야 하는지 여부입니다.
**참고**  
Amazon Kendra가 모든 문서를 스캔하지 않도록 하려면 변경 로그를 사용하세요. 변경 로그가 큰 경우 Box 데이터 소스의 문서를 스캔하는 데 걸리는 시간이 변경 로그를 처리하는 데 걸리는 시간보다 Amazon Kendra짧을 수 있습니다. Box 데이터 소스를 인덱스와 처음으로 동기화하는 경우 모든 문서가 스캔됩니다.
+  **설명, 작업, 웹 링크** - 이러한 유형의 콘텐츠를 크롤링할지를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **포함 및 제외 필터** - 특정 Box 파일 및 폴더를 포함할지 또는 제외할지를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - Box 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

------

## 자세히 알아보기
<a name="box-learn-more"></a>

Box 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon KendraBox 커넥터 시작하기](https://aws.amazon.com/blogs/machine-learning/getting-started-with-the-amazon-kendra-box-connector/)

## 참고
<a name="box-notes"></a>
+ 액세스 제어 목록(ACL)이 활성화된 경우 Box API 제한 사항으로 인해 '새 콘텐츠 또는 수정된 콘텐츠만 동기화' 옵션을 사용할 수 없습니다. 대신 '전체 동기화' 또는 '새 콘텐츠, 수정된 콘텐츠 또는 삭제된 콘텐츠 동기화' 모드를 사용하거나, 이 동기화 모드를 사용해야 하는 경우 ACL을 비활성화하는 것이 좋습니다.

# Confluence
<a name="data-source-confluence"></a>

Confluence는 프로젝트 계획, 소프트웨어 개발 및 제품 관리를 공유, 저장 및 작업하도록 설계된 공동 작업 관리 도구입니다.는 Confluence Server/Data Center와 Confluence Cloud를 모두 Amazon Kendra 지원합니다. Amazon Kendra 를 사용하여 다음 Confluence 개체를 인덱싱할 수 있습니다.
+ **스페이스** - 관련 콘텐츠를 구성하기 위한 최상위 지정 영역입니다. 각 스페이스는 여러 페이지, 블로그 및 첨부 파일을 보관할 수 있는 컨테이너 역할을 합니다.
+ **페이지** - 사용자가 콘텐츠를 생성하고 관리하는 스페이스 내의 개별 문서입니다. 페이지에는 텍스트, 이미지, 테이블 및 멀티미디어 요소가 포함될 수 있으며 중첩된 하위 페이지가 있을 수 있습니다. 각 페이지는 단일 문서로 간주됩니다.
+ **블로그** - 일반적으로 업데이트 또는 발표에 사용되며 페이지와 유사한 콘텐츠입니다. 각 블로그 게시물은 단일 문서로 간주됩니다.
+ **설명** - 사용자가 페이지 또는 블로그 게시물 내의 특정 콘텐츠에 대한 피드백을 제공하거나 토론에 참여할 수 있도록 허용합니다.
+ **첨부 파일** - 이미지, 문서 또는 기타 파일 유형과 같이 Confluence의 페이지 또는 블로그 게시물에 업로드된 파일입니다.

기본적으로는 Confluence 아카이브 및 개인 공간을 인덱싱하지 Amazon Kendra 않습니다. 데이터 소스를 만들 때 인덱싱하도록 선택할 수 있습니다. 스페이스 Amazon Kendra 를 인덱싱하지 않으려면 Confluence에서 비공개로 표시합니다.

[Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/), [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API 또는 [ConfluenceConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ConfluenceConfiguration.html) API를 사용하여 Confluence 데이터 소스에 Amazon Kendra 연결할 수 있습니다.

Amazon Kendra 에는 Confluence 커넥터의 두 가지 버전이 있습니다. 다음 기능이 지원됩니다.

****Confluence 커넥터 V2.0 / [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API****
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 패턴
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

****Confluence 커넥터 V1.0/[ConfluenceConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ConfluenceConfiguration.html) API**(더 이상 지원되지 않음)**
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ (Confluence 서버에만 해당) 가상 프라이빗 클라우드(VPC)

**참고**  
Confluence 커넥터 V1.0/ConfluenceConfiguration API는 2023년에 지원이 종료되었습니다. Confluence 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

 Amazon Kendra Confluence 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [Confluence 커넥터의 ACL](#data-source-confluence-acls)
+ [Confluence 커넥터 V2.0](data-source-v2-confluence.md)
+ [Confluence 커넥터 V1.0](data-source-v1-confluence.md)

## Confluence 커넥터의 ACL
<a name="data-source-confluence-acls"></a>

커넥터는 데이터 소스에 따라 해당하는 경우 액세스 제어 목록(ACL) 크롤링 및 정보 식별을 지원합니다. ACL 없이 문서를 인덱싱하면 모든 문서가 공개된 것으로 간주됩니다. ACL로 문서를 인덱싱하면 데이터 보안이 보장됩니다.

 Amazon Kendra Confluence 커넥터는 스페이스를 스캔하여 ACLs과 함께 페이지와 블로그 게시물을 수집합니다. 페이지 또는 블로그에 제한이 적용되지 않으면 커넥터는 해당 스페이스에서 권한을 상속합니다. 페이지에 특정 사용자 또는 그룹 제한이 적용되는 경우 해당 사용자만 해당 페이지에 액세스할 수 있습니다. 페이지가 중첩된 경우 중첩된 페이지는 제한이 적용되지 않으면 상위 페이지의 권한을 상속합니다. 유사한 권한 모델이 블로그에 적용되지만, Confluence는 중첩된 블로그를 지원하지 않습니다.

또한 Amazon Kendra Confluence 커넥터는 사용자 보안 주체 정보(로컬 사용자 별칭, 로컬 그룹 및 페더레이션 그룹 자격 증명 구성)와 구성된 각 스페이스에 대한 권한을 크롤링합니다.

**참고**  
Confluence Cloud 커넥터는 매크로, 화이트보드 또는 데이터베이스 크롤링을 지원하지 않습니다.

 Amazon Kendra Confluence 커넥터는 데이터 소스 콘텐츠를 크롤링할 때마다 ACL 변경 사항을 업데이트합니다. 올바른 사용자가 올바른 콘텐츠에 대해 액세스 권한을 갖도록 하려면 데이터 소스를 정기적으로 다시 동기화하여 ACL 업데이트를 캡처하세요.

# Confluence 커넥터 V2.0
<a name="data-source-v2-confluence"></a>

Confluence는 프로젝트 계획, 소프트웨어 개발 및 제품 관리를 공유, 저장 및 작업하도록 설계된 협업 작업 관리 도구입니다. Amazon Kendra 를 사용하여 Confluence 스페이스, 페이지(중첩 페이지 포함), 블로그, 인덱싱된 페이지 및 블로그에 대한 설명 및 첨부 파일을 인덱싱할 수 있습니다.

 Amazon Kendra Confluence 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v2-confluence)
+ [사전 조건](#prerequisites-v2-confluence)
+ [연결 지침](#data-source-procedure-v2-confluence)

## 지원되는 기능
<a name="supported-features-v2-confluence"></a>

Amazon Kendra Confluence 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 패턴
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-v2-confluence"></a>

 Amazon Kendra 를 사용하여 Confluence 데이터 소스를 인덱싱하려면 먼저 Confluence 및 AWS 계정에서 이러한 변경을 수행합니다.

**Confluence에서 다음을 충족해야 합니다.**
+ Confluence 인스턴스의 URL을 복사했습니다. 예: *https://example.confluence.com* 또는 *https://www.example.confluence.com/* 또는 *https:// atlassian.net/*. Amazon Kendra에 연결하려면 Confluence 인스턴스 URL이 필요합니다.

  Confluence 클라우드를 사용하는 경우 호스트 URL이 *atlassian.net/*으로 끝나야 합니다.
**참고**  
다음 URL 형식은 지원되지 **않습니다**.  
*https://example.confluence.com/xyz*
*https://www.example.confluence.com//wiki/spacekey/xxx*
*https://atlassian.net/xyz*
**참고**  
(온프레미스/서버)는에 포함된 엔드포인트 정보가 데이터 소스 구성 세부 정보에 지정된 엔드포인트 정보와 AWS Secrets Manager 동일한지 Amazon Kendra 확인합니다. 이렇게 하면 사용자가 작업을 수행할 권한이 없지만 구성된 보안 암호에 액세스하여 작업을 수행하는 데 Amazon Kendra 를 프록시로 사용하는 보안 문제인 [혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)를 방지하는 데 도움이 됩니다. 나중에 엔드포인트 정보를 변경하는 경우 새 보안 암호를 생성하여 이 정보를 동기화해야 합니다.
+ 구성한 기본 인증 자격 증명에는 사용자 이름(Confluence에 로그인할 때 사용하는 이메일 ID)과 암호(Confluence API 토큰을 암호로 사용)가 포함되어 있습니다. [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/#Create-an-API-token)를 참조하세요.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **선택 사항:** Confluence 앱 키, Confluence 앱 보안 암호, Confluence 액세스 토큰 및 Amazon Kendra 에서 Confluence 인스턴스에 연결할 수 있는 Confluence 새로 고침 토큰을 포함하는 OAuth 2.0 보안 인증을 구성했습니다. 액세스 토큰이 만료되면 새로 고침 토큰을 사용하여 액세스 토큰과 새로 고침 토큰 쌍을 다시 생성할 수 있습니다. 또는 인증 프로세스를 반복할 수 있습니다. 액세스 토큰에 대한 자세한 내용을 알아보려면 [OAuth 액세스 토큰 관리](https://support.atlassian.com/confluence-cloud/docs/manage-oauth-access-tokens/)를 참조하세요.
+ (Confluence 서버/데이터 센터만 해당) **선택 사항:** Confluence에서 개인 액세스 토큰(PAT)을 구성했습니다. [Using Personal Access Tokens](https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html)을 참조하세요.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra 인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM 역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM 역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager 보안 암호 ID에 액세스하도록 IAM 역할을 업데이트해야 합니다.
+ Confluence 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM 역할이나 보안 암호가 없는 경우 Confluence 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM 역할 및 Secrets Manager 보안 암호를 생성할 수 있습니다 Amazon Kendra. API를 사용하는 경우 기존 IAM 역할 및 Secrets Manager 보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-v2-confluence"></a>

Confluence 데이터 소스 Amazon Kendra 에 연결하려면가 데이터에 액세스할 Amazon Kendra 수 있도록 Confluence 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 Confluence를 아직 구성하지 않은 경우 섹션을 Amazon Kendra 참조하세요[사전 조건](#prerequisites-v2-confluence).

------
#### [ Console ]

**Confluence Amazon Kendra 에 연결하려면** 

1. 에 로그인 AWS Management Console 하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Confluence 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Confluence 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 **Confluence 클라우드** 또는 **Confluence 서버/데이터 센터**를 선택합니다.

   1. **Confluence URL** - Confluence 호스트 URL을 입력합니다. 예: *https://example.confluence.com*.

   1. (Confluence 서버/데이터 센터만 해당) **SSL 인증서 위치 - *선택 사항*** - Confluence 서버의 SSL 인증서 파일 Amazon S3 경로를 입력합니다.

   1. (Confluence 서버/데이터 센터만 해당) **웹 프록시 - *선택 사항*** - 웹 프록시 호스트 이름(`http://` 또는 `https://` 프로토콜 제외)과 포트 번호(호스트 URL 전송 프로토콜에서 사용하는 포트)를 입력합니다. 포트 번호는 0에서 65535 사이의 숫자 값이어야 합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **인증** - **기본 인증**, **OAuth 2.0 인증** 또는 (Confluence 서버/데이터 센터만 해당) **개인 액세스 토큰 인증**을 선택합니다.

   1. **AWS Secrets Manager 보안 암호** - 기존 보안 암호를 선택하거나 Confluence 보안 인증 정보를 저장할 새 Secrets Manager 보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다. 창에 다음 정보를 입력합니다.

      1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Confluence-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

      1. **기본 인증**을 사용하는 경우 - Confluence에서 구성한 보안 암호 이름, 사용자 이름 및 암호(Confluence API 토큰을 암호로 사용)를 입력합니다.

         **OAuth 2.0 인증**을 사용하는 경우 - Confluence에서 구성한 보안 암호 이름, 앱 키, 앱 보안 암호, 액세스 토큰 및 새로 고침 토큰을 입력합니다.

         (Confluence 서버/데이터 센터만 해당) **개인 액세스 토큰 인증**을 사용하는 경우 - Confluence에서 구성한 보안 암호 이름과 Confluence 토큰을 입력합니다.

      1. 보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 **콘텐츠 동기화** - 페이지, 페이지 설명, 페이지 첨부 파일, 블로그, 블로그 설명, 블로그 첨부 파일, 개인 스페이스, 보관된 스페이스 콘텐츠 유형 중에서 동기화하도록 선택합니다.
**참고**  
페이지 설명과 페이지 첨부 파일은 **페이지**를 동기화하도록 선택한 경우에만 선택할 수 있습니다. 블로그 설명과 블로그 첨부 파일은 **블로그**를 동기화하도록 선택한 경우에만 선택할 수 있습니다.
**중요**  
**추가 구성**에서 스페이스 키 정규식 패턴을 지정하지 않으면 기본적으로 모든 페이지와 블로그가 크롤링됩니다.

   1. **추가 구성**에서 **최대 파일 크기** - 크롤 Amazon Kendra 링할 파일 크기 제한을 MBs 지정합니다. Amazon Kendra 는 사용자가 정의한 크기 제한 내의 파일만 크롤링합니다. 기본 파일 크기는 50MB입니다. 최대 파일 크기는 0MB보다 크고 50MB보다 작거나 같아야 합니다.

      **스페이스 정규식 패턴**의 경우 - 다음을 사용하여 인덱스에서 특정 스페이스의 포함 또는 제외 여부를 지정합니다.
      + 스페이스 키(예: *my-space-123*)
**참고**  
스페이스 키 정규식 패턴을 지정하지 않으면 모든 페이지와 블로그가 기본적으로 크롤링됩니다.
      + URL(예: *.\$1/MySite/MyDocuments/*)
      + 파일 유형(예: *.\$1\$1.pdf, .\$1\$1.txt*)

      **개체 제목 정규식 패턴**의 경우 - 특정 블로그, 페이지, 설명, 첨부 파일을 제목별로 포함하거나 제외하도록 정규식 패턴을 지정합니다.
**참고**  
특정 페이지나 하위 페이지를 크롤링에 포함하거나 제외하려면 페이지 제목의 정규식 패턴을 사용할 수 있습니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 인덱스에 매핑하려는 Amazon Kendra 생성된 기본 데이터 소스 필드 중에서 선택합니다. 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Confluence Amazon Kendra 에 연결하려면**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-confluence-schema)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `CONFLUENCEV2`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **호스트 URL** - Confluence 호스트 URL 인스턴스를 지정합니다. 예: *https://example.confluence.com*.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`는 데이터 소스가 인덱스와 동기화될 때마다 새 콘텐츠, 수정된 콘텐츠 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **인증 유형** - `Basic`, `OAuth2`, (Confluence 서버만 해당) `Personal-token` 중에서 인증 유형을 지정합니다.
+ (선택 사항—Confluence 서버만 해당) **SSL 인증서 위치** - SSL 인증서를 저장하는 데 사용한 `S3bucketName` 및 `s3certificateName`을 지정합니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Confluence에서 구성한 인증 자격 증명이 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 기본 인증을 사용하는 경우 보안 암호는 다음 키가 있는 JSON 구조에 저장됩니다.

  ```
  {
      "username": "email ID or user name",
      "password": "Confluence API token"
  }
  ```

  OAuth 2.0 인증을 사용하는 경우 보안 암호는 다음 키를 사용하여 JSON 구조에 저장됩니다.

  ```
  {
      "confluenceAppKey": "app key",
      "confluenceAppSecret": "app secret",
      "confluenceAccessToken": "access token",
      "confluenceRefreshToken": "refresh token"
  }
  ```

  (Confluence 서버만 해당) 기본 인증을 사용하는 경우 암호에는 다음 키가 있는 JSON 구조가 저장됩니다.

  ```
  {
      "hostUrl": "Confluence Server host URL",
      "username": "Confluence Server user name",
      "password": "Confluence Server password"
  }
  ```

  (Confluence 서버만 해당) 개인 액세스 토큰 인증을 사용하는 경우 암호에는 다음 키가 있는 JSON 구조가 저장됩니다.

  ```
  {
      "hostUrl": "Confluence Server host URL",
      "patToken": "personal access token"
  }
  ```
+ **IAM 역할** -를 호출`CreateDataSource`하여 Secrets Manager 보안 암호에 액세스하고 Confluence 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM 역할에 제공하는 `RoleArn` 시기를 지정합니다 Amazon Kendra. 자세한 내용은 [Confluence 데이터 소스에 대한IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **파일 크기** - 크롤링할 최대 파일 크기를 지정합니다.
+  **문서/콘텐츠 유형** - 페이지, 페이지 설명, 페이지 첨부 파일, 블로그, 블로그 설명, 블로그 첨부 파일, 스페이스 및 아카이브된 스페이스를 크롤링할지를 지정합니다.
+ **포함 및 제외 필터** - 특정 스페이스, 페이지, 블로그 및 스페이스/페이지/블로그 설명과 첨부 파일의 포함 또는 제외 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **웹 프록시** - 웹 프록시를 통해 Confluence URL 인스턴스에 연결하려는 경우 웹 프록시 정보를 지정합니다. 이 옵션을 Confluence 서버에 사용할 수 있습니다.
+ **액세스 제어 목록(ACL)** - ACL이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링할지를 지정합니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+  **필드 매핑** - Confluence 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra 검색하려면 문서 본문 필드 또는 해당 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Confluence 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-confluence-schema)를 참조하세요.

------

### 참고
<a name="confluence-notes"></a>
+ 개인 액세스 토큰(PAT)은 Confluence 클라우드에서 사용할 수 없습니다.

# Confluence 커넥터 V1.0
<a name="data-source-v1-confluence"></a>

Confluence는 프로젝트 계획, 소프트웨어 개발 및 제품 관리를 공유, 저장 및 작업하도록 설계된 협업 작업 관리 도구입니다. Amazon Kendra 를 사용하여 Confluence 스페이스, 페이지(중첩 페이지 포함), 블로그, 인덱싱된 페이지 및 블로그에 대한 설명 및 첨부 파일을 인덱싱할 수 있습니다.

**참고**  
Confluence 커넥터 V1.0/ConfluenceConfiguration API는 2023년에 지원이 종료되었습니다. Confluence 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

 Amazon Kendra Confluence 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v1-confluence)
+ [사전 조건](#prerequisites-v1-confluence)
+ [연결 지침](#data-source-procedure-v1-confluence)
+ [자세히 알아보기](#confluence-v1-learn-more)

## 지원되는 기능
<a name="supported-features-v1-confluence"></a>

Amazon Kendra Confluence 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ (Confluence 서버에만 해당) Virtual Private Cloud(VPC)

## 사전 조건
<a name="prerequisites-v1-confluence"></a>

 Amazon Kendra 를 사용하여 Confluence 데이터 소스를 인덱싱하려면 먼저 Confluence 및 AWS 계정에서 이러한 변경을 수행합니다.

**Confluence에서 다음을 충족해야 합니다.**
+ 다음을 통해 Confluence 인스턴스 내의 모든 콘텐츠를 볼 수 있는 Amazon Kendra 권한을 부여했습니다.
  + `confluence-administrators` 그룹의 멤버 Amazon Kendra 가 됩니다.
  + 모든 기존 스페이스, 블로그 및 페이지에 대한 사이트 관리자 권한 부여.
+ Confluence 인스턴스의 URL을 복사했습니다.
+ **SSO(Single Sign-On) 사용자의 경우:** Confluence 데이터 센터에서 Confluence **인증 방법**을 구성할 때 사용자 이름 및 암호에 대해 **로그인 시 표시 페이지**를 활성화했습니다.
+ **Confluence 서버의 경우**
  +  Amazon Kendra에 연결할 Confluence 관리 계정 사용자 이름과 암호가 들어 있는 기본보안 인증 정보를 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
  + **선택 사항:** Confluence 계정에서 Amazon Kendra에 연결할 개인용 액세스 토큰을 생성했습니다. 자세한 내용은 [개인용 액세스 토큰 생성에 대한 Confluence 설명서](https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html)를 참조하세요.
+ **Confluence 클라우드의 경우**
  +  Amazon Kendra에 연결할 Confluence 관리 계정 사용자 이름과 암호가 들어 있는 기본보안 인증 정보를 기록했습니다.
+ Confluence 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra 인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM 역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM 역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager 보안 암호 ID에 액세스하도록 IAM 역할을 업데이트해야 합니다.
+ Confluence 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM 역할이나 보안 암호가 없는 경우 Confluence 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM 역할 및 Secrets Manager 보안 암호를 생성할 수 있습니다 Amazon Kendra. API를 사용하는 경우 기존 IAM 역할 및 Secrets Manager 보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-v1-confluence"></a>

Confluence 데이터 소스 Amazon Kendra 에 연결하려면가 데이터에 액세스할 Amazon Kendra 수 있도록 Confluence 자격 증명의 세부 정보를 제공해야 합니다. 에 대해 Confluence를 아직 구성하지 않은 경우 섹션을 Amazon Kendra 참조하세요[사전 조건](#prerequisites-v1-confluence).

------
#### [ Console ]

**Confluence Amazon Kendra 에 연결하려면** 

1.  AWS Management Console에 로그인하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Confluence 커넥터 V1.0**을 선택한 다음 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **Confluence 클라우드**와 **Confluence 서버** 중에서 선택합니다.

   1. **Confluence 클라우드**를 선택하는 경우 다음 정보를 입력합니다.

      1. **Confluence URL** - 사용자의 Confluence URL.

      1. **AWS Secrets Manager 보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager 보안 암호를 생성하여 Confluence 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

         1. ** AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Confluence-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **사용자 이름** 및 **암호**의 경우 - Confluence 사용자 이름과 암호를 입력합니다.

           1. **인증 저장**을 선택합니다.

   1. **Confluence 서버**를 선택하는 경우 다음 정보를 입력합니다.

      1. **Confluence URL** - Confluence 사용자 이름 및 암호.

      1. (선택 사항) **웹 프록시**의 경우 다음 정보를 입력합니다.

         1.  **호스트 이름** - Confluence 계정의 호스트 이름.

         1.  **포트 번호** - 호스트 URL 전송 프로토콜에서 사용하는 포트 번호.

      1. **인증**에서 **기본 인증** 또는 (Confluence 서버만 해당) **개인 액세스 토큰**을 선택합니다.

      1. **AWS Secrets Manager 보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager 보안 암호를 생성하여 Confluence 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

         1. ** AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Confluence-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **사용자 이름** 및 **암호**의 경우 - Confluence에서 구성한 인증 자격 증명 값을 입력합니다. 기본 인증을 사용하는 경우 Confluence 사용자 이름(이메일 ID)과 암호(API 토큰)를 사용합니다. 개인 액세스 토큰을 사용하는 경우 Confluence 계정에서 구성한 **개인 액세스 토큰**의 세부 정보를 입력합니다.

           1. 보안 암호를 저장하고 추가합니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **개인 스페이스 포함** 및 **보관된 스페이스 포함** - 이 데이터 소스에 포함할 선택적 스페이스 유형을 선택합니다.

   1. **추가 구성**의 경우 - 정규 표현식 패턴을 지정하여 특정 콘텐츠를 포함하거나 제외합니다. 최대 100개의 패턴을 추가할 수 있습니다.

   1. **선택한 스페이스 내에서 첨부 파일을 크롤링**하도록 선택할 수도 있습니다.

   1. **동기화 실행 일정**에서 **빈도** - Amazon Kendra 가 데이터 소스와 동기화하는 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **스페이스**, **페이지**, **블로그** - Amazon Kendra 생성된 기본 데이터 소스 필드 또는 **제안된 추가 필드 매핑** 중에서 선택하여 인덱스 필드를 추가합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Confluence Amazon Kendra 에 연결하려면**

[ConfluenceConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ConfluenceConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **컨플루언스 버전** - 사용 중인 Confluence 인스턴스의 버전을 `CLOUD` 또는 `SERVER`로 지정합니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Confluence 인증 자격 증명이 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다.

  Confluence 서버를 사용하는 경우 Confluence 사용자 이름과 암호 또는 개인 액세스 토큰을 인증 자격 증명으로 사용할 수 있습니다.

  Confluence 사용자 이름과 암호를 인증 자격 증명으로 사용하는 경우, 다음 자격 증명을 JSON 구조로 Secrets Manager 보안 암호에 저장합니다.

  ```
  {
      "username": "user name",
      "password": "password"
  }
  ```

  개인 액세스 토큰을 사용하여 Confluence Server를에 연결하는 경우 다음 자격 증명을 보안 암호에 JSON 구조로 Amazon Kendra저장합니다. Secrets Manager 

  ```
  {
      "patToken": "personal access token"
  }
  ```

  Confluence 클라우드를 사용하는 경우 Confluence에 구성된 API 토큰과 Confluence 사용자 이름을 암호로 사용합니다. 다음 자격 증명을 Secrets Manager 보안 암호에 JSON 구조로 저장합니다.

  ```
  {
      "username": "user name",
      "password": "API token"
  }
  ```
+ **IAM 역할** -를 호출`CreateDataSource`하여 Secrets Manager 보안 암호에 액세스하고 Confluence 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM 역할에 제공하는 `RoleArn` 시기를 지정합니다 Amazon Kendra. 자세한 내용은 [Confluence 데이터 소스에 대한IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+ **웹 프록시** - 웹 프록시를 통해 Confluence URL 인스턴스에 연결할지 여부입니다. 이 옵션을 Confluence 서버에 사용할 수 있습니다.
+ (Confluence 서버만 해당) **Virtual Private Cloud(VPC)** - `VpcConfiguration`을 데이터 소스 구성의 일부로 지정합니다. [VPC Amazon Kendra 를 사용하도록 구성을 참조하세요](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html).
+  **포함 및 제외 필터** - 특정 스페이스, 블로그 게시물, 페이지, 스페이스 및 연결을 포함하거나 제외하는 정규식 패턴을 지정합니다. 첨부 파일을 인덱싱하도록 선택하면 인덱싱된 페이지 및 블로그에 대한 첨부 파일만 인덱싱됩니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **필드 매핑** - Confluence 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra 검색하려면 문서 본문 필드 또는 해당 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** -Amazon Kendra 는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.

------

## 자세히 알아보기
<a name="confluence-v1-learn-more"></a>

Confluence 데이터 소스 Amazon Kendra 와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Kendra Confluence Server 커넥터 구성 ](https://aws.amazon.com/blogs/machine-learning/configuring-your-amazon-kendra-confluence-server-connector/)

# 사용자 지정 데이터 소스 커넥터
<a name="data-source-custom"></a>

아직 Amazon Kendra가 데이터 소스 커넥터를 제공하지 않는 리포지토리가 있는 경우 사용자 지정 데이터 소스를 사용하세요. Amazon Kendra의 데이터 소스를 사용하여 리포지토리를 동기화할 수 없는 경우에도 이를 사용하여 Amazon Kendra 데이터 소스가 제공하는 것과 동일한 실행 기록 지표를 볼 수 있습니다. 이를 사용하여 Amazon Kendra 데이터 소스와 사용자 지정 소스 간에 일관된 동기화 모니터링 환경을 만들 수 있습니다. 특히 사용자 지정 데이터 소스를 사용하면 [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html) 및 [BatchDeleteDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchDeleteDocument.html) API를 사용하여 만든 데이터 소스 커넥터의 동기화 지표를 확인할 수 있습니다.

Amazon Kendra 사용자 지정 데이터 소스 커넥터의 문제를 해결하려면 [데이터 소스 문제 해결](troubleshooting-data-sources.md)을 참조하세요.

사용자 지정 데이터 소스를 생성하면 인덱싱할 문서를 선택하는 방법을 완전히 제어할 수 있습니다. Amazon Kendra는 데이터 소스 동기화 작업을 모니터링하는 데 사용할 수 있는 지표 정보만 제공합니다. 데이터 소스가 인덱싱하는 문서를 결정하는 크롤러를 만들고 실행해야 합니다.

`Query` 결과 응답에 `DocumentTitle` 및 `DocumentURI`가 포함되도록 하려면 [문서](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Document.html) 객체를 사용하여 문서의 기본 제목을 지정하고 [DocumentAttribute](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DocumentAttribute.html)의 `_source_uri`를 지정해야 합니다.

콘솔을 사용하거나 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API를 사용하여 사용자 지정 데이터 소스의 식별자를 생성합니다. 콘솔을 사용하려면 데이터 소스에 이름을 지정하고 선택적으로 설명과 리소스 태그를 지정하세요. 데이터 소스가 생성되면 데이터 소스 ID가 표시됩니다. 데이터 소스를 인덱스와 동기화할 때 사용하려면 이 ID를 복사합니다.

![\[Form for specifying data source details, including name, description, and optional tags.\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/images/CustomDataSource.png)


`CreateDataSource` API를 사용하여 사용자 지정 데이터 소스를 생성할 수도 있습니다. API는 데이터 소스를 동기화할 때 사용할 ID를 반환합니다. `CreateDataSource` API를 사용하여 사용자 지정 데이터 소스를 만들 때는 `Configuration`, `RoleArn` 또는 `Schedule` 파라미터를 설정할 수 없습니다. 이러한 파라미터를 설정하면 Amazon Kendra가 `ValidationException` 예외를 반환합니다.

사용자 지정 데이터 소스를 사용하려면 Amazon Kendra 인덱스 업데이트를 담당하는 애플리케이션을 만드세요. 애플리케이션은 사용자가 만든 크롤러에 따라 달라집니다. 크롤러는 리포지토리의 문서를 읽고 Amazon Kendra에 무엇을 보낼지 결정합니다. 애플리케이션에서는 다음 절차를 수행합니다.

1. 리포지토리를 크롤링하고 리포지토리에서 추가, 업데이트 또는 삭제된 문서 목록을 만드세요.

1. 동기화 작업이 시작되고 있음을 알리려면 [StartDataSourceSyncJob](https://docs.aws.amazon.com/kendra/latest/APIReference/API_StartDataSourceSyncJob.html) API를 호출합니다. 데이터 소스 ID를 제공하여 동기화 중인 데이터 소스를 식별할 수 있습니다. Amazon Kendra는 실행 ID를 반환하여 특정 동기화 작업을 식별합니다.

1. 인덱스에서 문서를 제거하려면 [BatchDeleteDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchDeleteDocument.html) API를 호출합니다. 데이터 소스 ID와 실행 ID를 제공하여 동기화 중인 데이터 소스 및 이 업데이트와 관련된 작업을 식별할 수 있습니다.

1. 동기화 작업의 종료를 알리려면 [StopDataSourceSyncJob](https://docs.aws.amazon.com/kendra/latest/APIReference/API_StopDataSourceSyncJob.html) API를 호출합니다. `StopDataSourceSyncJob` API를 호출한 후에는 연결된 실행 ID가 더 이상 유효하지 않습니다.

1. 인덱스 및 데이터 소스 식별자로 [ListDataSourceSyncJobs](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ListDataSourceSyncJobs.html) API를 호출하여 데이터 소스의 동기화 작업을 나열하고 동기화 작업에 대한 지표를 확인합니다.

동기화 작업을 종료한 후 새 동기화 작업을 시작할 수 있습니다. 제출된 모든 문서가 인덱스에 추가되기까지 일정 시간이 걸릴 수 있습니다. `ListDataSourceSyncJobs` API를 사용하여 동기화 작업의 상태를 확인합니다. `Status`가 동기화 작업에 대해 반환한 값이 `SYNCING_INDEXING`인 경우 일부 문서는 여전히 인덱싱되고 있습니다. 이전 작업의 상태가 `FAILED` 또는 `SUCCEEDED`일 때 새 동기화 작업을 시작할 수 있습니다.

`StopDataSourceSyncJob` API를 호출한 후에는 `BatchPutDocument` 또는 `BatchDeleteDocument` API를 호출할 때 동기화 작업 식별자를 사용할 수 없습니다. 이렇게 하면 제출된 모든 문서가 API의 `FailedDocuments` 응답 메시지로 반환됩니다.

## 필수 속성
<a name="custom-required-attributes"></a>

`BatchPutDocument` API를 사용하여 Amazon Kendra에 문서를 제출할 때 각 문서에는 해당 문서가 속한 데이터 소스와 동기화 실행을 식별할 수 있는 두 가지 속성이 필요합니다. 사용자 지정 데이터 소스의 문서를 Amazon Kendra 인덱스에 올바르게 매핑하려면 다음 두 속성을 제공해야 합니다.
+ `_data_source_id` - 데이터 소스의 식별자입니다. 콘솔 또는 `CreateDataSource` API로 데이터 소스를 만들면 이 값이 반환됩니다.
+ `_data_source_sync_job_execution_id` - 동기화 실행의 식별자. `StartDataSourceSyncJob` API와 인덱스 동기화를 시작하면 이 값이 반환됩니다.

다음은 사용자 지정 데이터 소스를 사용하여 문서를 인덱싱하는 데 필요한 JSON입니다.

```
{
    "Documents": [
        {
            "Attributes": [
                {
                    "Key": "_data_source_id",
                    "Value": {
                        "StringValue": "data source identifier"
                    }
                },
                {
                    "Key": "_data_source_sync_job_execution_id",
                    "Value": {
                        "StringValue": "sync job identifier"
                    }
                }
            ],
            "Blob": "document content",
            "ContentType": "content type",
            "Id": "document identifier",
            "Title": "document title"
        }
    ],
    "IndexId": "index identifier",
    "RoleArn": "IAM role ARN"
}
```

`BatchDeleteDocument` API를 사용하여 인덱스에서 문서를 제거하는 경우 `DataSourceSyncJobMetricTarget` 파라미터에 다음 두 필드를 지정해야 합니다.
+ `DataSourceId` - 데이터 소스의 식별자입니다. 콘솔 또는 `CreateDataSource` API로 데이터 소스를 만들면 이 값이 반환됩니다.
+ `DataSourceSyncJobId` - 동기화 실행의 식별자. `StartDataSourceSyncJob` API와 인덱스 동기화를 시작하면 이 값이 반환됩니다.

다음은 `BatchDeleteDocument` API를 사용하여 인덱스에서 문서를 삭제하는 데 필요한 JSON입니다.

```
{
    "DataSourceSyncJobMetricTarget": {
        "DataSourceId": "data source identifier",
        "DataSourceSyncJobId": "sync job identifier"
    },
    "DocumentIdList": [
        "document identifier"
    ],
    "IndexId": "index identifier"
}
```

## 지표 보기
<a name="custom-metrics"></a>

동기화 작업이 완료되면 [DataSourceSyncJobMetrics](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DataSourceSyncJobMetrics.html) API를 사용하여 동기화 작업과 관련된 지표를 가져올 수 있습니다. 이를 사용하여 사용자 지정 데이터 소스 동기화를 모니터링할 수 있습니다.

`BatchPutDocument` API나 `BatchDeleteDocument` API의 일부로 동일한 문서를 여러 번 제출하거나 추가 및 삭제를 위해 문서를 제출한 경우, 지표에서 문서가 한 번만 계산됩니다.
+ `DocumentsAdded` - 이 동기화 작업과 관련된 `BatchPutDocument` API를 사용하여 제출된 문서 수가 처음으로 인덱스에 추가되었습니다. 동기화된 상태에서 문서를 두 번 이상 추가하도록 제출하는 경우 해당 문서는 지표에서 한 번만 계산됩니다.
+ `DocumentsDeleted` - 인덱스에서 삭제된 이 동기화 작업과 연결된 `BatchDeleteDocument` API를 사용하여 제출된 문서 수입니다. 동기화된 상태에서 문서를 두 번 이상 삭제하도록 제출하는 경우 해당 문서는 지표에서 한 번만 계산됩니다.
+ `DocumentsFailed` - 이 동기화 작업과 관련된 문서 중 인덱싱에 실패한 문서 수입니다. 이러한 문서는 Amazon Kendra에 의해 인덱싱이 승인되었지만 인덱스되거나 삭제할 수 없었습니다. Amazon Kendra에서 문서를 수락하지 않으면 `BatchPutDocument` 및 `BatchDeleteDocument` API의 `FailedDocuments` 응답 속성에 문서 식별자가 반환됩니다.
+ `DocumentsModified` - Amazon Kendra 인덱스에서 수정된 이 동기화 작업과 연결된 `BatchPutDocument` API를 사용하여 제출된, 수정된 문서 수입니다.

Amazon Kendra는 문서를 인덱싱하는 동안 Amazon CloudWatch 지표도 내보냅니다. 자세한 정보는 [Amazon CloudWatch로 Amazon Kendra모니터링](https://docs.aws.amazon.com/kendra/latest/dg/cloudwatch-metrics.html)을 참조하세요.

Amazon Kendra는 사용자 지정 데이터 소스의 `DocumentsScanned` 지표를 반환하지 않습니다. [Amazon Kendra 데이터 소스의 지표](https://docs.aws.amazon.com/kendra/latest/dg/cloudwatch-metrics.html#cloudwatch-metrics-data-source) 문서에 나열된 CloudWatch 지표도 내보냅니다.

## 자세히 알아보기
<a name="custom-learn-more"></a>

사용자 지정 데이터 소스와 Amazon Kendra의 통합에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Kendra에 사용자 지정 데이터 소스 추가](https://aws.amazon.com/blogs/machine-learning/adding-custom-data-sources-to-amazon-kendra/)

# 사용자 지정 데이터 소스(Java)
<a name="custom-java-sample"></a>

다음 코드는 Java를 사용한 사용자 지정 데이터 소스의 샘플 구현을 제공합니다. 프로그램은 먼저 사용자 지정 데이터 소스를 만든 다음 인덱스에 새로 추가된 문서를 사용자 지정 데이터 소스와 동기화합니다.

다음 코드는 사용자 지정 데이터 소스를 만들고 사용하는 방법을 보여줍니다. 애플리케이션에서 사용자 지정 데이터 소스를 사용하는 경우 인덱스를 데이터 소스와 동기화할 때마다 새 데이터 소스(일회성 프로세스)를 만들 필요가 없습니다. 인덱스 ID와 데이터 소스 ID를 사용하여 데이터를 동기화합니다.

```
package com.amazonaws.kendra;

import java.util.concurrent.TimeUnit;
import software.amazon.awssdk.services.kendra.KendraClient;
import csoftware.amazon.awssdk.services.kendra.model.BatchPutDocumentRequest;
import csoftware.amazon.awssdk.services.kendra.model.BatchPutDocumentResponse;
import software.amazon.awssdk.services.kendra.model.CreateDataSourceRequest;
import software.amazon.awssdk.services.kendra.model.CreateDataSourceResponse;
import software.amazon.awssdk.services.kendra.model.DataSourceType;
import software.amazon.awssdk.services.kendra.model.Document;
import software.amazon.awssdk.services.kendra.model.ListDataSourceSyncJobsRequest;
import software.amazon.awssdk.services.kendra.model.ListDataSourceSyncJobsResponse;
import software.amazon.awssdk.services.kendra.model.StartDataSourceSyncJobRequest;
import software.amazon.awssdk.services.kendra.model.StartDataSourceSyncJobResponse;
import software.amazon.awssdk.services.kendra.model.StopDataSourceSyncJobRequest;
import software.amazon.awssdk.services.kendra.model.StopDataSourceSyncJobResponse;

public class SampleSyncForCustomDataSource {
  public static void main(String[] args) {
    KendraClient kendra = KendraClient.builder().build();

    String myIndexId = "yourIndexId";
    String dataSourceName = "custom data source";
    String dataSourceDescription = "Amazon Kendra custom data source connector"
	
    // Create custom data source
    CreateDataSourceRequest createDataSourceRequest = CreateDataSourceRequest
        .builder()
        .indexId(myIndexId)
        .name(dataSourceName)
        .description(dataSourceDescription)
        .type(DataSourceType.CUSTOM)
        .build();
    	
    CreateDataSourceResponse createDataSourceResponse = kendra.createDataSource(createDataSourceRequest);
    System.out.println(String.format("Response of creating data source: %s", createDataSourceResponse));
	
    // Get the data source ID from createDataSourceResponse
    String dataSourceId = createDataSourceResponse.Id();

    // Wait for the custom data source to become active
    System.out.println(String.format("Waiting for Amazon Kendra to create the data source %s", dataSourceId));
    // You can use the DescribeDataSource API to check the status
    DescribeDataSourceRequest describeDataSourceRequest = DescribeDataSourceRequest
        .builder()
        .indexId(myIndexId)
        .id(dataSourceId)
        .build();

    while (true) {
        DescribeDataSourceResponse describeDataSourceResponse = kendra.describeDataSource(describeDataSourceRequest);

        DataSourceStatus status = describeDataSourceResponse.status();
        System.out.println(String.format("Creating data source. Status: %s", status));
        if (status != DataSourceStatus.CREATING) {
            break;
        }
        
        TimeUnit.SECONDS.sleep(60);
    }
    
    // Start syncing yor data source by calling StartDataSourceSyncJob and providing your index ID 
    // and your custom data source ID
    System.out.println(String.format("Synchronize the data source %s", dataSourceId));
    StartDataSourceSyncJobRequest startDataSourceSyncJobRequest = StartDataSourceSyncJobRequest
        .builder()
        .indexId(myIndexId)
        .id(dataSourceId)
        .build();
    StartDataSourceSyncJobResponse startDataSourceSyncJobResponse = kendra.startDataSourceSyncJob(startDataSourceSyncJobRequest);
    
    // Get the  sync job execution ID from startDataSourceSyncJobResponse
    String executionId = startDataSourceSyncJobResponse.ExecutionId();
	System.out.println(String.format("Waiting for the data source to sync with the index %s for execution ID %s", indexId, startDataSourceSyncJobResponse.executionId()));
    
    // Add 2 documents uploaded to S3 bucket to your index using the BatchPutDocument API
    // The added documents should sync with your custom data source
    Document pollyDoc = Document
        .builder()
        .s3Path(
            S3Path.builder()
            .bucket("amzn-s3-demo-bucket")
            .key("what_is_Amazon_Polly.docx")
            .build())
        .title("What is Amazon Polly?")
        .id("polly_doc_1")
        .build();
    
    Document rekognitionDoc = Document
        .builder()
        .s3Path(
            S3Path.builder()
            .bucket("amzn-s3-demo-bucket")
            .key("what_is_amazon_rekognition.docx")
            .build())
        .title("What is Amazon rekognition?")
        .id("rekognition_doc_1")
        .build();
    
    BatchPutDocumentRequest batchPutDocumentRequest = BatchPutDocumentRequest
        .builder()
        .indexId(myIndexId)
        .documents(pollyDoc, rekognitionDoc)
        .build();
    
    BatchPutDocumentResponse result = kendra.batchPutDocument(batchPutDocumentRequest);
    System.out.println(String.format("BatchPutDocument result: %s", result));
    
    // Once custom data source synced, stop the sync job using the StopDataSourceSyncJob API
    StopDataSourceSyncJobResponse stopDataSourceSyncJobResponse = kendra.stopDataSourceSyncJob(
        StopDataSourceSyncJobRequest()
            .indexId(myIndexId)
            .id(dataSourceId)
    );
	
	// List your sync jobs
    ListDataSourceSyncJobsRequest listDataSourceSyncJobsRequest = ListDataSourceSyncJobsRequest
        .builder()
        .indexId(myIndexId)
        .id(dataSourceId)
        .build();
    
    while (true) {
        ListDataSourceSyncJobsResponse listDataSourceSyncJobsResponse = kendra.listDataSourceSyncJobs(listDataSourceSyncJobsRequest);
        DataSourceSyncJob job = listDataSourceSyncJobsResponse.history().get(0);
        System.out.println(String.format("Status: %s", job.status()));
    }
  }
}
```

# Dropbox
<a name="data-source-dropbox"></a>

Dropbox는 클라우드 스토리지, 문서 정리, 문서 템플릿 작성 서비스를 제공하는 파일 호스팅 서비스입니다. Dropbox 사용자인 경우 Amazon Kendra를 사용하여 Dropbox 파일, Dropbox Paper, Dropbox Paper Templates 및 웹 페이지에 대한 저장된 바로 가기를 인덱싱할 수 있습니다. 특정 Dropbox 파일, Dropbox Paper, Dropbox Paper Templates 및 웹 페이지에 대한 저장된 바로 가기를 인덱싱Amazon Kendra하도록를 구성할 수도 있습니다.

Amazon Kendra는 Dropbox Business용 Dropbox와 Dropbox Advanced를 모두 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 Dropbox 데이터 소스에 연결할 수 Amazon Kendra있습니다.

Amazon KendraDropbox 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-dropbox)
+ [사전 조건](#prerequisites-dropbox)
+ [연결 지침](#data-source-procedure-dropbox)
+ [자세히 알아보기](#dropbox-learn-more)
+ [참고](#dropbox-notes)

## 지원되는 기능
<a name="supported-features-dropbox"></a>

Amazon KendraDropbox 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-dropbox"></a>

Amazon Kendra를 사용하여 Dropbox 데이터 소스를 인덱싱하려면 먼저 Dropbox 및 AWS계정에서 이러한 변경을 수행합니다.

**Dropbox에서 다음 사항을 갖추었는지 확인하세요.**
+ Dropbox Advanced 계정을 만들고 관리자 사용자를 설정했습니다.
+ 고유한 **앱 이름**을 사용하여 Dropbox 앱을 구성하고 **범위 지정 액세스**를 활성화했습니다. [앱 생성에 대한 Dropbox 설명서](https://www.dropbox.com/developers/reference/getting-started#app%20console)를 참조하세요.
+ Dropbox 콘솔에서 **전체 Dropbox** 권한을 활성화하고 다음 권한을 추가했습니다.
  + files.content.read
  + files.metadata.read
  + sharing.read
  + file\$1requests.read
  + groups.read
  + team\$1info.read
  + team\$1data.content.read
+ 기본 보안 인증을 위해 Dropbox 앱 키, Dropbox 앱 보안 암호, Dropbox 액세스 토큰을 기록해 두었습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ Dropbox 앱을 위한 임시 OAuth 2.0 액세스 토큰을 구성하고 복사했습니다. 이 토큰은 일시적이며 4시간 후에 만료됩니다. [OAuth 인증에 대한 Dropbox 설명서](https://developers.dropbox.com/oauth-guide)를 참조하세요.
**참고**  
4시간 후에 만료되는 일회용 액세스 토큰을 사용하는 것보다 만료되지 않는 Dropbox 새로 고침 액세스 토큰을 만드는 것이 좋습니다. 새로 고침 액세스 토큰은 영구적이며 만료되지 않으므로 향후에도 데이터 소스를 계속 동기화할 수 있습니다.
+ **권장 사항:**가 중단 없이 데이터 소스를 Amazon Kendra계속 동기화할 수 있도록 만료되지 않는 Dropbox 영구 새로 고침 토큰을 구성했습니다. [새로 고침 토큰에 대한 Dropbox 설명서](https://developers.dropbox.com/oauth-guide)를 참조하세요.
+ Dropbox 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Dropbox 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Dropbox 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-dropbox"></a>

Dropbox 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Dropbox 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 Dropbox를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-dropbox).

------
#### [ Console ]

**DropboxAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Dropbox 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Dropbox 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **인증 토큰 유형** - 영구 토큰(권장) 또는 임시 액세스 토큰을 선택합니다.

   1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 Dropbox 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

         1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Dropbox-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

         1. **앱 키**, **앱 보안 암호** 및 토큰 정보(영구 또는 임시)의 경우 - Dropbox에서 구성한 인증 자격 증명 값을 입력합니다.

      1. 보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **엔터티 또는 콘텐츠 유형 선택**의 경우 - 크롤링하려는 Dropbox 엔터티 또는 콘텐츠 유형을 선택합니다.

   1. **정규식 패턴**의 **추가 구성** - 특정 파일을 포함하거나 제외하기 위한 정규 표현식 패턴을 추가합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **파일**, **Dropbox Paper** 및 **Dropbox Paper 템플릿** - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**DropboxAmazon Kendra에 연결하려면**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-dropbox-schema)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `DROPBOX`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **액세스 토큰 유형** - 인증 자격 증명을 저장하는 AWS Secrets Manager 보안 암호에 영구 또는 임시 액세스 토큰을 사용할지를 지정합니다.
**참고**  
4시간 후에 만료되는 일회용 액세스 토큰을 사용하는 것보다 Dropbox에서 만료되지 않는 새로 고침 액세스 토큰을 만드는 것이 좋습니다. Dropbox 개발자 콘솔에서 앱과 새로 고침 액세스 토큰을 만들고 암호에 액세스 토큰을 입력합니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Dropbox 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "appKey": "Dropbox app key",
      "appSecret": "Dropbox app secret",
      "accesstoken": "temporary access token or refresh access token"
  }
  ```
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Dropbox 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Dropbox 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+ **문서/콘텐츠 유형** - Dropbox에 있는 파일, Dropbox Paper 문서, Dropbox Paper 템플릿, Dropbox에 저장된 웹 페이지 바로 가기를 크롤링할지 지정합니다.
+ **포함 및 제외 필터** - 특정 파일을 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **액세스 제어 목록(ACL)** - ACL이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링할지를 지정합니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.
+  **필드 매핑** - Dropbox 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 해당 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Dropbox 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-dropbox-schema)를 참조하세요.

------

## 자세히 알아보기
<a name="dropbox-learn-more"></a>

Dropbox 데이터 소스와 Amazon Kendra의 통합에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Kendra용 Dropbox 커넥터를 사용하여 Dropbox 콘텐츠 인덱싱](https://aws.amazon.com/blogs/machine-learning/index-your-dropbox-content-using-the-dropbox-connector-for-amazon-kendra/)

## 참고
<a name="dropbox-notes"></a>
+ 액세스 제어 목록(ACL)이 활성화된 경우 Dropbox API 제한 사항으로 인해 '새 콘텐츠 또는 수정된 콘텐츠만 동기화' 옵션을 사용할 수 없습니다. 대신 '전체 동기화' 또는 '새 콘텐츠, 수정된 콘텐츠 또는 삭제된 콘텐츠 동기화' 모드를 사용하거나, 이 동기화 모드를 사용해야 하는 경우 ACL을 비활성화하는 것이 좋습니다.

# Drupal
<a name="data-source-drupal"></a>

**참고**  
Drupal 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만, 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Drupal은 웹 사이트 및 웹 애플리케이션을 만드는 데 사용할 수 있는 오픈 소스 콘텐츠 관리 시스템(CMS)입니다. 를 사용하여 Drupal에서 다음을 인덱싱Amazon Kendra할 수 있습니다.
+ 콘텐츠 - 기사, 기본 페이지, 기본 블록, 사용자 정의 콘텐츠 유형, 사용자 정의 블록 유형, 사용자 정의 콘텐츠 유형, 사용자 정의 블록 유형
+ 설명 - 모든 콘텐츠 유형 및 블록 유형에 해당
+ 첨부 파일 - 모든 콘텐츠 유형 및 블록 유형에 해당

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 또는 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 Drupal 데이터 소스에 Amazon Kendra연결할 수 있습니다.

Amazon KendraDrupal 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-drupal)
+ [사전 조건](#prerequisites-drupal)
+ [연결 지침](#data-source-procedure-drupal)
+ [참고](#drupal-notes)

## 지원되는 기능
<a name="supported-features-drupal"></a>

Amazon KendraDrupal 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-drupal"></a>

Amazon Kendra를 사용하여 Drupal 데이터 소스를 인덱싱하려면 먼저 Drupal 및 AWS계정에서 이러한 변경을 수행합니다.

**Drupal에서 다음 사항을 갖추었는지 확인하세요.**
+ Drupal (Standard) Suite 계정과 관리자 역할을 가진 사용자를 만들었습니다.
+ Drupal 사이트 이름을 복사하고 호스트 URL을 구성했습니다. 예: *https://<hostname>/<drupalsitename>*.
+ 사용자 이름(Drupal 웹 사이트 로그인 사용자 이름) 및 암호(Drupal 웹 사이트 암호)를 포함하는 기본 보안 인증을 구성했습니다.
+ **권장:** OAuth 2.0 보안 인증 토큰을 구성했습니다. 이 토큰을 Drupal 암호 부여, 클라이언트 ID, 클라이언트 보안 암호, 사용자 이름(Drupal 웹 사이트 로그인 사용자 이름) 및 암호(Drupal 웹 사이트 암호)와 함께 사용하여 Amazon Kendra에 연결합니다.
+ 관리자 역할을 사용하여 Drupal 계정에 다음 권한을 추가했습니다.
  + 블록 관리
  + 블록\$1콘텐츠 디스플레이 관리
  + 블록\$1콘텐츠 필드 관리
  + 블록\$1콘텐츠 양식 디스플레이 관리
  + 뷰 관리
  + 사용자 이메일 주소 보기
  + 게시되지 않은 자체 콘텐츠 보기
  + 페이지 수정본 보기
  + 기사 수정본 보기
  + 모든 수정본 보기
  + 관리 테마 보기
  + 콘텐츠 액세스
  + 콘텐츠 개요 액세스
  + 설명 액세스
  + 콘텐츠 검색
  + 파일 개요 액세스
  + 상황별 링크에 액세스
**참고**  
사용자 정의 콘텐츠 유형 또는 사용자 정의 블록 유형이 있거나 Drupal 웹 사이트에 보기 및 블록이 추가된 경우 관리자 액세스 권한을 제공해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Drupal 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Drupal 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-drupal"></a>

Drupal 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Drupal 자격 증명의 세부 정보를 제공해야 합니다. 에 대해 Drupal을 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-drupal).

------
#### [ Console ]

**DrupalAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Drupal 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Drupal 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스** 내, **호스트 URL**의 경우 - Drupal 사이트의 호스트 URL. 예: *https://<hostname>/<drupalsitename>*.

   1. **SSL 인증서 위치** - Amazon S3 버킷에 저장된 SSL 인증서의 경로를 입력합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **인증**의 경우 - 사용 사례에 따라 **기본 인증**, **OAuth 2.0 인증** 중에서 선택합니다.

   1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 Drupal 인증 자격 증명을 저장할 새 Secrets Manager보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

         1. **기본 인증**을 선택한 경우 복사한 **보안 암호 이름**, **사용자 이름**(Drupal 사이트 사용자 이름), **암호**(Drupal 사이트 암호)를 입력하고 **저장 및 보안 암호 추가**를 선택합니다.

         1. **OAuth 2.0 인증**을 선택한 경우 Drupal 계정에서 생성한 **보안 암호 이름**, **사용자 이름**(Drupal 사이트 사용자 이름), **암호**(Drupal 사이트 암호), **클라이언트 ID**, **클라이언트 보안 암호**를 입력하고 **보안 암호 저장 및 추가**를 선택합니다.

      1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
**참고**  
**기사**, **기본 페이지**, **기본 블록**을 크롤링하도록 선택하면 해당 기본 필드가 자동으로 동기화됩니다. 설명, 첨부 파일, 사용자 지정 필드 및 기타 사용자 지정 개체를 동기화하도록 선택할 수도 있습니다.

      1. **개체 선택**의 경우:
        +  **기사** - **기사**, **설명**, **첨부 파일**을 크롤링할지 여부를 선택합니다.
        + **기본 페이지** - **기본 페이지**, **설명**, **첨부 파일**을 크롤링할지 여부를 선택합니다.
        + **기본 블록** - **기본 블록**, **설명**, **첨부 파일**을 크롤링할지 여부를 선택합니다.
        + **사용자 지정 콘텐츠 유형** 및 **사용자 지정 블록**을 추가하도록 선택할 수도 있습니다.

   1. **추가 구성 - 선택 사항**의 경우:
      + **정규식 패턴**의 경우 - 정규 표현식 패턴을 추가하여 특정 개체 제목 및 파일 이름을 포함하거나 제외합니다. 최대 100개의 패턴을 추가할 수 있습니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **콘텐츠**, **설명** 및 **첨부 파일** - Amazon Kendra생성된 기본 데이터 소스 필드 중에서 인덱스에 매핑할 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**DrupalAmazon Kendra에 연결하려면**

[https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-drupal-schema)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `DRUPAL`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Drupal 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다.

  기본 인증을 사용하는 경우 보안 암호는 다음 키가 있는 JSON 구조에 저장됩니다.

  ```
  {
      "username": "user name",
      "password": "password"
  }
  ```

  OAuth 2.0 인증을 사용하는 경우 보안 암호는 다음 키를 사용하여 JSON 구조에 저장됩니다.

  ```
  {
      "username": "user name",
      "password": "password",
      "clientId": "client id",
      "clientSecret": "client secret"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Drupal 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Drupal 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 콘텐츠, 설명 및 첨부 파일을 포함할지 여부를 지정할 수 있습니다. 또한 정규 표현식 패턴을 지정하여 콘텐츠, 설명 및 첨부 파일을 포함하거나 제외할 수 있습니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+  **필드 매핑** - Drupal 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Drupal 템플릿 스키마](ds-schemas.md#ds-drupal-schema)를 참조하세요.

------

## 참고
<a name="drupal-notes"></a>
+ Drupal API에는 공식적인 제한 한도가 없습니다.
+ Drupal에는 Java SDK를 사용할 수 없습니다.
+ Drupal 데이터는 네이티브 JSON API를 사용해야만 가져올 수 있습니다.
+ Drupal **뷰**와 연결되지 않은 콘텐츠 유형은 크롤링할 수 없습니다.
+ Drupal **블록**에서 데이터를 크롤링하려면 관리자 액세스 권한이 필요합니다.
+ HTTP 동사를 사용하여 사용자 정의 콘텐츠 유형을 생성하는 데 사용할 수 있는 JSON API는 없습니다.
+ **기사**, **기본 페이지**, **기본 블록**, 사용자 정의 콘텐츠 유형 및 사용자 정의 블록 유형의 문서 본문과 설명은 HTML 형식으로 표시됩니다. HTML 콘텐츠의 형식이 올바르지 않으면 HTML 관련 태그가 문서 본문과 설명에 나타나고 Amazon Kendra 검색 결과에 표시됩니다.
+ 설명이나 본문이 없는 콘텐츠 유형 및 **블록** 유형은 수집되지 않습니다Amazon Kendra. 이러한 **콘텐츠** 또는 **블록** 유형의 **설명** 및 **첨부** 파일만 Amazon Kendra인덱스에 수집됩니다.

# GitHub
<a name="data-source-github"></a>

GitHub는 버전 제어와 함께 코드 저장 및 관리 서비스를 제공하는 소프트웨어 개발을 위한 웹 기반 호스팅 서비스입니다. Amazon Kendra를 사용하여 GitHub Enterprise Cloud(SaaS) 및 GitHub Enterprise Server(온 프레미스) 리포지토리 파일을 인덱싱하고, 요청을 발행 및 풀하고, 요청 설명을 발행 및 풀하고, 요청 설명 첨부 파일을 발행 및 풀할 수 있습니다. 또한 특정 파일을 포함하거나 제외하도록 선택할 수 있습니다.

**참고**  
Amazon Kendra는 이제 업그레이드된 GitHub 커넥터를 지원합니다.  
콘솔이 자동으로 업그레이드되었습니다. 콘솔에서 생성하는 모든 새 커넥터는 업그레이드된 아키텍처를 사용합니다. API를 사용하는 경우 이제 `GitHubConfiguration` 객체 대신 [https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체를 사용하여 커넥터를 구성해야 합니다.  
이전 콘솔 및 API 아키텍처를 사용하여 구성된 커넥터는 구성된 대로 계속 작동합니다. 하지만 편집하거나 업데이트할 수는 없습니다. 커넥터 구성을 편집하거나 업데이트하려면 새 커넥터를 생성해야 합니다.  
커넥터 워크플로를 업그레이드된 버전으로 마이그레이션하는 것이 좋습니다. 이전 아키텍처를 사용하여 구성된 커넥터에 대한 지원은 2024년 6월에 종료될 예정입니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 GitHub 데이터 소스에 연결할 수 Amazon Kendra있습니다.

Amazon KendraGitHub 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-github)
+ [사전 조건](#prerequisites-github)
+ [연결 지침](#data-source-procedure-github)
+ [자세히 알아보기](#github-learn-more)

## 지원되는 기능
<a name="supported-features-github"></a>

Amazon KendraGitHub 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-github"></a>

Amazon Kendra를 사용하여 GitHub 데이터 소스를 인덱싱하려면 먼저 GitHub 및 AWS계정에서 이러한 변경을 수행합니다.

**GitHub에서 다음 사항을 갖추었는지 확인하세요.**
+ GitHub 조직에 대한 관리자 권한을 가진 GitHub 사용자를 생성했습니다.
+ GitHub에서 인증 자격 증명으로 사용할 개인 액세스 토큰을 구성했습니다. [개인 액세스 토큰 생성에 대한 GitHub 설명서](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)를 참조하세요.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **권장:** 인증 자격 증명을 위한 OAuth 토큰을 구성했습니다. API 제한 한도 및 커넥터 성능을 높이려면 OAuth 토큰을 사용하세요. [OAuth 인증에 대한 GitHub 설명서](https://docs.github.com/en/rest/apps/oauth-applications?apiVersion=2022-11-28#about-oauth-apps-and-oauth-authorizations-of-github-apps)를 참조하세요.
+ 사용 중인 GitHub 서비스 유형에 대한 GitHub 호스트 URL을 기록했습니다. 예를 들어 GitHub 클라우드의 호스트 URL은 *https://api.github.com*, GitHub 서버의 호스트 URL은 *https://on-prem-host-url/api/v3/*일 수 있습니다.
+ 연결하려는 GitHub의 조직 이름, GitHub 엔터프라이즈 클라우드(SaaS) 계정 또는 GitHub 엔터프라이즈 서버(온프레미스) 계정을 기록해 두었습니다. GitHub 데스크톱에 로그인하고 프로필 사진 드롭다운에서 **내 조직**을 선택하여 조직 이름을 찾을 수 있습니다.
+ **선택 사항(서버만 해당):** SSL 인증서를 생성하고 Amazon S3버킷에 저장된 인증서의 경로를 복사했습니다. 보안 SSL 연결이 필요한 경우 이를 사용하여 GitHub에 연결합니다. OpenSSL을 사용하여 컴퓨터에 자체 서명된 X509 인증서를 생성하기만 하면 됩니다. OpenSSL을 사용하여 X509 인증서를 만드는 예제는 [X509 인증서 생성 및 서명](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https-ssl.html)을 참조하세요.
+ 다음 권한을 추가했습니다.

  **GitHub Enterprise Cloud(SaaS)**
  + `repo:status` – 퍼블릭 및 프라이빗 리포지토리 커밋 상태에 대한 읽기/쓰기 액세스 권한을 부여합니다. 이 범위는 코드에 액세스할 권한을 부여하지 않고 다른 사용자나 서비스에 프라이빗 리포지토리 커밋 상태 액세스 권한을 부여하는 데만 필요합니다.
  + `repo_deployment` - 퍼블릭 및 프라이빗 리포지토리의 배포 상태에 대한 액세스 권한을 부여합니다. 이 범위는 코드에 액세스할 권한을 부여하지 않고 다른 사용자나 서비스에 배포 상태 액세스 권한을 부여하는 데만 필요합니다.
  + `public_repo` – 퍼블릭 리포지토리에 대한 액세스를 제한합니다. 여기에는 코드, 커밋 상태, 리포지토리 프로젝트, 공동 작업자, 퍼블릭 리포지토리 및 조직의 배포 상태에 대한 읽기/쓰기 액세스가 포함됩니다. 퍼블릭 리포지토리에 별표를 붙이는 데도 필요합니다.
  + `repo:invite` - 리포지토리에서 공동 작업할 수 있도록 초대에 대한 수락/거부 기능을 부여합니다. 이 범위는 코드에 액세스할 권한을 부여하지 않고 다른 사용자나 서비스에 초대 액세스 권한을 부여하는 데만 필요합니다.
  + `security_events` – 권한 부여: 코드 스캔 API의 보안 이벤트에 대한 읽기 및 쓰기 액세스 권한입니다. 이 범위는 코드에 액세스할 권한을 부여하지 않고 다른 사용자나 서비스에 보안 이벤트 액세스 권한을 부여하는 데만 필요합니다.
  + `read:org` - 조직 멤버십, 조직 프로젝트 및 팀 멤버십에 대한 읽기 전용 액세스 권한입니다.
  + `user:email` - 사용자의 이메일 주소에 대한 읽기 액세스 권한을 부여합니다. Amazon Kendra에서 ACL을 크롤링하는 데 필요합니다.
  + `user:follow` - 다른 사용자를 팔로우하거나 팔로우를 취소할 수 있는 액세스 권한을 부여합니다. Amazon Kendra에서 ACL을 크롤링하는 데 필요합니다.
  + `read:user` - 사용자의 프로필 데이터를 읽을 수 있는 액세스 권한을 부여합니다. Amazon Kendra에서 ACL을 크롤링하는 데 필요합니다.
  + `workflow` – GitHub 작업 워크플로 파일을 추가하고 업데이트할 수 있는 기능을 부여합니다. 같은 리포지토리의 다른 브랜치에 동일한 파일(경로와 콘텐츠가 모두 동일)이 있는 경우 워크플로 파일을 이 범위 없이 커밋할 수 있습니다.

  자세한 정보는 GitHub Docs의 [OAuth 앱에 대한 범위](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps)를 참조하세요.

  **For GitHub Enterprise Server(온프레미스)**
  + `repo:status` – 퍼블릭 및 프라이빗 리포지토리 커밋 상태에 대한 읽기/쓰기 액세스 권한을 부여합니다. 이 범위는 코드에 액세스할 권한을 부여하지 않고 다른 사용자나 서비스에 프라이빗 리포지토리 커밋 상태 액세스 권한을 부여하는 데만 필요합니다.
  + `repo_deployment` - 퍼블릭 및 프라이빗 리포지토리의 배포 상태에 대한 액세스 권한을 부여합니다. 이 범위는 코드에 액세스할 권한을 부여하지 않고 다른 사용자나 서비스에 배포 상태 액세스 권한을 부여하는 데만 필요합니다.
  + `public_repo` – 퍼블릭 리포지토리에 대한 액세스를 제한합니다. 여기에는 코드, 커밋 상태, 리포지토리 프로젝트, 공동 작업자, 퍼블릭 리포지토리 및 조직의 배포 상태에 대한 읽기/쓰기 액세스가 포함됩니다. 퍼블릭 리포지토리에 별표를 붙이는 데도 필요합니다.
  + `repo:invite` - 리포지토리에서 공동 작업할 수 있도록 초대에 대한 수락/거부 기능을 부여합니다. 이 범위는 코드에 액세스할 권한을 부여하지 않고 다른 사용자나 서비스에 초대 액세스 권한을 부여하는 데만 필요합니다.
  + `security_events` – 권한 부여: 코드 스캔 API의 보안 이벤트에 대한 읽기 및 쓰기 액세스 권한입니다. 이 범위는 코드에 액세스할 권한을 부여하지 않고 다른 사용자나 서비스에 보안 이벤트 액세스 권한을 부여하는 데만 필요합니다.
  + `read:user` - 사용자의 프로필 데이터를 읽을 수 있는 액세스 권한을 부여합니다. Amazon Q Business에서 ACL을 크롤링하는 데 필요합니다.
  + `user:email` - 사용자의 이메일 주소에 대한 읽기 액세스 권한을 부여합니다. Amazon Q Business에서 ACL을 크롤링하는 데 필요합니다.
  + `user:follow` - 다른 사용자를 팔로우하거나 팔로우를 취소할 수 있는 액세스 권한을 부여합니다. Amazon Q Business에서 ACL을 크롤링하는 데 필요합니다.
  + `site_admin` - 사이트 관리자에게 GitHub Enterprise Server Administration API 엔드포인트에 대한 액세스 권한을 부여합니다.
  + `workflow` – GitHub 작업 워크플로 파일을 추가하고 업데이트할 수 있는 기능을 부여합니다. 같은 리포지토리의 다른 브랜치에 동일한 파일(경로와 콘텐츠가 모두 동일)이 있는 경우 워크플로 파일을 이 범위 없이 커밋할 수 있습니다.

  자세한 내용은 GitHub 문서의 [OAuth 앱에 대한 범위](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps) 및 GitHub 개발자의 [Understanding scopes for OAuth Apps](https://developer.github.com/enterprise/2.16/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes)을 참조하세요.
+ GitHub 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ GitHub 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 GitHub 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-github"></a>

GitHub 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 GitHub 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 아직 GitHub를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-github).

------
#### [ Console ]

**GitHubAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **GitHub 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **GitHub 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **GitHub 소스** - **GitHub Enterprise Cloud**와 **GitHub Enterprise Server** 중에서 선택합니다.

   1. **GitHub 호스트 URL** - GitHub 클라우드 호스트 URL은 가령 *https://api.github.com*일 수 있으며, GitHub 서버 호스트 URL은 *https://on-prem-host-url/api/v3/*일 수 있습니다.

   1. **GitHub 조직 이름** - GitHub 조직 이름을 입력합니다. GitHub 계정에서 조직 정보를 찾을 수 있습니다.
**참고**  
GitHub 커넥터는 데이터 소스 커넥터 인스턴스당 단일 조직 크롤링을 지원합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 GitHub 인증 자격 증명을 저장할 새 Secrets Manager보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

         1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-GitHub-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

         1. **GitHub 토큰**의 경우 - GitHub에 구성된 인증 자격 증명 값을 입력합니다.

      1. 보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **리포지토리 선택** - 모든 리포지토리를 크롤링하거나 선택합니다.

      크롤링하기로 고른 경우 리포지토리를 선택하고, 리포지토리 이름을 추가한 후 필요에 따라 특정 브랜치 이름을 추가합니다.

   1. **콘텐츠 유형** - 파일, 문제, 풀 요청 등에서 크롤링할 콘텐츠 유형을 선택합니다.

   1. **정규식 패턴** - 특정 페이지 및 자산을 포함하거나 제외하기 위한 정규 표현식 패턴을 추가합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**GitHubAmazon Kendra에 연결하려면**

[https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-github-schema)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `GITHUB`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **GitHub 유형** - 유형을 `SAAS` 또는 `ON_PREMISE`로 지정합니다.
+ **호스트 URL** - GitHub 호스트 URL 또는 API 엔드포인트 URL을 지정합니다. 예를 들어, GitHub SaaS/Enterprise Cloud를 사용하는 경우 호스트 URL은 `https://api.github.com`일 수 있고 GitHub 온프레미스/Enterprise Server의 경우 호스트 URL은 `https://on-prem-host-url/api/v3/`일 수 있습니다.
+ **조직 이름** - GitHub 계정의 조직 이름을 지정합니다. GitHub 데스크톱에 로그인하고 프로필 사진 드롭다운에서 **내 조직**을 선택하여 조직 이름을 찾을 수 있습니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - GitHub 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "personalToken": "token"
  }
  ```
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 GitHub 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [GitHub 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
**참고**  
GitHub 서버를 사용하는 경우 GitHub 서버에 연결하려면 Amazon VPC를 사용해야 합니다.
+  **리포지토리 필터** - 리포지토리를 이름과 브랜치 이름으로 필터링합니다.
+  **문서/콘텐츠 유형** - 리포지토리 문서, 문제, 문제 설명, 문제 설명 첨부 파일, 풀 요청, 풀 요청 설명, 풀 요청 설명 첨부 파일을 크롤링할지를 지정합니다.
+  **포함 및 제외 필터** - 특정 파일 및 폴더를 포함할지 또는 제외할지를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **액세스 제어 목록(ACL)** - ACL이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링할지를 지정합니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.
+  **필드 매핑 **- GitHub 데이터 소스 필드를 Amazon Kendra인덱스 필드에 매핑하도록 선택합니다. 문서 필드, 커밋, 문제, 문제 첨부 파일, 문제 설명, 풀 요청, 풀 요청 첨부 파일, 풀 요청 설명 등을 포함할 수 있습니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
Amazon Kendra가 문서를 검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [GitHub 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-github-schema)를 참조하세요.

------

## 자세히 알아보기
<a name="github-learn-more"></a>

GitHub 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [GitHub 커넥터의 기능을 사용하여 Amazon KendraGitHub 리포지토리 검색 재구상](https://aws.amazon.com/blogs/machine-learning/reimagine-search-on-github-repositories-with-the-power-of-the-amazon-kendra-github-connector/)

# Gmail
<a name="data-source-gmail"></a>

Gmail은 Google에서 개발한 이메일 클라이언트로, 이를 통해 첨부 파일이 포함된 이메일 메시지를 보낼 수 있습니다. 폴더와 라벨을 사용하여 이메일 수신함 내에서 Gmail 메시지를 정렬하고 저장할 수 있습니다. Amazon Kendra를 사용하여 이메일 메시지와 메시지 첨부 파일을 인덱싱할 수 있습니다. 인덱싱을 위해 특정 이메일 메시지, 메시지 첨부 파일 및 레이블을 포함하거나 제외Amazon Kendra하도록를 구성할 수도 있습니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 Gmail 데이터 소스에 Amazon Kendra연결할 수 있습니다.

Amazon KendraGmail 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-gmail)
+ [사전 조건](#prerequisites-gmail)
+ [연결 지침](#data-source-procedure-gmail)
+ [자세히 알아보기](#gmail-learn-more)
+ [참고](#gmail-notes)

## 지원되는 기능
<a name="supported-features-gmail"></a>
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-gmail"></a>

Amazon Kendra를 사용하여 Gmail 데이터 소스를 인덱싱하려면 먼저 Gmail 및 AWS계정에서 이러한 변경을 수행합니다.

**Gmail에서 다음 사항을 갖추었는지 확인하세요.**
+ Google Cloud Platform 관리자 계정을 만들고 Google Cloud 프로젝트를 생성했습니다.
+ 관리자 계정에서 Gmail API 및 관리자 SDK API를 활성화했습니다.
+ 서비스 계정을 만들고 Gmail용 JSON 프라이빗 키를 다운로드했습니다. 프라이빗 키를 만들고 액세스하는 방법에 대한 자세한 내용은 [서비스 계정 키 생성](https://cloud.google.com/iam/docs/keys-create-delete#creating) 및 [서비스 계정 보안 인증 생성](https://cloud.google.com/iam/docs/service-account-creds#key-types) 방법에 대한 Google Cloud 설명서를 참조하세요.
+ 관리자 계정 이메일, 서비스 계정 이메일, 프라이빗 키를 복사하여 인증 자격 증명으로 사용했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ 인덱싱하려는 사용자 및 공유 디렉터리에 대해 다음과 같은 Oauth 범위(관리자 역할 사용)를 추가했습니다.
  + https://www.googleapis.com/auth/admin.directory.user.readonly
  + https://www.googleapis.com/auth/gmail.readonly
+ Gmail 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Gmail 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Gmail 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-gmail"></a>

Gmail 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Gmail 자격 증명의 세부 정보를 제공해야 합니다. 에 대해 아직 Gmail을 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-gmail).

------
#### [ Console ]

**GmailAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Gmail 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Gmail 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **AWS Secrets Manager보안** **암호 인증**에서 - 기존 보안 암호를 선택하거나 새Secrets Manager 보안 암호를 생성하여 Gmail 인증 자격 증명을 저장합니다. 새 보안 암호를 생성하도록 선택하면 AWS Secrets Manager보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

        1. **보안 암호 이름** - 보안 암호의 이름.

        1. **클라이언트 이메일** - Google 서비스 계정에서 복사한 클라이언트 이메일.

        1. **관리자 계정 이메일** - 사용하려는 관리자 계정 이메일.

        1. **프라이빗 키** - Google 서비스 계정에서 복사한 프라이빗 키.

        1. 보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **엔터티 유형**의 경우 - 메시지 첨부 파일을 동기화하도록 선택합니다.

   1. (선택 사항) **추가 구성**에서 다음 정보를 입력합니다.

      1. **날짜 범위** - 날짜 범위를 입력하여 크롤링할 이메일의 시작 날짜와 종료 날짜를 지정합니다.

      1. **이메일 도메인** - '받는 사람', '보낸 사람', '참조' 및 '숨은 참조' 이메일 도메인을 기반으로 하는 특정 이메일을 포함하거나 제외합니다.

      1. **제목의 키워드** - 이메일 제목의 키워드를 기준으로 이메일을 포함하거나 제외합니다.
**참고**  
입력한 모든 주제 키워드와 일치하는 문서를 포함하도록 선택할 수도 있습니다.

      1. **레이블** - 정규 표현식 패턴을 추가하여 특정 이메일 레이블을 포함하거나 제외합니다.

      1. **첨부 파일** - 정규 표현식 패턴을 추가하여 특정 이메일 첨부 파일을 포함하거나 제외합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.
**중요**  
영구 삭제된 Gmail 메시지를 업데이트하는 API가 없으므로 새 콘텐츠, 수정 콘텐츠, 삭제된 콘텐츠가 동기화됩니다.  
Gmail에서 영구 삭제된 메시지는 Amazon Kendra 인덱스에서 제거되지 않습니다.
Gmail 이메일 레이블의 변경 사항을 동기화하지 않습니다.
Gmail 데이터 소스 라벨 변경사항과 영구 삭제된 이메일 메시지를 Amazon Kendra 인덱스에 동기화하려면 정기적으로 전체 크롤링을 실행해야 합니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.
**참고**  
Amazon KendraGmail 데이터 소스 커넥터는 API 제한으로 인해 사용자 지정 인덱스 필드 생성을 지원하지 않습니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**GmailAmazon Kendra에 연결하려면**

[https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-gmail-schema)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `GMAIL`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
**중요**  
영구 삭제된 Gmail 메시지를 업데이트하는 API가 없으므로 새 콘텐츠, 수정 콘텐츠, 삭제된 콘텐츠가 동기화됩니다.  
Gmail에서 영구 삭제된 메시지는 Amazon Kendra 인덱스에서 제거되지 않습니다.
Gmail 이메일 레이블의 변경 사항을 동기화하지 않습니다.
Gmail 데이터 소스 레이블 변경 사항과 영구적으로 삭제된 이메일 메시지를 Amazon Kendra인덱스에 동기화하려면 주기적으로 전체 크롤링을 실행해야 합니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Gmail 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "adminAccountEmailId": "service account email",
      "clientEmailId": "user account email",
      "privateKey": "private key"
  }
  ```
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Gmail 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Gmail 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 특정 '받는 사람', '보낸 사람', '참조', '숨은 참조' 이메일을 포함할지 또는 제외할지를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - Gmail 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 해당 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.
**참고**  
Amazon KendraGmail 데이터 소스 커넥터는 API 제한으로 인해 사용자 지정 인덱스 필드 생성을 지원하지 않습니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Gmail 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-gmail-schema)를 참조하세요.

------

## 자세히 알아보기
<a name="gmail-learn-more"></a>

Gmail 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Kendra용 Gmail 커넥터를 사용하여 Google Workspace의 이메일을 지능적으로 검색하세요](https://aws.amazon.com/blogs/machine-learning/perform-intelligent-search-across-emails-in-your-google-workspace-using-the-gmail-connector-for-amazon-kendra/).

## 참고
<a name="gmail-notes"></a>
+ 영구 삭제된 Gmail 메시지를 업데이트하는 API가 없으므로 `FULL_CRAWL`/**새 콘텐츠, 수정 콘텐츠, 삭제된 콘텐츠가 동기화됩니다**.
  + Amazon Kendra인덱스에서 Gmail에서 영구적으로 삭제된 메시지는 제거하지 않음
  + Gmail 이메일 라벨의 변경사항을 동기화하지 않습니다.

  Gmail 데이터 소스 레이블 변경 사항과 영구적으로 삭제된 이메일 메시지를 Amazon Kendra인덱스에 동기화하려면 주기적으로 전체 크롤링을 실행해야 합니다.
+ Amazon KendraGmail 데이터 소스 커넥터는 API 제한으로 인해 사용자 지정 인덱스 필드 생성을 지원하지 않습니다.

# Google Drive
<a name="data-source-google-drive"></a>

Google Drive는 클라우드 기반 파일 스토리지 서비스입니다. Google Drive 데이터 소스의 공유 드라이브, 내 드라이브, 나와 공유 폴더에 저장된 문서를 인덱싱하는 데 Amazon Kendra 를 사용할 수 있습니다. Google Workspace 문서와 [문서 유형](https://docs.aws.amazon.com/kendra/latest/dg/index-document-types.html)에 나열된 문서를 모두 인덱싱할 수 있습니다. 포함 및 제외 필터를 사용하여 파일 이름, 파일 유형, 파일 경로별로 콘텐츠를 인덱싱할 수도 있습니다.

[Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/), [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API 또는 [GoogleDriveConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_GoogleDriveConfiguration.html) API를 사용하여 Google Drive 데이터 소스에 연결할 수 Amazon Kendra 있습니다.

Amazon Kendra 에는 두 가지 버전의 Google Drive 커넥터가 있습니다. 각 버전에 지원되는 기능은 다음과 같습니다.

**Google Drive 커넥터 V1.0/ [GoogleDriveConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_GoogleDriveConfiguration.html) API**
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터

**Google Drive 커넥터 V2.0 / [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API**
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

**참고**  
Google Drive 커넥터 V1.0/Google DriveConfiguration API는 2023년에 서비스가 종료되었습니다. Google Drive 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

 Amazon Kendra Google Drive 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [Google Drive 커넥터 V1.0](data-source-v1-google-drive.md)
+ [Google Drive 커넥터 V2.0](data-source-v2-google-drive.md)

# Google Drive 커넥터 V1.0
<a name="data-source-v1-google-drive"></a>

Google Drive는 클라우드 기반 파일 스토리지 서비스입니다. Amazon Kendra 를 사용하여 Google Drive 데이터 소스의 공유 드라이브, 내 드라이브 및 나와 공유 폴더에 저장된 문서 및 설명을 인덱싱할 수 있습니다. Google Workspace 문서와 [문서 유형](https://docs.aws.amazon.com/kendra/latest/dg/index-document-types.html)에 나열된 문서를 인덱싱할 수 있습니다. 포함 및 제외 필터를 사용하여 파일 이름, 파일 유형, 파일 경로별로 콘텐츠를 인덱싱할 수도 있습니다.

**참고**  
Google Drive 커넥터 V1.0/Google DriveConfiguration API는 2023년에 서비스가 종료되었습니다. Google Drive 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

 Amazon Kendra Google Drive 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v1-google-drive)
+ [사전 조건](#prerequisites-v1-google-drive)
+ [연결 지침](#data-source-v1-procedure-google-drive)
+ [자세히 알아보기](#google-drive-learn-more)

## 지원되는 기능
<a name="supported-features-v1-google-drive"></a>
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터

## 사전 조건
<a name="prerequisites-v1-google-drive"></a>

 Amazon Kendra 를 사용하여 Google Drive 데이터 소스를 인덱싱하려면 먼저 Google Drive 및 AWS 계정에서 이러한 변경을 수행합니다.

**Google Drive에서 다음 사항을 갖추었는지 확인하세요.**
+ ****수퍼 관리자 역할에 의해 액세스 권한을 부여 받은 경우 **또는** 관리자 권한이 있는 사용자일 수 있습니다. 수퍼 관리자 역할을 통해 액세스 권한을 부여 받은 경우 본인에게 수퍼 관리자 역할이 필요하지 않습니다.
+ **G Suite 도메인 전체 위임 활성화**를 활성화하고 해당 계정을 사용하여 JSON 키를 프라이빗 키로 사용하여 서비스 계정을 생성했습니다.
+ 사용자 계정 이메일과 서비스 계정 이메일을 복사했습니다. 에 연결하면 사용자 계정 이메일을 관리자 계정 이메일로 입력하고 서비스 계정 이메일을 AWS Secrets Manager 보안 암호에 클라이언트 이메일로 Amazon Kendra 입력합니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ 계정에 관리자 SDK API 및 Google Drive API를 추가했습니다.
+ 수퍼 관리자 역할을 사용하여 서비스 계정에 다음 권한을 추가(또는 수퍼 관리자 역할을 가진 사용자에게 추가를 요청)했습니다.
  + https://www.googleapis.com/auth/drive.readonly
  + https://www.googleapis.com/auth/drive.metadata.readonly
  + https://www.googleapis.com/auth/admin.directory.user.readonly
  + https://www.googleapis.com/auth/admin.directory.group.readonly
+ Google Drive 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra 인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM 역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM 역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager 보안 암호 ID에 액세스하도록 IAM 역할을 업데이트해야 합니다.
+ Google Drive 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM 역할이나 보안 암호가 없는 경우 Google Drive 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM 역할 및 Secrets Manager 보안 암호를 생성할 수 있습니다 Amazon Kendra. API를 사용하는 경우 기존 IAM 역할 및 Secrets Manager 보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-v1-procedure-google-drive"></a>

Google Drive 데이터 소스 Amazon Kendra 에 연결하려면가 데이터에 액세스할 Amazon Kendra 수 있도록 Google Drive 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 Google Drive를 아직 구성하지 않은 경우 섹션을 Amazon Kendra 참조하세요[사전 조건](#prerequisites-v1-google-drive).

------
#### [ Console ]

**Google Drive Amazon Kendra 에 연결하려면** 

1.  AWS Management Console에 로그인하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Google Drive 커넥터 V1.0**을 선택한 다음 **커넥터 추가**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **인증 유형**의 경우 - **기존** 인증과 **신규** 인증 중에서 선택합니다. 기존 암호를 사용하기로 선택한 경우 **암호 선택**을 사용하여 암호를 선택합니다.

   1. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 옵션이 열립니다.

      1. ** AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

        1. **보안 암호 이름** - 보안 암호의 이름. 비밀 이름에는 접두사 'AmazonKendra-Google Drive-'가 자동으로 추가됩니다.

        1. **관리자 계정 이메일**, **클라이언트 이메일**, **프라이빗 키**의 경우 - Google Drive 계정에서 생성하고 다운로드한 보안 인증 값을 입력합니다.

        1. **인증 저장**을 선택합니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **사용자 계정 제외** - 인덱스에서 제외하려는 Google Drive 사용자. 최대 100개의 사용자 계정을 추가할 수 있습니다.

   1. **공유 드라이브 제외** - 인덱스에서 제외하려는 Google Drive 공유 드라이브. 최대 100개의 공유 드라이브를 추가할 수 있습니다.

   1. **파일 유형 드라이브 제외** - 인덱스에서 제외하려는 Google Drive 파일 유형. 선택한 MIME 유형을 편집하도록 선택할 수도 있습니다.

   1. **추가 구성** - 정규 표현식 패턴을 지정하여 특정 콘텐츠를 포함하거나 제외합니다. 최대 100개의 패턴을 추가할 수 있습니다.

   1. **빈도** - Amazon Kendra 가 데이터 소스와 동기화하는 빈도.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **GoogleDrive 필드 이름** 및 **제안된 추가 필드 매핑의** 경우 - 인덱스에 매핑하려는 Amazon Kendra 생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Google Drive Amazon Kendra 에 연결하려면**

[GoogleDriveConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_GoogleDriveConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Google Drive 계정의 인증 자격 증명이 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "clientAccount": "service account email",
      "adminAccount": "user account email"",
      "privateKey": "private key"
  }
  ```
+ **IAM 역할** - Secrets Manager 보안 암호`CreateDataSource`에 액세스하고 Google Drive 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM 역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다 Amazon Kendra. 자세한 내용은 [Google Drive 데이터 소스에 대한IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **포함 및 제외 필터** - Amazon Kendra 는 기본적으로 Google Drive의 모든 문서를 인덱싱합니다. 공유 드라이브, 사용자 계정, 문서 MIME 유형, 파일에 특정 콘텐츠를 포함할지 제외할지 여부를 지정할 수 있습니다. 사용자 계정을 제외하도록 선택하면 해당 계정이 소유한 내 드라이브의 어떤 파일도 인덱싱되지 않습니다. 사용자와 공유한 파일은 파일 소유자도 제외되지 않는 한 인덱싱됩니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **필드 매핑** - Google Drive 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra 검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** -Amazon Kendra 는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.

------

## 자세히 알아보기
<a name="google-drive-learn-more"></a>

Google Drive 데이터 소스 Amazon Kendra 와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Kendra Google Drive 커넥터 시작하기](https://aws.amazon.com/blogs/machine-learning/getting-started-with-the-amazon-kendra-google-drive-connector/)

# Google Drive 커넥터 V2.0
<a name="data-source-v2-google-drive"></a>

Google Drive는 클라우드 기반 파일 스토리지 서비스입니다. Amazon Kendra 를 사용하여 Google Drive 데이터 소스의 공유 드라이브, 내 드라이브 및 나와 공유 폴더에 저장된 문서 및 설명을 인덱싱할 수 있습니다. Google Workspace 문서와 [문서 유형](https://docs.aws.amazon.com/kendra/latest/dg/index-document-types.html)에 나열된 문서를 인덱싱할 수 있습니다. 포함 및 제외 필터를 사용하여 파일 이름, 파일 유형, 파일 경로별로 콘텐츠를 인덱싱할 수도 있습니다.

**참고**  
Google Drive 커넥터 V1.0/Google DriveConfiguration API는 2023년에 서비스가 종료되었습니다. Google Drive 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

 Amazon Kendra Google Drive 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v2-google-drive)
+ [사전 조건](#prerequisites-v2-google-drive)
+ [연결 지침](#data-source-procedure-v2-google-drive)
+ [참고](#google-drive-notes)

## 지원되는 기능
<a name="supported-features-v2-google-drive"></a>
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-v2-google-drive"></a>

 Amazon Kendra 를 사용하여 Google Drive 데이터 소스를 인덱싱하려면 먼저 Google Drive 및 AWS 계정에서 이러한 변경을 수행합니다.

**Google Drive에서 다음 사항을 갖추었는지 확인하세요.**
+ ****수퍼 관리자 역할에 의해 액세스 권한을 부여 받은 경우 **또는** 관리자 권한이 있는 사용자일 수 있습니다. 수퍼 관리자 역할을 통해 액세스 권한을 부여 받은 경우 본인에게 수퍼 관리자 역할이 필요하지 않습니다.
+ 관리자 계정 이메일, 클라이언트 이메일(서비스 계정 이메일), 프라이빗 키를 포함하는 Google Drive 서비스 계정 연결 보안 인증을 구성했습니다. [서비스 계정 키 생성 및 삭제에 관한 Google Cloud 문서](https://cloud.google.com/iam/docs/keys-create-delete)를 참조하세요.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ 서버 간 인증을 위해 **G Suite 도메인 전체 위임 활성화**를 활성화하여 Google Cloud 서비스 계정(사용자 ID를 수임할 권한이 위임된 계정)을 만든 다음, 이 계정을 사용하여 JSON 프라이빗 키를 생성했습니다.
**참고**  
프라이빗 키는 서비스 계정을 만든 후에 생성해야 합니다.
+ 사용자 계정에 관리자 SDK API 및 Google Drive API를 추가했습니다.
+ **선택 사항:** 클라이언트 ID, 클라이언트 보안 암호, 새로고침 토큰을 특정 사용자의 연결 보안 인증 정보로 포함하는 Google Drive OAuth 2.0 연결 보안 인증을 구성했습니다. 개별 계정 데이터를 크롤링하려면 이 정보가 필요합니다. [OAuth 2.0을 사용하여 API에 액세스하는 방법에 대한 Google 설명서](https://developers.google.com/identity/protocols/oauth2)를 참조하세요.
+ 수퍼 관리자 역할을 사용하여 서비스 계정에 다음 OAuth 범위를 추가(또는 수퍼 관리자 역할을 가진 사용자에게 추가를 요청)했습니다. Google Workspace 도메인의 모든 사용자에 대한 모든 문서 및 액세스 제어(ACL) 정보를 크롤링하려면 다음과 같은 API 범위가 필요합니다.
  + https://www.googleapis.com/auth/drive.readonly—모든 Google Drive 파일 확인 및 다운로드
  + https://www.googleapis.com/auth/drive.metadata.readonly—Google Drive에 있는 파일의 메타데이터 보기
  + https://www.googleapis.com/auth/admin.directory.group.readonly—그룹, 그룹 별칭, 구성원 정보 검색에만 해당하는 범위. 이는 Amazon Kendra 자격 증명 크롤러에 필요합니다.
  + https://www.googleapis.com/auth/admin.directory.user.readonly—사용자 또는 사용자 별칭을 검색에만 해당하는 범위. 이는 Amazon Kendra Identity Crawler에 사용자를 나열하고 ACLs 설정하는 데 필요합니다.
  + https://www.googleapis.com/auth/cloud-platform—대용량 Google Drive 파일의 콘텐츠를 가져오기 위한 액세스 토큰의 생성 범위.
  + https://www.googleapis.com/auth/forms.body.readonly—Google Forms에서 데이터를 가져오는 범위.

  **Forms API를 지원하려면 다음과 같은 추가 범위를 추가하세요.**
  + https://www.googleapis.com/auth/forms.body.readonly
+ Google Drive 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra 인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM 역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM 역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager 보안 암호 ID에 액세스하도록 IAM 역할을 업데이트해야 합니다.
+ Google Drive 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM 역할이나 보안 암호가 없는 경우 Google Drive 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM 역할 및 Secrets Manager 보안 암호를 생성할 수 있습니다 Amazon Kendra. API를 사용하는 경우 기존 IAM 역할 및 Secrets Manager 보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-v2-google-drive"></a>

Google Drive 데이터 소스 Amazon Kendra 에 연결하려면가 데이터에 액세스할 Amazon Kendra 수 있도록 Google Drive 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 Google Drive를 아직 구성하지 않은 경우 섹션을 Amazon Kendra 참조하세요[사전 조건](#prerequisites-v2-google-drive).

------
#### [ Console ]

**Google Drive Amazon Kendra 에 연결하려면** 

1. 에 로그인 AWS Management Console 하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Google Drive 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Google Drive 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **인증**의 경우 - 사용 사례에 따라 **Google 서비스 인증**, **OAuth 2.0 인증** 중에서 선택합니다.

   1. **AWS Secrets Manager 보안** 암호 - 기존 보안 암호를 선택하거나 Google Drive 인증 자격 증명을 저장할 새 Secrets Manager 보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **Google 서비스 계정**을 선택한 경우 보안 암호의 이름, 서비스 계정 구성의 관리자 사용자 또는 '서비스 계정 사용자' 이메일 ID(관리자 이메일), 서비스 계정의 이메일 ID(클라이언트 이메일), 서비스 계정에서 생성한 프라이빗 키를 입력합니다.

         보안 암호 저장 및 추가

      1. **OAuth 2.0 인증**을 선택한 경우 OAuth 계정에서 생성한 보안 암호 이름, 클라이언트 ID, 클라이언트 보안 암호, 새로 고침 토큰을 입력합니다. 사용자 메일 ID(연결 세부 정보가 구성된 사용자)는 ACL로 설정됩니다. 커넥터는 API 제한으로 인해 다른 사용자/그룹 보안 주체 정보를 ACL로 설정하지 않습니다.

         보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. (Google 서비스 계정 인증 사용자만 해당)

      **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **콘텐츠 동기화** - 크롤링하려는 옵션 또는 콘텐츠를 선택합니다. 내 드라이브(개인 폴더), 공유 드라이브(사용자와 공유된 폴더) 또는 둘 다를 크롤링하도록 선택할 수 있습니다. 파일 설명도 포함할 수 있습니다.

   1. **추가 구성 - 선택 사항**에 필요에 따라 다음 정보를 입력할 수도 있습니다.

      1. **최대 파일 크기** - 크롤링할 파일의 최대 크기 제한을 MB 단위로 설정합니다.

      1. **사용자 이메일** - 포함하거나 제외하려는 사용자 이메일을 추가합니다.

      1. **공유 드라이브** - 포함하거나 제외하려는 공유 드라이브 이름을 추가합니다.

      1. **MIME 유형** - 포함하거나 제외하려는 MIME 유형을 추가합니다.

      1. **엔터티 정규식 패턴** - 정규 표현식 패턴을 추가하여 지원되는 모든 엔터티에 대해 특정 첨부 파일을 포함하거나 제외합니다. 최대 100개의 패턴을 추가할 수 있습니다.

         **파일 이름**, **파일 유형**, **파일 경로**에 대한 포함/제외 정규식 패턴을 구성할 수 있습니다.
         + **파일 이름** - 포함하거나 제외하려는 파일의 이름입니다. 예를 들어, 이름이 `teamroster.txt`인 파일을 인덱싱하려면 `teamroster`를 입력합니다.
         + **파일 유형** - 포함하거나 제외하려는 파일의 유형입니다. .pdf .txt .docx를 예로 들 수 있습니다.
         + **파일 경로** - 포함하거나 제외하려는 파일의 경로입니다. 예를 들어, 드라이브의 폴더 `Products list` 내에서만 파일을 인덱싱하려면 `/Products list`를 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
**중요**  
Google Drive API는 영구 삭제된 파일에서 설명을 검색하는 것을 지원하지 않습니다. 휴지통에 저장된 파일의 설명은 복구할 수 있습니다. 파일이 트래시되면 커넥터는 Amazon Kendra 인덱스에서 주석을 삭제합니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **동기화 실행 기록**에서 데이터 소스를 동기화할 Amazon S3 때에 자동 생성된 보고서를 저장하도록 선택합니다. 이는 데이터 소스를 동기화할 때 발생하는 문제를 추적하는 데 유용합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **파일의** 경우 - 인덱스에 매핑하려는 Amazon Kendra 생성된 기본 데이터 소스 필드 중에서 선택합니다.
**참고**  
Google Drive API는 사용자 지정 필드 생성을 지원하지 않습니다. Google Drive 커넥터에는 사용자 지정 필드 매핑을 사용할 수 없습니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Google Drive Amazon Kendra 에 연결하려면**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `GOOGLEDRIVEV2`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **인증 유형** - 서비스 계정 인증 또는 OAuth 2.0 인증을 사용할지를 지정합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL` : 데이터 소스가 인덱스와 동기화될 때마다 새 콘텐츠, 수정된 콘텐츠 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 새 콘텐츠와 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
**중요**  
Google Drive API는 영구 삭제된 파일에서 설명을 검색하는 것을 지원하지 않습니다. 휴지통에 저장된 파일의 설명은 복구할 수 있습니다. 파일이 트래시되면 커넥터는 Amazon Kendra 인덱스에서 주석을 삭제합니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Google Drive 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. Google 서비스 계정 인증을 사용하는 경우 보안 암호는 다음 키가 있는 JSON 구조에 저장됩니다.

  ```
  {
      "clientEmail": "user account email",
      "adminAccountEmail": "service account email",
      "privateKey": "private key"
  }
  ```

  OAuth 2.0 인증을 사용하는 경우 보안 암호는 다음 키를 사용하여 JSON 구조에 저장됩니다.

  ```
  {
      "clientID": "OAuth client ID",
      "clientSecret": "client secret",
      "refreshToken": "refresh token"
  }
  ```
+ **IAM 역할** - Secrets Manager 보안 암호`CreateDataSource`에 액세스하고 Google Drive 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM 역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다 Amazon Kendra. 자세한 내용은 [Google Drive 데이터 소스에 대한IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+ **내 드라이브, 공유 드라이브, 설명** - 이러한 유형의 콘텐츠를 크롤링할지를 지정할 수 있습니다.
+  **포함 및 제외 필터** - 특정 사용자 계정, 공유 드라이브, MIME 유형을 포함할지 또는 제외할지를 지정할 수 있습니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **액세스 제어 목록(ACL)** - ACL이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링할지를 지정합니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+  **필드 매핑** - Google Drive 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra 검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Google Drive 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-google-drive-schema)를 참조하세요.

------

## 참고
<a name="google-drive-notes"></a>
+ Google Drive UI는 사용자 지정 필드 생성을 지원하지 않으므로 Google Drive 커넥터에는 사용자 지정 필드 매핑을 사용할 수 없습니다.
+ Google Drive API는 영구 삭제된 파일에서 설명을 검색하는 것을 지원하지 않습니다. 휴지통에 저장된 파일을 제외하고 설명은 복구할 수 있습니다. 파일이 트래시되면 Amazon Kendra 커넥터는 Amazon Kendra 인덱스에서 주석을 삭제합니다.
+ Google Drive API는 .docx 파일에 있는 설명을 반환하지 않습니다.
+ 특정 Google document(문서, 스프레드시트, 슬라이드 등)에 대한 권한이 **일반 액세스: 링크가 있는 모든 사용자** 또는 **특정 회사 도메인과 공유**로 설정된 경우, 쿼리를 수행한 사용자가 문서에 액세스할 때까지 Amazon Kendra 검색 사용자에게 문서가 표시되지 않습니다.

# IBM DB2
<a name="data-source-ibm-db2"></a>

**참고**  
IBM DB2 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

IBM DB2는 IBM에서 개발한 관계형 데이터베이스 관리 시스템입니다. IBM DB2 사용자인 경우 Amazon Kendra를 사용하여 IBM DB2 데이터 소스를 인덱싱할 수 있습니다. 데이터 소스 커넥터는Amazon KendraIBM DB2 DB2 11.5.7를 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 IBM DB2 데이터 소스에 Amazon Kendra연결할 수 있습니다.

데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요Amazon KendraIBM DB2[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-ibm-db2)
+ [사전 조건](#prerequisites-ibm-db2)
+ [연결 지침](#data-source-procedure-ibm-db2)
+ [참고](#ibm-db2-notes)

## 지원되는 기능
<a name="supported-features-ibm-db2"></a>
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-ibm-db2"></a>

Amazon Kendra를 사용하여 IBM DB2 데이터 소스를 인덱싱하려면 먼저 IBM DB2 및 AWS계정을 변경합니다.

**IBM DB2에서 다음 사항을 갖추었는지 확인하세요**.
+ 데이터베이스 사용자 이름 및 암호를 기록했습니다.
**중요**  
가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 데이터베이스 호스트 URL, 포트, 인스턴스를 복사했습니다.
+ IBM DB2 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ IBM DB2 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할 또는 보안 암호가 없는 경우 IBM DB2 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-ibm-db2"></a>

IBM DB2 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 IBM DB2 자격 증명의 세부 정보를 제공해야 합니다. 아직에 IBM DB2 대해를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-ibm-db2).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 IBM DB2** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **IBM DB2 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **IBM DB2 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 다음 정보를 입력합니다.

   1.  **호스트** - 데이터베이스 호스트 이름을 입력합니다.

   1.  **포트** - 데이터베이스 포트를 입력합니다.

   1.  **인스턴스** - 데이터베이스 인스턴스를 입력합니다.

   1. **SSL 인증서 위치 활성화** - SSL 인증서 파일의 Amazon S3경로를 입력하도록 선택합니다.

   1. **인증**에서 - 다음 정보를 입력합니다.

      1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 IBM DB2 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'Amazon Kendra-IBM DB2-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스에서 복사한 보안 인증 값을 입력합니다.

        1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
      + **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
      + **프라이머리 키 열** - 데이터베이스 테이블의 프라이머리 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다.
      + **제목 열** - 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다.
      + **본문 열** - 데이터베이스 테이블에 있는 문서 본문 열의 이름을 입력합니다.

   1. **추가 구성 - *선택 사항***에서 모든 파일을 동기화하는 대신 다음 옵션 중 하나를 선택하여 특정 콘텐츠를 동기화합니다.
      + 열 **변경 감지 -** 콘텐츠 변경을 감지하는 데 Amazon Kendra사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱Amazon Kendra합니다.
      + **사용자 ID 열** - 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다.
      + **그룹 열** - 콘텐츠에 대한 액세스를 허용할 그룹이 포함된 열의 이름을 입력합니다.
      + **소스 URL 열** - 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다.
      + **타임스탬프 열** - 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다.
      + **시간대 열** - 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다.
      + **타임스탬프 형식** - 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 생성된 기본 데이터 소스 필드인 **문서 IDs**, **문서 제목** 및 **소스 URLs** 중에서 Amazon Kendra인덱스에 매핑하려는 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 IBM DB2**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `JDBC`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **데이터베이스 유형** - 데이터베이스 유형을 `db2`로 지정해야 합니다.
+ **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 지정합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - IBM DB2 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "user name": "database user name",
      "password": "password"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 IBM DB2 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [IBM DB2 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 사용자 ID, 그룹, 소스 URL, 타임스탬프, 시간대를 사용하여 특정 콘텐츠를 포함할지 여부를 지정할 수 있습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - IBM DB2 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [IBM DB2 템플릿 스키마](ds-schemas.md#ds-ibm-db2-schema)를 참조하세요.

------

## 참고
<a name="ibm-db2-notes"></a>
+ 가 업데이트된 콘텐츠를 Amazon Kendra확인할 때 삭제된 데이터베이스 행은 추적되지 않습니다.
+ 데이터베이스 행의 필드 이름 및 값 크기는 400KB를 초과할 수 없습니다.
+ 데이터베이스 데이터 소스에 많은 양의 데이터가 있고 첫 번째 동기화 후 모든 데이터베이스 콘텐츠를 인덱싱하지 않으Amazon Kendra려면 새 문서, 수정된 문서 또는 삭제된 문서만 동기화하도록 선택할 수 있습니다.
+ 가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 가장 좋은 방법은 민감한 데이터나 개인 식별 정보(PII)가 포함된 테이블을 추가하지 않는 것입니다.

# Jira
<a name="data-source-jira"></a>

Jira는 소프트웨어 개발, 제품 관리 및 버그 추적을 위한 프로젝트 관리 도구입니다. Amazon Kendra를 사용하여 Jira 프로젝트, 문제, 설명, 첨부 파일, 작업 로그 및 상태를 인덱싱할 수 있습니다.

Amazon Kendra는 현재 Jira Cloud만 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 또는 [JiraConfiguration API를 사용하여 Jira ](https://docs.aws.amazon.com/kendra/latest/APIReference/API_JiraConfiguration.html) 데이터 소스에 Amazon Kendra연결할 수 있습니다. 각각에 지원되는 기능 목록은 [지원되는 기능](#supported-features-jira) 단원을 참조하세요.

Amazon KendraJira 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-jira)
+ [사전 조건](#prerequisites-jira)
+ [연결 지침](#data-source-procedure-jira)
+ [자세히 알아보기](#jira-learn-more)

## 지원되는 기능
<a name="supported-features-jira"></a>

Amazon KendraJira 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-jira"></a>

Amazon Kendra를 사용하여 Jira 데이터 소스를 인덱싱하려면 먼저 Jira 및 AWS계정에서 이러한 변경을 수행합니다.

**Jira에서 다음 사항을 갖추었는지 확인하세요.**
+ Jira ID(사용자 이름 또는 이메일) 및 Jira 자격 증명(Jira API 토큰)을 포함하는 API 토큰 인증 자격 증명을 구성했습니다. [API 토큰 관리에 대한 Atlassian 설명서](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/)를 참조하세요.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ Jira 계정 설정에서 Jira 계정 URL을 기록했습니다. 예: *https://company.atlassian.net/*.
+ Jira 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Jira 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Jira 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-jira"></a>

Jira 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Jira 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대한 Jira를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-jira).

------
#### [ Console ]

**JiraAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Jira 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Jira 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **Jira 계정 URL** - Jira 계정 URL을 입력합니다. 예: *https://company.atlassian.net/*.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **AWS Secrets Manager보안 암호** - 기존 보안 암호를 선택하거나 Jira 인증 자격 증명을 저장할 새 Secrets Manager보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

         1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Jira-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

         1. **Jira ID**의 경우 - Jira 사용자 이름 또는 이메일을 입력합니다.

         1. **암호/토큰**의 경우 - Jira에 구성된 Jira API 토큰을 입력합니다.

      1. 보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **인덱싱할 Jira 프로젝트 선택** - 모든 프로젝트 또는 특정 프로젝트를 크롤링하도록 선택합니다.

   1. **추가 구성** - 특정 상태 및 문제 유형을 지정합니다. 설명, 첨부 파일 및 작업 로그를 크롤링하도록 선택합니다. 정규 표현식 패턴을 사용하여 특정 콘텐츠를 포함하거나 제외합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**JiraAmazon Kendra에 연결하려면**

[JiraConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_JiraConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스 URL** - Jira 계정 URL을 지정합니다. 예: *company.atlassian.net*.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Jira 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "jiraId": "Jira user name or email",
      "jiraCredential": "Jira API token"
  }
  ```
+ **IAM역할** -를 호출`CreateDataSource`하여 Secrets Manager보안 암호에 액세스하고 Jira 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하는 `RoleArn` 시기를 지정합니다Amazon Kendra. 자세한 내용은 [Jira 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+ **Virtual Private Cloud(VPC)** - 데이터 소스 구성의 일부로 `VpcConfiguration`를 지정합니다. [VPC 사용을 위한 Amazon Kendra 구성](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html)을 참조하세요.
+  **변경 로그** - 인덱스에 문서를 업데이트해야 하는지를 결정하기 위해 Amazon Kendra가 Jira 데이터 소스 변경 로그 메커니즘을 사용해야 하는지 여부입니다.
**참고**  
Amazon Kendra가 모든 문서를 스캔하지 않도록 하려면 변경 로그를 사용하세요. 변경 로그가 큰 경우 Jira 데이터 소스의 문서를 스캔하는 데 걸리는 시간이 변경 로그를 처리하는 데 걸리는 시간보다 Amazon Kendra짧을 수 있습니다. Jira 데이터 소스를 인덱스와 처음으로 동기화하는 경우 모든 문서가 스캔됩니다.
+  **포함 및 제외 필터** - 특정 파일을 포함할지 또는 제외할지를 지정할 수 있습니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **설명, 첨부 파일 및 작업 로그** - 문제의 특정 설명, 첨부 파일 및 작업 로그를 크롤링할지를 지정할 수 있습니다.
+ **프로젝트, 문제, 상태** - 특정 프로젝트 ID, 문제 유형 및 상태를 크롤링할지를 지정할 수 있습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - Jira 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

------

## 자세히 알아보기
<a name="jira-learn-more"></a>

Jira 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Jira Cloud 커넥터를 사용하여 Amazon KendraJira 프로젝트를 지능적으로 검색](https://aws.amazon.com/blogs/machine-learning/intelligently-search-your-jira-projects-with-amazon-kendra-jira-cloud-connector/)

# Microsoft Exchange
<a name="data-source-exchange"></a>

Microsoft Exchange는 메시징, 회의 및 파일 공유를 위한 엔터프라이즈 협업 도구입니다. Microsoft Exchange 사용자인 경우 Amazon Kendra를 사용하여 Microsoft Exchange 데이터 소스를 인덱싱할 수 있습니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 Microsoft Exchange 데이터 소스에 연결할 수 Amazon Kendra있습니다.

Amazon KendraMicrosoft Exchange 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

## 지원되는 기능
<a name="supported-features-exchange"></a>
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-exchange"></a>

Amazon Kendra를 사용하여 Microsoft Exchange 데이터 소스를 인덱싱하려면 먼저 Microsoft Exchange 및 AWS계정에서 이러한 변경을 수행합니다.

**Microsoft Exchange에서는 다음을 확인하세요.**
+ Office 365에서 Microsoft Exchange 계정을 만들었습니다.
+ Microsoft 365 테넌트 ID를 기록했습니다. Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 테넌트 ID를 찾을 수 있습니다.
+ Azure 포털에서 OAuth 애플리케이션을 구성하고 클라이언트 ID, 클라이언트 보안 암호 또는 클라이언트 자격 증명을 기록했습니다. 자세한 내용은 [Microsoft 자습서](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/walkthrough-register-app-azure-active-directory) 및 [등록된 앱 예제](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application)를 참조하세요.
**참고**  
Azure 포털에서 앱을 생성하거나 등록할 때 보안 암호 ID는 실제 보안 암호 값을 나타냅니다. 보안 암호 및 앱을 생성할 때 실제 보안 암호 값을 즉시 기록하거나 저장해야 합니다. Azure 포털에서 애플리케이션 이름을 선택한 다음 인증서 및 보안 암호의 메뉴 옵션으로 이동하여 보안 암호에 액세스할 수 있습니다.  
Azure 포털에서 애플리케이션 이름을 선택한 다음 개요 페이지로 이동하여 클라이언트 ID에 액세스할 수 있습니다. 애플리케이션(클라이언트) ID는 클라이언트 ID입니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ 커넥터 애플리케이션에 다음 권한을 추가했습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/data-source-exchange.html)
+ Microsoft Exchange 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Microsoft Exchange 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Microsoft Exchange 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-exchange"></a>

Microsoft Exchange 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Microsoft Exchange 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 용 Microsoft Exchange를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-exchange).

------
#### [ Console ]

**Microsoft ExchangeAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Microsoft Exchange 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Microsoft Exchange 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **테넌트 ID** - Microsoft 365 테넌트 ID를 입력합니다. Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 테넌트 ID를 찾을 수 있습니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **AWS Secrets Manager보안 암호** - 기존 보안 암호를 선택하거나 Microsoft Exchange 인증 자격 증명을 저장할 새 Secrets Manager보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

         1. **보안 암호 이름** - 보안 암호의 이름. 접두사 'AmazonKendra-Microsoft Exchange

         1. **클라이언트 ID**, **클라이언트 보안 암호**의 경우 - Microsoft Exchange에 구성된 인증 자격 증명을 Azure 포털에 입력합니다.

      1. 보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **사용자 ID** - 특정 이메일을 기준으로 콘텐츠를 필터링하려면 사용자 이메일을 제공합니다.

   1. **추가 구성** - 크롤링하려는 콘텐츠 유형을 지정합니다.
      + **엔터티 유형** - 일정, OneNotes 또는 연락처 콘텐츠를 크롤링하도록 선택할 수 있습니다.
      + **일정 크롤링** - 시작 및 종료 날짜를 입력하여 특정 날짜 간에 콘텐츠를 크롤링합니다.
      + **이메일 포함** - 크롤링하려는 특정 이메일을 필터링하려면 '받는 사람', '보낸 사람' 및 이메일 제목 줄을 입력합니다.
      + **공유 폴더 액세스** - Microsoft Exchange 데이터 소스의 액세스 제어를 위해 액세스 제어 목록 크롤링을 활성화하도록 선택합니다.
      + **도메인용 정규식** - 특정 이메일 도메인을 포함하거나 제외하기 위한 정규 표현식 패턴을 추가합니다.
      + **정규식 패턴** - 특정 페이지 및 자산을 포함하거나 제외하기 위한 정규 표현식 패턴을 추가합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.
**참고**  
Amazon KendraMicrosoft Exchange 데이터 소스 커넥터는 사용자 지정 필드 매핑을 지원하지 않습니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Microsoft ExchangeAmazon Kendra에 연결하려면**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-msexchange-schema.html)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `MSEXCHANGE`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **테넌트 ID** - Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 찾을 수 있습니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Microsoft Exchange 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "clientId": "client ID",
      "clientSecret": "client secret"
  }
  ```
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Microsoft Exchange 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Microsoft Exchange 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+ **포함 및 제외 필터** - 특정 콘텐츠를 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **액세스 제어 목록(ACL)** - ACL이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 크롤링할지를 지정합니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.
+  **필드 매핑** - Microsoft Exchange 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Microsoft Exchange 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-msexchange-schema)를 참조하세요.

------

## 자세히 알아보기
<a name="exchange-learn-more"></a>

Microsoft Exchange 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Kendra에 대한 Exchange 커넥터를 사용하여 Microsoft Exchange 콘텐츠를 인덱싱](https://aws.amazon.com/blogs/machine-learning/index-your-microsoft-exchange-content-using-the-exchange-connector-for-amazon-kendra/)

## 참고
<a name="exchange-notes"></a>
+ 액세스 제어 목록(ACL)이 활성화된 경우 Microsoft Exchange API 제한 사항으로 인해 '새 콘텐츠 또는 수정된 콘텐츠만 동기화' 옵션을 사용할 수 없습니다. 대신 '전체 동기화' 또는 '새 콘텐츠, 수정된 콘텐츠 또는 삭제된 콘텐츠 동기화' 모드를 사용하거나, 이 동기화 모드를 사용해야 하는 경우 ACL을 비활성화하는 것이 좋습니다.

# Microsoft OneDrive
<a name="data-source-onedrive"></a>

Microsoft OneDrive는 콘텐츠를 저장, 공유하고 호스팅하는 데 사용할 수 있는 클라우드 기반 스토리지 서비스입니다. Amazon Kendra 를 사용하여 OneDrive 데이터 소스를 인덱싱할 수 있습니다.

[Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/) 및 OneDrive [OneDriveConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_OneDriveConfiguration.html) 데이터 소스에 Amazon Kendra 연결할 수 있습니다.

Amazon Kendra 에는 두 가지 버전의 OneDrive 커넥터가 있습니다. 각 버전에 지원되는 기능은 다음과 같습니다.

**Microsoft OneDrive 커넥터 V1.0 / [OneDriveConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_OneDriveConfiguration.html) API**
+ 필드 매핑
+ 포함/제외 필터

**Microsoft OneDrive 커넥터 V2.0 / [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API**
+ 사용자 컨텍스트 필터링
+ 사용자 ID 크롤러
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

**참고**  
OneDrive 커넥터 V1.0 / OneDriveConfiguration API에 대한 지원은 2023년 6월 종료될 예정입니다. OneDrive 커넥터 V2.0 / TemplateConfiguration API를 사용하는 것이 좋습니다.

 Amazon Kendra OneDrive 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [Microsoft OneDrive 커넥터 V1.0](data-source-v1-onedrive.md)
+ [Microsoft OneDrive 커넥터 V2.0](data-source-v2-onedrive.md)
+ [자세히 알아보기](#onedrive-learn-more)
+ [참고](#onedrive-notes)

# Microsoft OneDrive 커넥터 V1.0
<a name="data-source-v1-onedrive"></a>

Microsoft OneDrive는 콘텐츠를 저장, 공유하고 호스팅하는 데 사용할 수 있는 클라우드 기반 스토리지 서비스입니다. Amazon Kendra 를 사용하여 Microsoft OneDrive 데이터 소스를 인덱싱할 수 있습니다.

**참고**  
OneDrive 커넥터 V1.0 / Microsft OneDrive API에 대한 지원은 2023년 6월 종료될 예정입니다. OneDrive 커넥터 V2.0 / TemplateConfiguration API를 사용하는 것이 좋습니다.

 Amazon Kendra OneDrive 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v1-onedrive)
+ [사전 조건](#prerequisites-v1-onedrive)
+ [연결 지침](#data-source-v1-procedure-onedrive)

## 지원되는 기능
<a name="supported-features-v1-onedrive"></a>
+ 필드 매핑
+ 포함/제외 필터

## 사전 조건
<a name="prerequisites-v1-onedrive"></a>

 Amazon Kendra 를 사용하여 OneDrive 데이터 소스를 인덱싱하려면 먼저 OneDrive 및 AWS 계정에서 이러한 변경을 수행합니다.

**Azure Active Directory(AD)에서 다음을 확인하세요.**
+ Azure Active Directory(AD) 애플리케이션을 만들었습니다.
+ AD 애플리케이션 ID를 사용하여 AD 사이트에 애플리케이션의 보안 암호 키를 등록했습니다. 보안 암호 키에는 애플리케이션 ID와 보안 암호 키가 포함되어야 합니다.
+ 조직의 AD 도메인을 복사했습니다.
+ Microsoft Graph 옵션에서 AD 애플리케이션에 다음과 같은 애플리케이션 권한을 추가했습니다.
  + 모든 사이트 모음에서 파일 읽기(File.Read.All)
  + 모든 사용자의 전체 프로필 읽기(User.Read.All)
  + 디렉터리 데이터 읽기(Directory.Read.All)
  + 모든 그룹 읽기(Group.Read.All)
  + 모든 사이트 모음에서 항목 읽기(Site.Read.All)
+ 문서를 인덱싱해야 하는 사용자의 목록을 복사했습니다. 사용자 이름 목록을 제공하도록 선택하거나 Amazon S3에 저장된 파일에 사용자 이름을 제공할 수 있습니다. 데이터 소스를 생성하면 다음을 수행할 수 있습니다.
  + 사용자 목록을 수정합니다.
  + 사용자 목록에서 Amazon S3 버킷에 저장된 목록으로 변경합니다.
  + 사용자 목록의 Amazon S3 버킷 위치를 변경합니다. 버킷 위치를 변경하는 경우 버킷에 액세스할 수 있도록 데이터 소스의 IAM 역할도 업데이트해야 합니다.
**참고**  
버킷에 사용자 이름 목록을 저장하는 경우 데이터 소스 Amazon S3 에 대한 IAM 정책은 버킷에 대한 액세스 권한과 버킷이 암호화된 키에 대한 액세스 권한을 제공해야 합니다.
+ OneDrive 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra 인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM 역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM 역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager 보안 암호 ID에 액세스하도록 IAM 역할을 업데이트해야 합니다.
+ OneDrive 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM 역할 또는 보안 암호가 없는 경우 OneDrive 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM 역할 및 Secrets Manager 보안 암호를 생성할 수 있습니다 Amazon Kendra. API를 사용하는 경우 기존 IAM 역할 및 Secrets Manager 보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-v1-procedure-onedrive"></a>

OneDrive 데이터 소스 Amazon Kendra 에 연결하려면가 데이터에 액세스할 Amazon Kendra 수 있도록 OneDrive 자격 증명의 세부 정보를 제공해야 합니다. 용 OneDrive를 아직 구성하지 않은 경우 섹션을 Amazon Kendra 참조하세요[사전 조건](#prerequisites-v1-onedrive).

------
#### [ Console ]

**OneDrive Amazon Kendra 에 연결하려면** 

1. 에 로그인 AWS Management Console 하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **OneDrive 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **OneDrive 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **OneDrive 테넌트 ID** - 프로토콜 없이 OneDrive 테넌트 ID를 입력합니다.

   1. **인증 유형** - **신규** 인증과 **기존** 인증 중에서 선택합니다.

   1. 

      1. **기존**을 선택하는 경우 **보안 암호 선택**에서 기존 보안 암호를 선택합니다.

      1. **신규**를 선택한 경우 **새 AWS Secrets Manager 보안 암호** 섹션에 다음 정보를 입력합니다.

         1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-OneDrive-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

         1. **애플리케이션 ID** 및 **애플리케이션 암호**의 경우 - OneDrive 계정의 보안 인증 정보를 값을 입력한 다음 **인증 저장**을 선택합니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. 사용 사례에 따라 **목록 파일**과 **이름 목록** 중에서 선택합니다.

      1. **목록 파일**을 선택하는 경우 다음 정보를 입력합니다.

         1.  **위치 선택** - Amazon S3 버킷 경로를 입력합니다.

            **에 사용자 목록 파일 추가 Amazon S3** - Amazon S3 버킷에 사용자 목록 파일을 추가하려면 선택합니다.

            **사용자 로컬 그룹 매핑** - 로컬 그룹 매핑을 사용하여 콘텐츠를 필터링하려면 선택합니다.

      1. **이름 목록**을 선택하는 경우 다음 정보를 입력합니다.

         1.  **사용자 이름** - 인덱싱할 사용자 드라이브를 최대 10개까지 입력합니다. 10명 넘는 사용자를 추가하려면 이름이 포함된 파일을 만듭니다.

            **다른 사용자 추가** - 사용자를 더 추가하려면 선택합니다.

            **사용자 로컬 그룹 매핑** - 로컬 그룹 매핑을 사용하여 콘텐츠를 필터링하려면 선택합니다.

   1. **추가 구성**의 경우 - 정규 표현식 패턴을 추가하여 특정 파일을 포함하거나 제외합니다. 최대 100개의 패턴을 추가할 수 있습니다.

   1. **동기화 실행 일정**에서 **빈도** - Amazon Kendra 가 데이터 소스와 동기화하는 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** 및 **제안된 추가 필드 매핑의** 경우 - 인덱스에 매핑하려는 Amazon Kendra 생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**OneDrive Amazon Kendra 에 연결하려면**

[OneDriveConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_OneDriveConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **테넌트 ID** - 조직의 Azure Active Directory 도메인을 지정합니다.
+ **OneDrive 사용자** - 문서를 인덱싱해야 하는 사용자 계정의 목록을 지정합니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - OneDrive 계정의 인증 자격 증명이 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "username": "OAuth client ID",
      "password": "client secret"
  }
  ```
+ **IAM 역할** - Secrets Manager 보안 암호`CreateDataSource`에 액세스하고 OneDrive 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM 역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다 Amazon Kendra. 자세한 내용은 [OneDrive 데이터 소스에 대한IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **포함 및 제외 필터** - 특정 문서를 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **필드 매핑** - OneDrive 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra 검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** -Amazon Kendra 는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.

------

# Microsoft OneDrive 커넥터 V2.0
<a name="data-source-v2-onedrive"></a>

Microsoft OneDrive는 콘텐츠를 저장, 공유하고 호스팅하는 데 사용할 수 있는 클라우드 기반 스토리지 서비스입니다. Amazon Kendra 를 사용하여 OneDrive 데이터 소스를 인덱싱할 수 있습니다.

[Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/) 및 OneDrive [OneDriveConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/OneDriveConfiguration.html) 데이터 소스에 Amazon Kendra 연결할 수 있습니다.



**참고**  
OneDrive 커넥터 V1.0 / OneDriveConfiguration API에 대한 지원은 2023년 6월 종료될 예정입니다. OneDrive 커넥터 V2.0 / TemplateConfiguration API를 사용하는 것이 좋습니다. 버전 2.0은 추가 ACL 및 ID 크롤러 기능을 제공합니다.

 Amazon Kendra OneDrive 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v2-onedrive)
+ [사전 조건](#prerequisites-v2-onedrive)
+ [연결 지침](#data-source-procedure-v2-onedrive)

## 지원되는 기능
<a name="supported-features-v2-onedrive"></a>

Amazon Kendra OneDrive 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-v2-onedrive"></a>

 Amazon Kendra 를 사용하여 OneDrive 데이터 소스를 인덱싱하려면 먼저 OneDrive 및 AWS 계정에서 이러한 변경을 수행합니다.

**OneDrive에서 다음 사항을 갖추었는지 확인하세요.**
+ Office 365에서 OneDrive 계정을 만들었습니다.
+ Microsoft 365 테넌트 ID를 기록했습니다. Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 테넌트 ID를 찾을 수 있습니다.
+ Azure 포털에서 OAuth 애플리케이션을 생성하고 보안 암호로 인증하는 데 사용되는 클라이언트 ID 및 클라이언트 AWS Secrets Manager 보안 암호 또는 클라이언트 보안 인증 정보를 기록했습니다. 자세한 내용은 [Microsoft 자습서](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/walkthrough-register-app-azure-active-directory) 및 [등록된 앱 예제](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application)를 참조하세요.
**참고**  
Azure 포털에서 앱을 생성하거나 등록할 때 보안 암호 ID는 실제 보안 암호 값을 나타냅니다. 보안 암호 및 앱을 생성할 때 실제 보안 암호 값을 즉시 기록하거나 저장해야 합니다. Azure 포털에서 애플리케이션 이름을 선택한 다음 인증서 및 보안 암호의 메뉴 옵션으로 이동하여 보안 암호에 액세스할 수 있습니다.  
Azure 포털에서 애플리케이션 이름을 선택한 다음 개요 페이지로 이동하여 클라이언트 ID에 액세스할 수 있습니다. 애플리케이션(클라이언트) ID는 클라이언트 ID입니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ AD 애플리케이션 ID를 사용하여 AD 사이트에 애플리케이션의 보안 암호 키를 등록했습니다. 보안 암호 키에는 애플리케이션 ID와 보안 암호 키가 포함되어야 합니다.
+ 조직의 AD 도메인을 복사했습니다.
+ Microsoft Graph 옵션에서 AD 애플리케이션에 다음과 같은 권한을 추가했습니다.
  + 모든 사이트 모음에서 파일 읽기(File.Read.All)
  + 모든 사용자의 전체 프로필 읽기(User.Read.All)
  + 모든 그룹 읽기(Group.Read.All)
  + 모든 참고 읽기(Notes.Read.All)
+ 문서를 인덱싱해야 하는 사용자의 목록을 복사했습니다. 사용자 이름 목록을 제공하도록 선택하거나 Amazon S3에 저장된 파일에 사용자 이름을 제공할 수 있습니다. 데이터 소스를 생성하면 다음을 수행할 수 있습니다.
  + 사용자 목록을 수정합니다.
  + 사용자 목록에서 Amazon S3 버킷에 저장된 목록으로 변경합니다.
  + 사용자 목록의 Amazon S3 버킷 위치를 변경합니다. 버킷 위치를 변경하는 경우 버킷에 액세스할 수 있도록 데이터 소스의 IAM 역할도 업데이트해야 합니다.
**참고**  
버킷에 사용자 이름 목록을 저장하는 경우 데이터 소스 Amazon S3 에 대한 IAM 정책은 버킷에 대한 액세스 권한과 버킷이 암호화된 키에 대한 액세스 권한을 제공해야 합니다.  
OneDrive 커넥터는 **Onedrive 사용자 속성**에 있는 **연락처 정보의 이메일**을 사용합니다. 데이터를 크롤링하려는 사용자의 **연락처 정보** 페이지에 이메일 필드가 구성되어 있는지 확인하세요. 새 사용자의 경우 이 필드는 비어 있을 수 있습니다.

** AWS 계정에 다음이 있는지 확인합니다.**
+  Amazon Kendra 인덱스를 생성하고 API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 IAM 역할을 생성하고 API를 사용하는 경우 IAM 역할의 ARN을 기록했습니다.
+ OneDrive 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.

기존 IAM 역할 또는 보안 암호가 없는 경우 OneDrive 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM 역할 및 Secrets Manager 보안 암호를 생성할 수 있습니다 Amazon Kendra. API를 사용하는 경우 기존 IAM 역할 및 Secrets Manager 보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-v2-onedrive"></a>

OneDrive 데이터 소스 Amazon Kendra 에 연결하려면가 데이터에 액세스할 Amazon Kendra 수 있도록 OneDrive 자격 증명의 세부 정보를 제공해야 합니다. OneDrive를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-v2-onedrive).

------
#### [ Console ]

**OneDrive Amazon Kendra 에 연결하려면** 

1. 에 로그인 AWS Management Console 하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **OneDrive 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **OneDrive 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **OneDrive 테넌트 ID** - 프로토콜 없이 OneDrive 테넌트 ID를 입력합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **인증** - **신규** 인증과 **기존** 인증 중에서 선택합니다.

   1. 

      1. **기존**을 선택하는 경우 **보안 암호 선택**에서 기존 보안 암호를 선택합니다.

      1. **신규**를 선택한 경우 **새 AWS Secrets Manager 보안 암호** 섹션에 다음 정보를 입력합니다.

         1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-OneDrive-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

         1. **클라이언트 ID** 및 **클라이언트 보안 암호**의 경우 - 클라이언트 ID와 클라이언트 보안 암호를 입력합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

1. 

   1. **동기화 범위**의 경우 - 인덱싱할 사용자의 OneDrive 데이터를 선택합니다. 최대 10명의 사용자를 수동으로 추가할 수 있습니다.

   1. **추가 구성**의 경우 - 정규 표현식 패턴을 추가하여 특정 콘텐츠를 포함하거나 제외합니다. 최대 100개의 패턴을 추가할 수 있습니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra 생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**OneDrive Amazon Kendra 에 연결하려면**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-onedrive-schema)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `ONEDRIVEV2`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **테넌트 ID** - Microsoft 365 테넌트 ID를 지정합니다. Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 테넌트 ID를 찾을 수 있습니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - OneDrive 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다.

  OAuth 2.0 인증을 사용하는 경우 보안 암호는 다음 키를 사용하여 JSON 구조에 저장됩니다.

  ```
  {
      "clientId": "client ID",
      "clientSecret": "client secret"
  }
  ```
+ **IAM 역할** - Secrets Manager 보안 암호`CreateDataSource`에 액세스하고 OneDrive 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM 역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다 Amazon Kendra. 자세한 내용은 [OneDrive 데이터 소스에 대한IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 특정 파일, OneNote 섹션, OneNote 페이지를 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+  **필드 매핑 **- Amazon Kendra OneDrive 커넥터의 내장 또는 공통 인덱스 필드만 매핑할 수 있습니다. API 제한으로 인해 OneDrive 커넥터에는 사용자 지정 필드 매핑을 사용할 수 없습니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.

구성해야 할 기타 중요한 JSON 키 목록은 [OneDrive 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-onedrive-schema)를 참조하세요.

------

## 자세히 알아보기
<a name="onedrive-learn-more"></a>

OneDrive 데이터 소스 Amazon Kendra 와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Kendra에 대한 업데이트된 Microsoft OneDrive 커넥터(V2) 발표](https://aws.amazon.com/blogs/machine-learning/announcing-the-updated-microsoft-onedrive-connector-v2-for-amazon-kendra/).

## 참고
<a name="onedrive-notes"></a>
+ 액세스 제어 목록(ACL)이 활성화된 경우 OneDrive API 제한 사항으로 인해 '새 콘텐츠 또는 수정된 콘텐츠만 동기화' 옵션을 사용할 수 없습니다. 대신 '전체 동기화' 또는 '새 콘텐츠, 수정된 콘텐츠 또는 삭제된 콘텐츠 동기화' 모드를 사용하거나, 이 동기화 모드를 사용해야 하는 경우 ACL을 비활성화하는 것이 좋습니다.

# Microsoft SharePoint
<a name="data-source-sharepoint"></a>

SharePoint는 웹 콘텐츠를 사용자 지정하고 페이지, 사이트, 문서 라이브러리 및 목록을 만드는 데 사용할 수 있는 공동 웹 사이트 구축 서비스입니다. Amazon Kendra 를 사용하여 SharePoint 데이터 소스를 인덱싱할 수 있습니다.

Amazon Kendra 는 현재 SharePoint Online 및 SharePoint Server(버전 2013, 2016, 2019 및 Subscription Edition)를 지원합니다.

[Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/), [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API 또는 SharePoint [SharePointConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_SharePointConfiguration.html) 데이터 소스에 연결할 수 Amazon Kendra 있습니다.

Amazon Kendra 에는 SharePoint 커넥터의 두 가지 버전이 있습니다. 각 버전에 지원되는 기능은 다음과 같습니다.

**SharePoint 커넥터 V1.0 / [SharePointConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_SharePointConfiguration.html) API**
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 변경 로그
+ Virtual private cloud(VPC)

**SharePoint 커넥터 V2.0 / [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API**
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

**참고**  
SharePoint 커넥터 V1.0/SharePointConfiguration API는 2023년에 지원이 종료되었습니다. SharePoint 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

 Amazon Kendra SharePoint 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [SharePoint 커넥터 V1.0](data-source-v1-sharepoint.md)
+ [SharePoint 커넥터 V2.0](data-source-v2-sharepoint.md)

# SharePoint 커넥터 V1.0
<a name="data-source-v1-sharepoint"></a>

SharePoint는 웹 콘텐츠를 사용자 지정하고 페이지, 사이트, 문서 라이브러리 및 목록을 만드는 데 사용할 수 있는 공동 웹 사이트 구축 서비스입니다. SharePoint 사용자인 경우 Amazon Kendra 를 사용하여 SharePoint 데이터 소스를 인덱싱할 수 있습니다.

**참고**  
SharePoint 커넥터 V1.0/SharePointConfiguration API는 2023년에 지원이 종료되었습니다. SharePoint 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

 Amazon Kendra SharePoint 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v1-sharepoint)
+ [사전 조건](#prerequisites-v1-sharepoint)
+ [연결 지침](#data-source-procedure-v1-sharepoint)
+ [자세히 알아보기](#sharepoint-v1-learn-more)

## 지원되는 기능
<a name="supported-features-v1-sharepoint"></a>
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 변경 로그
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-v1-sharepoint"></a>

 Amazon Kendra 를 사용하여 SharePoint 데이터 소스를 인덱싱하려면 먼저 SharePoint 및 AWS 계정에서 이러한 변경을 수행합니다.

 AWS Secrets Manager 보안 암호에 안전하게 저장하는 인증 자격 증명을 제공해야 합니다.

**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

**SharePoint에서 다음을 확인하세요.**
+ 인덱싱하려는 SharePoint 사이트의 URL을 확인합니다.
+ **SharePoint Online의 경우:**
  + 사이트 관리 권한이 있는 사용자 이름과 암호가 포함된 기본 보안 인증 정보를 기록해 두었습니다.
  + **선택 사항: ** 사용자 이름, 암호, 클라이언트 ID 및 클라이언트 보안 암호를 포함한 OAuth 2.0 보안 인증을 생성했습니다.
  + 관리자 사용자를 사용하여 Azure 포털에서 **보안 기본값**을 비활성화했습니다. Azure Portal에서 보안 기본 설정을 관리하는 방법에 대한 자세한 내용은 [보안 기본값을 활성화/비활성화하는 방법에 대한 Microsoft 설명서](https://learn.microsoft.com/en-us/microsoft-365/business-premium/m365bp-conditional-access?view=o365-worldwide&tabs=secdefaults#security-defaults-1)를 참조하세요.
+ **SharePoint Server의 경우:**
  + SharePoint Server 도메인 이름(Active Directory의 NetBIOS 이름)을 기록해 두었습니다. 이 정보를 SharePoint 기본 인증 사용자 이름 및 암호와 함께 사용하여 SharePoint Server를 Amazon Kendra에 연결할 수 있습니다.
**참고**  
SharePoint Server를 사용하고 사용자 컨텍스트에 따른 필터링을 위해 액세스 제어 목록(ACL)을 이메일 형식으로 변환해야 하는 경우 LDAP 서버 URL 및 LDAP 검색 기반을 제공하세요. 또는 디렉터리 도메인 재정의를 사용할 수도 있습니다. LDAP 서버 URL은 전체 도메인 이름과 포트 번호입니다(예: ldap: //example.com:389). LDAP 검색 기반은 도메인 컨트롤러 'example'과 'com'입니다. 디렉터리 도메인 재정의를 사용하면 LDAP 서버 URL 및 LDAP 검색 기반을 사용하는 대신 이메일 도메인을 사용할 수 있습니다. 예를 들어 username@example.com의 이메일 도메인은 'example.com'입니다. 도메인 확인이 염려되지 않고 단순히 이메일 도메인만 사용하려는 경우 이 재정의를 사용할 수 있습니다.
+ SharePoint 계정에 다음과 같은 권한을 추가했습니다.

  **SharePoint 목록의 경우**
  + 항목 열기 - 서버측 파일 처리기를 사용하여 문서 소스를 확인합니다.
  + 애플리케이션 페이지 보기 - 양식, 보기 및 애플리케이션 페이지를 볼 수 있습니다. 목록을 열거합니다.
  + 항목 보기 - 목록의 항목과 문서 라이브러리의 문서를 볼 수 있습니다.
  + 버전 보기 - 목록 항목 또는 문서의 이전 버전을 볼 수 있습니다.

  **SharePoint 웹 사이트의 경우**
  + 디렉터리 찾아보기 - SharePoint Designer 및 Web DAV 인터페이스를 사용하여 웹 사이트의 파일 및 폴더를 열거합니다.
  + 사용자 정보 찾아보기 - 웹 사이트 사용자에 대한 정보를 볼 수 있습니다.
  + 권한 열거 - 웹 사이트, 목록, 폴더, 문서 또는 목록 항목에 대한 권한을 열거합니다.
  + 열기 - 웹 사이트, 목록 또는 폴더를 열어 컨테이너 내의 항목에 접근합니다.
  + 클라이언트 통합 기능 사용 - SOAP, WebDAV, 클라이언트 객체 모델 또는 SharePoint Designer 인터페이스를 사용하여 웹 사이트에 액세스합니다.
  + 원격 인터페이스 사용 - 클라이언트 애플리케이션을 시작하는 기능을 사용합니다.
  + 페이지 보기 - 웹 사이트에서 페이지를 봅니다.
+ SharePoint 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra 인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM 역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM 역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager 보안 암호 ID에 액세스하도록 IAM 역할을 업데이트해야 합니다.
+ SharePoint 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM 역할이나 보안 암호가 없는 경우 SharePoint 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM 역할 및 Secrets Manager 보안 암호를 생성할 수 있습니다 Amazon Kendra. API를 사용하는 경우 기존 IAM 역할 및 Secrets Manager 보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-v1-sharepoint"></a>

SharePoint 데이터 소스 Amazon Kendra 에 연결하려면가 데이터에 액세스할 수 있도록 Amazon Kendra SharePoint 자격 증명의 세부 정보를 제공해야 합니다. 에 대한 SharePoint를 아직 구성하지 않은 경우 섹션을 Amazon Kendra 참조하세요[사전 조건](#prerequisites-v1-sharepoint).

------
#### [ Console ]

**SharePoint Amazon Kendra 에 연결하려면** 

1.  AWS Management Console에 로그인하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **SharePoint 커넥터 v1.0**을 선택한 다음 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **호스팅 방법**의 경우 - **SharePoint Online**과 **SharePoint Server** 중에서 선택합니다.

      1. **SharePoint Online**의 경우 - **SharePoint 리포지토리와 관련된 사이트 URL**을 입력합니다.

      1. **SharePoint Server** - **SharePoint 버전을** 선택하려면 ** SharePoint 리포지토리와 관련된 사이트 URLs을** 입력하고 **SSL 인증서 위치**의 Amazon S3 경로를 입력합니다.

   1. (SharePoint Server만 해당) **웹 프록시**의 경우 - 내부 SharePoint 인스턴스의 **호스트 이름**과 **포트 번호**를 입력합니다. 포트 번호는 0에서 65535 사이의 숫자 값이어야 합니다.

   1. **인증**의 경우 - 사용 사례에 따라 다음 옵션 중에서 선택하세요.

      1. SharePoint Online의 경우 - **기본 인증**과 **OAuth 2.0 인증** 중에서 선택합니다.

      1. SharePoint Server의 경우 - **없음**, **LDAP** 및 **수동** 중에서 선택합니다.

   1. **AWS Secrets Manager 보안 암호**의 경우 - 기존 보안 암호를 선택하거나 SharePoint 인증 자격 증명을 저장할 새 Secrets Manager 보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다. **보안 암호 이름**을 입력해야 합니다. 'AmazonKendra-SharePoint-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

   1. ** AWS Secrets Manager 보안 암호 생성 창**에 다음 기타 정보를 입력합니다.

      1. 사용 사례에 따라 다음 SharePoint Cloud 인증 옵션 중에서 선택합니다.

         1. **기본 인증** - SharePoint 계정 사용자 이름을 **사용자 이름**으로 입력하고 SharePoint 계정 암호를 **암호**로 입력합니다.

         1. **OAuth 2.0 인증** - SharePoint 계정 사용자 이름을 **사용자 이름**으로, SharePoint 계정 암호를 **암호**로, 자동 생성된 고유한 SharePoint ID를 **클라이언트 ID**로, SharePoint와 Amazon Kendra 에서 모두 사용하는 공유 보안 암호 문자열을 **클라이언트 보안 암호**로 입력합니다.

      1. 사용 사례에 따라 다음 SharePoint Server 인증 옵션 중에서 선택합니다.

         1. **없음** - SharePoint 계정 사용자 이름을 **사용자 이름**으로, SharePoint 계정 암호를 **암호**로, 그리고 **서버 도메인 이름**을 입력합니다.

         1. **LDAP** - SharePoint 계정 사용자 이름을 **사용자 이름**으로, SharePoint 계정 암호를 **암호**로, **LDAP 서버 엔드포인트**(프로토콜 및 포트 번호 포함, 예:*ldap://example.com:389*), 그리고 **LDAP 검색 기준**(예: *dc=example, dc=com*)을 입력합니다.

         1. **수동** - SharePoint 계정 사용자 이름을 **사용자 이름**으로, SharePoint 계정 암호를 **암호**로, 그리고 **이메일 도메인 재정의**(디렉터리 사용자 또는 그룹의 이메일 도메인)를 입력합니다.

      1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - **서브넷**과 **VPC 보안 그룹**도 추가해야 합니다.
**참고**  
SharePoint Server를 사용하는 경우 VPC를 사용해야 합니다. 다른 SharePoint 버전에서는가 선택 사항 Amazon VPC 입니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **변경 로그 사용** - 모든 파일을 동기화하는 대신 인덱스를 업데이트하려면 선택합니다.

   1. **첨부 파일 크롤링** - 첨부 파일을 크롤링하려면 선택합니다.

   1. **로컬 그룹 매핑 사용** - 문서가 제대로 필터링되었는지 확인하려면 선택합니다.

   1. **추가 구성** - 정규 표현식 패턴을 추가하여 특정 파일을 포함하거나 제외합니다. 최대 100개의 패턴을 추가할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra 가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **Amazon Kendra 기본 필드 매핑 **- 인덱스에 매핑하려는 Amazon Kendra 생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1. **사용자 지정 필드 매핑** - 사용자 지정 데이터 소스 필드를 추가하여 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**SharePoint Amazon Kendra 에 연결하려면**

[SharePointConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_SharePointConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **SharePoint 버전** - SharePoint를 구성할 때 사용하는 SharePoint 버전을 지정합니다. SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019 또는 SharePoint Online 중에서 무엇을 사용하든 상관 없습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - SharePoint 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 JSON 구조에 저장됩니다.

  **SharePoint Online 기본 인증**의 경우 보안 암호에 포함되어야 하는 최소 JSON 구조는 다음과 같습니다.

  ```
  {
      "userName": "user name",
      "password": "password"
  }
  ```

  **SharePoint Online OAuth 2.0 인증**의 경우 보안 암호에 포함되어야 하는 최소 JSON 구조는 다음과 같습니다.

  ```
  {
      "userName": "SharePoint account user name"",
      "password": "SharePoint account password",
      "clientId": "SharePoint auto-generated unique client id",
      "clientSecret": "secret string shared by Amazon Kendra and SharePoint to authorize communications"
  }
  ```

  **SharePoint Server 기본 인증**의 경우 보안 암호에 포함되어야 하는 최소 JSON 구조는 다음과 같습니다.

  ```
  {
      "userName": "user name",
      "password": "password",
      "domain": "server domain name"
  }
  ```

  **SharePoint Server LDAP 인증**의 경우 (사용자 컨텍스트에 따른 필터링을 위해 액세스 제어 목록(ACL)을 이메일 형식으로 변환해야 하는 경우 보안 암호에 LDAP 서버 URL 및 LDAP 검색 기반을 포함할 수 있음) 보안 암호에 포함해야 하는 최소 JSON 구조는 다음과 같습니다.

  ```
  {
      "userName": "user name",
      "password": "password",
      "domain": "server domain name"
      "ldapServerUrl": "ldap://example.com:389",
      "ldapSearchBase": "dc=example,dc=com"
  }
  ```

  **SharePoint Server 수동 인증**의 경우 보안 암호에 포함되어야 하는 최소 JSON 구조는 다음과 같습니다.

  ```
  {
      "userName": "user name",
      "password": "password",
      "domain": "server domain name",
      "emailDomainOverride": "example.com"
  }
  ```
+ **IAM 역할** - Secrets Manager 보안 암호`CreateDataSource`에 액세스하고 SharePoint 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM 역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다 Amazon Kendra. 자세한 내용은 [SharePoint 데이터 소스에 대한IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.
+  **Amazon VPC** - SharePoint Server를 사용하는 경우 데이터 소스 구성의 일부로 `VpcConfiguration`를 지정하세요. [VPC Amazon Kendra 를 사용하도록 구성을 참조하세요](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html).

다음 선택적 기능도 추가할 수 있습니다.
+ **웹 프록시** - 웹 프록시를 통해 SharePoint 사이트 URL에 연결할지 여부입니다. 이 옵션은 SharePoint Server에만 사용할 수 있습니다.
+ 인**덱싱 목록** -가 첨부 파일의 콘텐츠를 SharePoint 목록 항목에 인덱싱해야 Amazon Kendra 하는지 여부입니다.
+  **변경 로그** - 인덱스에 문서를 업데이트해야 하는지를 결정하기 위해 Amazon Kendra 가 SharePoint 데이터 소스 변경 로그 메커니즘을 사용해야 하는지 여부입니다.
**참고**  
 Amazon Kendra 가 모든 문서를 스캔하지 않도록 하려면 변경 로그를 사용하세요. 변경 로그가 큰 경우 SharePoint 데이터 소스의 문서를 스캔하는 데 걸리는 시간이 변경 로그를 처리하는 데 걸리는 시간보다 Amazon Kendra 짧을 수 있습니다. SharePoint 데이터 소스를 인덱스와 처음으로 동기화하는 경우 모든 문서가 스캔됩니다.
+  **포함 및 제외 필터** - 특정 콘텐츠를 포함할지 또는 제외할지 여부를 지정할 수 있습니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **필드 매핑** - SharePoint 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra 검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** -Amazon Kendra 는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.

------

## 자세히 알아보기
<a name="sharepoint-v1-learn-more"></a>

SharePoint 데이터 소스 Amazon Kendra 와의 통합에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Kendra SharePoint Online 커넥터 시작하기](https://aws.amazon.com/blogs/machine-learning/getting-started-with-the-amazon-kendra-sharepoint-online-connector/)

# SharePoint 커넥터 V2.0
<a name="data-source-v2-sharepoint"></a>

SharePoint는 웹 콘텐츠를 사용자 지정하고 페이지, 사이트, 문서 라이브러리 및 목록을 만드는 데 사용할 수 있는 공동 웹 사이트 구축 서비스입니다. Amazon Kendra 를 사용하여 SharePoint 데이터 소스를 인덱싱할 수 있습니다.

Amazon Kendra 는 현재 SharePoint Online 및 SharePoint Server(2013, 2016, 2019 및 Subscription Edition)를 지원합니다.

**참고**  
SharePoint 커넥터 V1.0/SharePointConfiguration API는 2023년에 지원이 종료되었습니다. SharePoint 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

 Amazon Kendra SharePoint 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v2-sharepoint)
+ [사전 조건](#prerequisites-v2-sharepoint)
+ [연결 지침](#data-source-procedure-v2-sharepoint)
+ [참고](#sharepoint-notes)

## 지원되는 기능
<a name="supported-features-v2-sharepoint"></a>

Amazon Kendra SharePoint 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-v2-sharepoint"></a>

 Amazon Kendra 를 사용하여 SharePoint 데이터 소스를 인덱싱하려면 먼저 SharePoint 및 AWS 계정에서 이러한 변경을 수행합니다.

 AWS Secrets Manager 보안 암호에 안전하게 저장하는 인증 자격 증명을 제공해야 합니다.

**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

**SharePoint Online에서 다음을 확인하세요.**
+ SharePoint 인스턴스 URL을 복사했습니다. 입력한 호스트 URL의 형식은 *https://yourdomain.com/sites/mysite*. URL은 `https`로 시작해야 합니다.
+ SharePoint 인스턴스 URL의 도메인 이름을 복사했습니다.
+ SharePoint Online에 연결하기 위한 사이트 관리 권한이 있는 사용자 이름과 암호가 포함된 기본 보안 인증 정보를 기록해 두었습니다.
+ 관리자 사용자를 사용하여 Azure 포털에서 **보안 기본값**을 비활성화했습니다. Azure Portal에서 보안 기본 설정을 관리하는 방법에 대한 자세한 내용은 [보안 기본값을 활성화/비활성화하는 방법에 대한 Microsoft 설명서](https://learn.microsoft.com/en-us/microsoft-365/business-premium/m365bp-conditional-access?view=o365-worldwide&tabs=secdefaults#security-defaults-1)를 참조하세요.
+ SharePoint 계정에서 멀티 팩터 인증(MFA)이 비활성화되어 Amazon Kendra 에서 SharePoint 콘텐츠 크롤링이 차단되지 않습니다.
+ **기본 인증 이외의 인증 유형을 사용하는 경우:** SharePoint 인스턴스의 테넌트 ID를 복사했습니다. 테넌트 ID를 찾는 방법에 대한 자세한 내용은 [Microsoft 365 테넌트 ID 찾기](https://learn.microsoft.com/en-us/sharepoint/find-your-office-365-tenant-id)를 참조하세요.
+ Microsoft Entra를 사용하여 클라우드 사용자 인증으로 마이그레이션해야 하는 경우 [클라우드 인증에 대한 Microsoft 설명서](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/migrate-from-federation-to-cloud-authentication)를 참조하세요.
+ **OAuth 2.0 인증 및 OAuth 2.0 새로 고침 토큰 인증의 경우:** SharePoint Online에 연결하는 데 사용하는 사용자 이름과 암호, SharePoint를 Azure AD에 등록한 후 생성되는 클라이언트 ID 및 클라이언트 보안 암호가 포함된 **기본 인증** 자격 증명을 기록해 두었습니다.
  + **ACL을 사용하지 않는 경우** 다음 권한을 추가하세요.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/data-source-v2-sharepoint.html)
**참고**  
Note.Read.All 및 Sites.Read.All은 OneNote 문서를 크롤링하려는 경우에만 필요합니다.  
특정 사이트를 크롤링하려는 경우 도메인 내 모든 사이트가 아닌 특정 사이트로 권한을 제한할 수 있습니다. **Sites.Selected(애플리케이션)** 권한을 구성합니다. 이 API 권한을 사용하면 Microsoft Graph API를 통해 모든 사이트에 대한 액세스 권한을 명시적으로 설정해야 합니다. 자세한 내용은 [Sites.Selected 권한에 대한 Microsoft의 블로그](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/develop-applications-that-use-sites-selected-permissions-for-spo/ba-p/3790476)를 참조하세요.
  + **ACL을 사용하는 경우** 다음 권한을 추가하세요.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/data-source-v2-sharepoint.html)
**참고**  
GroupMember.Read.All 및 User.Read.All은 **ID 크롤러**가 활성화된 경우에만 필요합니다.  
특정 사이트를 크롤링하려는 경우 도메인 내 모든 사이트가 아닌 특정 사이트로 권한을 제한할 수 있습니다. **Sites.Selected(애플리케이션)** 권한을 구성합니다. 이 API 권한을 사용하면 Microsoft Graph API를 통해 모든 사이트에 대한 액세스 권한을 명시적으로 설정해야 합니다. 자세한 내용은 [Sites.Selected 권한에 대한 Microsoft의 블로그](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/develop-applications-that-use-sites-selected-permissions-for-spo/ba-p/3790476)를 참조하세요.
+ **Azure AD 앱 전용 인증의 경우:** Azure AD에 SharePoint를 등록한 후 생성한 프라이빗 키와 클라이언트 ID입니다. 또한, X.509 인증서를 기록해 둡니다.
  + **ACL을 사용하지 않는 경우** 다음 권한을 추가하세요.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/data-source-v2-sharepoint.html)
**참고**  
특정 사이트를 크롤링하려는 경우 도메인 내 모든 사이트가 아닌 특정 사이트로 권한을 제한할 수 있습니다. **Sites.Selected(애플리케이션)** 권한을 구성합니다. 이 API 권한을 사용하면 Microsoft Graph API를 통해 모든 사이트에 대한 액세스 권한을 명시적으로 설정해야 합니다. 자세한 내용은 [Sites.Selected 권한에 대한 Microsoft의 블로그](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/develop-applications-that-use-sites-selected-permissions-for-spo/ba-p/3790476)를 참조하세요.
  + **ACL을 사용하는 경우** 다음 권한을 추가하세요.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/data-source-v2-sharepoint.html)
**참고**  
특정 사이트를 크롤링하려는 경우 도메인 내 모든 사이트가 아닌 특정 사이트로 권한을 제한할 수 있습니다. **Sites.Selected(애플리케이션)** 권한을 구성합니다. 이 API 권한을 사용하면 Microsoft Graph API를 통해 모든 사이트에 대한 액세스 권한을 명시적으로 설정해야 합니다. 자세한 내용은 [Sites.Selected 권한에 대한 Microsoft의 블로그](https://techcommunity.microsoft.com/t5/microsoft-sharepoint-blog/develop-applications-that-use-sites-selected-permissions-for-spo/ba-p/3790476)를 참조하세요.
+ **SharePoint 앱 전용 인증의 경우:** SharePoint 앱 전용 권한을 부여하는 동안 생성된 SharePoint 클라이언트 ID 및 클라이언트 보안 암호와 SharePoint 앱을 Azure AD에 등록할 때 생성된 클라이언트 ID 및 클라이언트 보안 암호를 기록해 두었습니다.
**참고**  
SharePoint 앱 전용 인증은 SharePoint 2013 버전에서는 지원되지 *않습니다*.
  + **(선택 사항) OneNote 문서를 크롤링하고 **ID 크롤러**를 사용하는 경우** 다음 권한을 추가했습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/data-source-v2-sharepoint.html)
**참고**  
**기본 인증** 및 SharePoint **앱 전용 인증**을 사용하여 개체를 크롤링하는 데는 API 권한이 필요하지 않습니다.

**SharePoint Server에서 다음을 확인하세요.**
+ SharePoint 인스턴스 URL과 SharePoint URL의 도메인 이름을 복사했습니다. 입력하는 호스트 URL의 형식은 *https://yourcompany/sites/mysite*입니다. URL은 `https`로 시작해야 합니다.
**참고**  
(온프레미스/서버)는에 포함된 엔드포인트 정보가 데이터 소스 구성 세부 정보에 지정된 엔드포인트 정보와 AWS Secrets Manager 동일한지 Amazon Kendra 확인합니다. 이렇게 하면 사용자가 작업을 수행할 권한이 없지만 구성된 보안 암호에 액세스하여 작업을 수행하는 데 Amazon Kendra 를 프록시로 사용하는 보안 문제인 [혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)를 방지하는 데 도움이 됩니다. 나중에 엔드포인트 정보를 변경하는 경우 새 보안 암호를 생성하여 이 정보를 동기화해야 합니다.
+ SharePoint 계정에서 멀티 팩터 인증(MFA)이 비활성화되어 Amazon Kendra 에서 SharePoint 콘텐츠 크롤링이 차단되지 않습니다.
+ 액세스 제어에 **SharePoint 앱 전용 인증**을 사용하는 경우:
  + 사이트 수준에서 앱 전용을 등록할 때 생성된 SharePoint 클라이언트 ID를 복사했습니다. 클라이언트 ID 형식은 ClientId@TenantId입니다. 예: *ffa956f3-8f89-44e7-b0e4-49670756342c@888d0b57-69f1-4fb8-957f-e1f0bedf82fe*.
  + 사이트 수준에서 앱 전용을 등록할 때 생성된 SharePoint 클라이언트 보안 암호를 복사했습니다.

  **참고:** 앱 전용 인증을 위해 SharePoint Server를 등록할 때만 단일 사이트에 대한 클라이언트 ID 및 클라이언트 보안 암호가 생성되므로 SharePoint 앱 전용 인증에는 하나의 사이트 URL만 지원됩니다.
**참고**  
SharePoint 앱 전용 인증은 SharePoint 2013 버전에서는 지원되지 *않습니다*.
+ 액세스 제어를 위해 **사용자 지정 도메인과 함께 이메일 ID**를 사용하는 경우:
  + 사용자 지정 이메일 도메인 값(예: *"amazon.com"*)을 기록해 두었습니다.
+ **IDP 승인을 받은 도메인과 함께 이메일 ID**를 사용하는 경우 다음을 복사했습니다.
  + LDAP 서버 엔드포인트(프로토콜 및 포트 번호를 포함한 LDAP 서버의 엔드포인트). 예: *ldap://example.com:389*.
  + LDAP 검색 기반(LDAP 사용자의 검색 기반). 예: *CN=Users,DC=sharepoint,DC=com*.
  + LDAP 사용자 이름과 LDAP 암호.
+ 구성된 NTLM 보안 인증 **또는** 사용자 이름(SharePoint 계정 사용자 이름) 및 암호(SharePoint 계정 암호)를 포함하여 구성된 Kerberos 보안 인증 중 하나입니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra 인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM 역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM 역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager 보안 암호 ID에 액세스하도록 IAM 역할을 업데이트해야 합니다.
+ SharePoint 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM 역할이나 보안 암호가 없는 경우 SharePoint 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM 역할 및 Secrets Manager 보안 암호를 생성할 수 있습니다 Amazon Kendra. API를 사용하는 경우 기존 IAM 역할 및 Secrets Manager 보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-v2-sharepoint"></a>

SharePoint 데이터 소스 Amazon Kendra 에 연결하려면가 데이터에 액세스할 수 있도록 Amazon Kendra SharePoint 자격 증명의 세부 정보를 제공해야 합니다. 용 SharePoint를 아직 구성하지 않은 경우 섹션을 Amazon Kendra 참조하세요[사전 조건](#prerequisites-v2-sharepoint).

------
#### [ Console: SharePoint Online ]

**SharePoint Online Amazon Kendra 에 연결하려면** 

1. 에 로그인 AWS Management Console 하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **SharePoint 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **SharePoint 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **호스팅 방법** - **SharePoint Online**을 선택합니다.

   1. **SharePoint 리포지토리와 관련된 사이트 URL** - SharePoint 호스트 URL을 입력합니다. 입력하는 호스트 URL의 형식은 *https://yourdomain.sharepoint.com/sites/mysite*입니다. URL은 `https` 프로토콜로 시작해야 합니다. URL을 새 줄로 구분합니다. 최대 100개 URL을 추가할 수 있습니다.

   1. **도메인** - SharePoint 도메인을 입력합니다. 예를 들어, *https://yourdomain.sharepoint.com/sites/mysite* URL의 도메인은 *yourdomain*입니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

      Azure 포털에서 가져온 사용자 보안 주체 이름 또는 사용자 이메일 등 사용자 ID 유형을 선택할 수도 있습니다. 지정하지 않으면 이메일이 기본적으로 사용됩니다.

   1. **인증** - 기본, OAuth 2.0, Azure AD 앱 전용 인증, SharePoint 앱 전용 인증, OAuth 2.0 새로 고침 토큰 인증 중에서 선택합니다. 인증 자격 증명을 저장할 기존 AWS Secrets Manager 보안 암호를 선택하거나 새로운 보안 암호를 생성할 수 있습니다.

      1. **기본 인증**을 사용하는 경우 보안 암호에 보안 암호 이름, SharePoint 사용자 이름 및 암호가 포함되어야 합니다.

      1. **OAuth 2.0 인증**을 사용하는 경우 보안 암호에는 SharePoint 테넌트 ID, 보안 암호 이름, SharePoint 사용자 이름, 암호, Azure AD에 SharePoint를 등록할 때 생성된 Azure AD 클라이언트 ID, Azure AD에 SharePoint를 등록할 때 생성된 Azure AD 클라이언트 보안 암호가 포함되어야 합니다.

      1. **Azure AD 앱 전용 인증**을 사용하는 경우 보안 암호에는 SharePoint 테넌트 ID, Azure AD 자체 서명된 X.509 인증서, 보안 암호 이름, Azure AD에 SharePoint를 등록할 때 생성된 Azure AD 클라이언트 ID, Azure AD용 커넥터를 인증하기 위한 프라이빗 키가 포함되어야 합니다.

      1. **SharePoint 앱 전용 인증**을 사용하는 경우 보안 암호에는 SharePoint 테넌트 ID, 보안 암호 이름, 테넌트 수준에서 앱 전용을 등록할 때 생성한 SharePoint 클라이언트 ID, 테넌트 수준에서 앱 전용을 등록할 때 생성한 SharePoint 클라이언트 보안 암호, Azure AD에 SharePoint를 등록할 때 생성한 Azure AD 클라이언트 ID, SharePoint를 Azure AD에 등록할 때 생성한 Azure AD 클라이언트 보안 암호가 포함되어야 합니다.

         SharePoint 클라이언트 ID 형식은 *ClientID@TenantId*입니다. 예: *ffa956f3-8f89-44e7-b0e4-49670756342c@888d0b57-69f1-4fb8-957f-e1f0bedf82fe*.

      1. **OAuth 2.0 새로 고침 토큰 인증을** 사용하는 경우 보안 암호에는 SharePoint 테넌트 ID, 보안 암호 이름, Azure AD에 SharePoint를 등록할 때 생성된 고유한 Azure AD 클라이언트 ID, Azure AD에 SharePoint를 등록할 때 생성된 Azure AD 클라이언트 보안 암호, SharePoint Amazon Kendra 에 연결하기 위해 생성된 새로 고침 토큰이 포함되어야 합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

      로컬 그룹 매핑 또는 Azure Active Directory 그룹 매핑을 크롤링하도록 선택할 수도 있습니다.
**참고**  
AD 그룹 매핑 크롤링은 OAuth 2.0, OAuth 2.0 새로 고침 토큰 및 SharePoint 앱 전용 인증에만 사용할 수 있습니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.

      1. **개체 선택** - 크롤링할 개체를 선택합니다. **모든** 개체를 크롤링하거나 **파일**, **첨부 파일**, **링크** **페이지**, **이벤트**, **설명** 및 **목록 데이터**의 조합을 크롤링하도록 선택할 수 있습니다.

      1. **추가 구성**의 **엔터티 정규식 패턴** - 모든 문서를 동기화하는 대신 **링크**, **페이지** 및 **이벤트**에 대한 정규 표현식 패턴을 추가하여 특정 엔터티를 포함합니다.

      1. **정규식 패턴** - 모든 문서를 동기화하는 대신 **파일 경로**, **파일 이름**, **파일 유형**, **OneNote 섹션 이름**, **OneNote 페이지 이름**별로 파일을 포함하거나 제외하는 정규 표현식 패턴을 추가합니다. 최대 100개까지 추가할 수 있습니다.
**참고**  
OneNote 크롤링은 OAuth 2.0, OAuth 2.0 새로 고침 토큰 및 SharePoint 앱 전용 인증에만 사용할 수 있습니다.

   1. **동기화 모드**의 경우, 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 처음으로 Amazon Kendra 와 동기화하는 경우 기본적으로 모든 콘텐츠가 동기화됩니다.
      + **전체 동기화** - 이전 동기화 상태에 관계없이 모든 콘텐츠를 동기화합니다.
      + **신규 또는 수정된 문서 동기화** - 새 문서와 수정된 문서만 동기화합니다.
      + **신규, 수정되었거나 삭제된 문서 동기화** - 새 문서와 수정 및 삭제된 문서만 동기화합니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra 생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ Console: SharePoint Server ]

**SharePoint Amazon Kendra 에 연결하려면** 

1. 에 로그인 AWS Management Console 하고 [Amazon Kendra 콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **SharePoint 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **SharePoint 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS 비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **호스팅 방법** - **SharePoint Server**를 선택합니다.

   1. **SharePoint 버전 선택** - **SharePoint 2013**, **SharePoint 2016**, **SharePoint 2019**, **SharePoint(구독 에디션)** 중에서 선택합니다.

   1. **SharePoint 리포지토리와 관련된 사이트 URL** - SharePoint 호스트 URL을 입력합니다. 입력하는 호스트 URL의 형식은 *https://yourcompany/sites/mysite*입니다. URL은 `https` 프로토콜로 시작해야 합니다. URL을 새 줄로 구분합니다. 최대 100개 URL을 추가할 수 있습니다.

   1. **도메인** - SharePoint 도메인을 입력합니다. 예를 들어, *https://yourcompany/sites/mysite* URL의 도메인은 *yourcompany*입니다.

   1. **SSL 인증서 위치** - SSL 인증서 파일의 Amazon S3 경로를 입력합니다.

   1. (선택 사항) **웹 프록시**의 경우 - 호스트 이름(`http://` 또는 `https://` 프로토콜 제외)과 호스트 URL 전송 프로토콜에서 사용하는 포트 번호를 입력합니다. 포트 번호의 숫자 값은 0에서 65535 사이여야 합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

      SharePoint Server의 경우 다음 ACL 옵션 중에서 선택할 수 있습니다.

      1. **IDP의 도메인이 있는 이메일 ID** - 사용자 ID는 기본 ID 제공업체(IDP)에서 가져온 도메인을 가진 이메일 ID를 기반으로 합니다. **인증** 과정에서 Secrets Manager 보안 암호에 IDP 연결 정보를 제공합니다.

      1. **사용자 지정 도메인이 있는 이메일 ID** - 사용자 ID는 사용자 지정 이메일 도메인 값을 기반으로 합니다. 예: *“amazon.com”*. 이 이메일 도메인은 액세스 제어를 위한 이메일 ID를 구성하는 데 사용됩니다. 사용자 지정 이메일 도메인을 입력해야 합니다.

      1. **도메인이 있는 도메인\$1사용자** - 사용자 ID는 도메인\$1사용자 ID 형식을 사용하여 구조화됩니다. 유효한 도메인 이름을 제공해야 합니다. 예를 들어 액세스 제어를 구성하려면 *“sharepoint2019"*를 사용하세요.

   1. **인증**의 경우 SharePoint 앱 전용 인증, NTLM 인증, Kerberos 인증 중에서 선택합니다. 인증 자격 증명을 저장할 기존 AWS Secrets Manager 보안 암호를 선택하거나 새로운 보안 암호를 생성할 수 있습니다.

      1. **NTLM 인증** 또는 **Kerberos 인증**을 사용하는 경우 보안 암호에 보안 암호 이름, SharePoint 사용자 이름 및 암호가 포함되어야 합니다.

         **IDP의 도메인이 포함된 이메일 ID**를 사용하는 경우 다음 항목도 입력하세요.
         +  **LDAP 서버 엔드포인트** - 프로토콜 및 포트 번호를 포함한 LDAP 서버의 엔드포인트. 예: *ldap://example.com:389*.
         + **LDAP 검색 기반** - LDAP 사용자의 검색 기반입니다. 예: *CN=Users,DC=sharepoint,DC=com*.
         + **LDAP 사용자 이름** - LDAP 사용자 이름입니다.
         + **LDAP 암호** - 사용자의 LDAP 암호입니다.

      1. **SharePoint 앱 전용 인증**을 사용하는 경우 보안 암호에는 보안 암호 이름, 사이트 수준에서 앱 전용을 등록할 때 생성한 SharePoint 클라이언트 ID, 사이트 수준에서 앱 전용을 등록할 때 생성한 SharePoint 클라이언트 보안 암호가 포함되어야 합니다.

         SharePoint 클라이언트 ID 형식은 *ClientID@TenantId*입니다. 예: *ffa956f3-8f89-44e7-b0e4-49670756342c@888d0b57-69f1-4fb8-957f-e1f0bedf82fe*.

         **참고:** 앱 전용 인증을 위해 SharePoint Server를 등록할 때만 단일 사이트에 대한 클라이언트 ID 및 클라이언트 보안 암호가 생성되므로 SharePoint 앱 전용 인증에는 하나의 사이트 URL만 지원됩니다.

         **IDP의 도메인이 포함된 이메일 ID**를 사용하는 경우 다음 항목도 입력하세요.
         +  **LDAP 서버 엔드포인트** - 프로토콜 및 포트 번호를 포함한 LDAP 서버의 엔드포인트. 예: *ldap://example.com:389*.
         + **LDAP 검색 기반** - LDAP 사용자의 검색 기반입니다. 예: *CN=Users,DC=sharepoint,DC=com*.
         + **LDAP 사용자 이름** - LDAP 사용자 이름입니다.
         + **LDAP 암호** - 사용자의 LDAP 암호입니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

      로컬 그룹 매핑 또는 Azure Active Directory 그룹 매핑을 크롤링하도록 선택할 수도 있습니다.
**참고**  
AD 그룹 매핑 크롤링은 SharePoint 앱 전용 인증에만 사용할 수 있습니다.

   1. **IAM 역할** - 기존 IAM 역할을 선택하거나 새 IAM 역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM 인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.

      1. **개체 선택** - 크롤링할 개체를 선택합니다. **모든** 개체를 크롤링하거나 **파일**, **첨부 파일**, **링크** **페이지**, **이벤트** 및 **목록 데이터**의 조합을 크롤링하도록 선택할 수 있습니다.

      1. **추가 구성**의 **엔터티 정규식 패턴** - 모든 문서를 동기화하는 대신 **링크**, **페이지** 및 **이벤트**에 대한 정규 표현식 패턴을 추가하여 특정 엔터티를 포함합니다.

      1. **정규식 패턴** - 모든 문서를 동기화하는 대신 **파일 경로** , **파일 이름**, **파일 유형**, **OneNote 섹션 이름**, **OneNote 페이지 이름**별로 파일을 포함하거나 제외하는 정규 표현식 패턴을 추가합니다. 최대 100개까지 추가할 수 있습니다.
**참고**  
OneNote 크롤링은 SharePoint 앱 전용 인증에만 사용할 수 있습니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra 생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**SharePoint Amazon Kendra 에 연결하려면**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `SHAREPOINTV2`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **리포지토리 엔드포인트 메타데이터** - SharePoint 인스턴스의 `tenantID`, `domain`, `siteUrls`를 지정합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra 가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra 와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL` : 데이터 소스가 인덱스와 동기화될 때마다 새 콘텐츠, 수정된 콘텐츠 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 새 콘텐츠와 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra 는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
**참고**  
ID 크롤링은 `crawlAcl`을 `true`로 설정한 경우에만 사용할 수 있습니다.
+ **리포지토리 추가 속성** - 다음을 지정하세요.
  + (Azure AD의 경우) Azure AD 자체 서명된 X.509 인증서를 저장하는 데 사용하는 `s3bucketName` 및 `s3certificateName`입니다.
  + 사용 중인 인증 유형(`auth_Type`)(`OAuth2`, `OAuth2App`, `OAuth2Certificate`, `Basic`, `OAuth2_RefreshToken`, `NTLM`, `Kerberos`)입니다.
  + 사용 중인 버전(`version`)(`Server` 또는 `Online`)입니다. `Server`를 사용하는 경우 `onPremVersion`를 `2013`, `2016`, `2019`, 또는 `SubscriptionEdition`로 추가 지정할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - SharePoint 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다.

  SharePoint Online을 사용하는 경우 기본, OAuth 2.0, Azure AD 앱 전용 및 SharePoint 앱 전용 인증 중에서 선택할 수 있습니다. 다음은 각 인증 옵션의 보안 암호에 포함되어야 하는 최소 JSON 구조입니다.
  + **기본 인증**

    ```
    {
        "userName": "SharePoint account user name",
        "password": "SharePoint account password"
    }
    ```
  + **OAuth 2.0 인증**

    ```
    {
        "clientId": "client id generated when registering SharePoint with Azure AD",
        "clientSecret": "client secret generated when registering SharePoint with Azure AD",
        "userName": "SharePoint account user name",
        "password": "SharePoint account password"
    }
    ```
  + **Azure AD 앱 전용 인증**

    ```
    {
        "clientId": "client id generated when registering SharePoint with Azure AD",
        "privateKey": "private key to authorize connection with Azure AD"
    }
    ```
  + **SharePoint 앱 전용 인증**

    ```
    {
        "clientId": "client id generated when registering SharePoint for App Only at Tenant Level",
        "clientSecret": "client secret generated when registering SharePoint for App Only at Tenant Level",
        "adClientId": "client id generated while registering SharePoint with Azure AD",
        "adClientSecret": "client secret generated while registering SharePoint with Azure AD"
    }
    ```
  + **OAuth 2.0 새로 고침 토큰 인증**

    ```
    {
        "clientId": "client id generated when registering SharePoint with Azure AD",
        "clientSecret": "client secret generated when registering SharePoint with Azure AD",
        "refreshToken": "refresh token generated to connect to SharePoint"
    }
    ```

  SharePoint Server를 사용하는 경우 SharePoint 앱 전용 인증, NTLM 인증 및 Kerberos 인증 중에서 선택할 수 있습니다. 다음은 각 인증 옵션의 보안 암호에 포함되어야 하는 최소 JSON 구조입니다.
  + ** SharePoint 앱 전용 인증**

    ```
    {
        "siteUrlsHash": "Hash representation of SharePoint site URLs",
        "clientId": "client id generated when registering SharePoint for App Only at Site Level",
        "clientSecret": "client secret generated when registering SharePoint for App Only at Site Level" 
    }
    ```
  + ** IDP 권한 부여를 통한 도메인이 포함된 SharePoint 앱 전용 인증**

    ```
    {
        "siteUrlsHash": "Hash representation of SharePoint site URLs",
        "clientId": "client id generated when registering SharePoint for App Only at Site Level",
        "clientSecret": "client secret generated when registering SharePoint for App Only at Site Level",
        "ldapUrl": "LDAP Account url eg. ldap://example.com:389",
        "baseDn": "LDAP Account base dn eg. CN=Users,DC=sharepoint,DC=com",
        "ldapUser": "LDAP account user name",
        "ldapPassword": "LDAP account password"
    }
    ```
  + **(서버만 해당) NTLM 또는 Kerberos 인증**

    ```
    {
        "siteUrlsHash": "Hash representation of SharePoint site URLs",
        "userName": "SharePoint account user name",
        "password": "SharePoint account password"
    }
    ```
  + **(서버만 해당) IDP 권한 부여를 통한 도메인이 포함된 NTLM 또는 Kerberos 인증**

    ```
    {
        "siteUrlsHash": "Hash representation of SharePoint site URLs",
        "userName": "SharePoint account user name",
        "password": "SharePoint account password",
        "ldapUrl": "ldap://example.com:389",
        "baseDn": "CN=Users,DC=sharepoint,DC=com",
        "ldapUser": "LDAP account user name",
        "ldapPassword": "LDAP account password"
    }
    ```
+ **IAM 역할** - Secrets Manager 보안 암호`CreateDataSource`에 액세스하고 SharePoint 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM 역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다 Amazon Kendra. 자세한 내용은 [SharePoint 데이터 소스에 대한IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 특정 파일, OneNotes 및 기타 콘텐츠를 포함할지 또는 제외할지를 지정할 수 있습니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **필드 매핑** - SharePoint 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra 검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [SharePoint 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-schema-sharepoint)를 참조하세요.

------

## 참고
<a name="sharepoint-notes"></a>
+ 커넥터는 **파일** 개체에 대해서만 사용자 지정 필드 매핑을 지원합니다.
+ 모든 SharePoint Server 버전의 경우 ACL 토큰은 소문자여야 합니다. **IDP의 도메인이 포함된 이메일** 및 **사용자 지정 도메인이 포함된 이메일 ID** ACL의 경우 예를 들면 *user@sharepoint2019.com*. **도메인이 있는 도메인\$1사용자** ACL의 경우의 예를 들면 *sharepoint2013\$1user*.
+ 액세스 제어 목록(ACL)이 활성화된 경우 SharePoint API 제한 사항으로 인해 '새 콘텐츠 또는 수정된 콘텐츠만 동기화' 옵션을 사용할 수 없습니다. 대신 '전체 동기화' 또는 '새 콘텐츠, 수정된 콘텐츠 또는 삭제된 콘텐츠 동기화' 모드를 사용하거나, 이 동기화 모드를 사용해야 하는 경우 ACL을 비활성화하는 것이 좋습니다.
+ 커넥터는 SharePoint 2013에 대해 변경 로그 모드/**신규 또는 수정된 콘텐츠 동기화**를 지원하지 않습니다.
+ 개체 이름에 `%` 문자가 있는 경우 커넥터는 API 제한으로 인해 이러한 파일을 건너뛰게 됩니다.
+ OneNote는 테넌트 ID를 사용하고 SharePoint Online에 대해 OAuth 2.0, OAuth 2.0 새로 고침 토큰 또는 SharePoint 앱 전용 인증을 활성화한 경우에만 커넥터를 통해 크롤링할 수 있습니다.
+ 커넥터는 문서 이름이 바뀌더라도 기본 이름만 사용하여 OneNote 문서의 첫 번째 섹션을 크롤링합니다.
+ 커넥터는 **링크** 외에도 크롤링할 개체로 **페이지** 및 **파일**을 선택한 경우에만 SharePoint 2019, SharePoint Online 및 Subscription Edition에서 링크를 크롤링합니다.
+ **링크**가 크롤링될 개체로 선택된 경우 커넥터는 SharePoint 2013 및 SharePoint 2016에서 링크를 크롤링합니다.
+ **목록 데이터**도 크롤링될 개체로 선택된 경우에만 커넥터는 목록 첨부 파일 및 설명을 크롤링합니다.
+ **이벤트**도 크롤링될 개체로 선택된 경우에만 커넥터는 이벤트 첨부 파일을 크롤링합니다.
+ SharePoint Online 버전의 경우 ACL 토큰은 소문자입니다. 예를 들어 Azure 포털에서 **사용자 보안 주체 이름**이 *MaryMajor@domain.com*인 경우 SharePoint 커넥터의 ACL 토큰은 *marymajor@domain.com*이 됩니다.
+ SharePoint Online 및 Server용 **ID 크롤러**에서 중첩된 그룹을 크롤링하려면 AD 그룹 크롤링뿐만 아니라 로컬 크롤링도 활성화해야 합니다.
+ SharePoint Online을 사용 중이고 Azure 포털의 사용자 보안 주체 이름이 대문자와 소문자의 조합인 경우 SharePoint API는 내부적으로 이 이름을 소문자로 변환합니다. 따라서 Amazon Kendra SharePoint 커넥터는 ACL을 소문자로 설정합니다.

# Microsoft SQL Server
<a name="data-source-ms-sql-server"></a>

**참고**  
Microsoft SQL Server 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Microsoft SQL Server는 Microsoft에서 개발한 관계형 데이터베이스 관리 시스템(RDBMS)입니다. Microsoft SQL Server 사용자인 경우 Amazon Kendra를 사용하여 Microsoft SQL Server 데이터 소스를 인덱싱할 수 있습니다. 데이터 소스 커넥터는Amazon KendraMicrosoft SQL Server MS SQL Server 2019를 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 Microsoft SQL Server 데이터 소스에 Amazon Kendra연결할 수 있습니다.

데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요Amazon KendraMicrosoft SQL Server[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-ms-sql-server)
+ [사전 조건](#prerequisites-ms-sql-server)
+ [연결 지침](#data-source-procedure-ms-sql-server)
+ [참고](#ms-sql-server-notes)

## 지원되는 기능
<a name="supported-features-ms-sql-server"></a>
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-ms-sql-server"></a>

Amazon Kendra를 사용하여 Microsoft SQL Server 데이터 소스를 인덱싱하려면 먼저 Microsoft SQL Server 및 AWS계정을 변경합니다.

**Microsoft SQL Server에서 다음 사항을 갖추었는지 확인하세요**.
+ 데이터베이스 사용자 이름 및 암호를 기록했습니다.
**중요**  
가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 데이터베이스 호스트 URL, 포트, 인스턴스를 복사했습니다.
+ Microsoft SQL Server 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Microsoft SQL Server 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할 또는 보안 암호가 없는 경우 Microsoft SQL Server 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-ms-sql-server"></a>

Microsoft SQL Server 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Microsoft SQL Server 자격 증명의 세부 정보를 제공해야 합니다. 아직에 Microsoft SQL Server 대해를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-ms-sql-server).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 Microsoft SQL Server** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Microsoft SQL Server 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Microsoft SQL Server 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 다음 정보를 입력합니다.

   1.  **호스트** - 데이터베이스 호스트 이름을 입력합니다.

   1.  **포트** - 데이터베이스 포트를 입력합니다.

   1.  **인스턴스** - 데이터베이스 인스턴스를 입력합니다.

   1. **SSL 인증서 위치 활성화** - SSL 인증서 파일의 Amazon S3경로를 입력하도록 선택합니다.

   1. **인증**에서 - 다음 정보를 입력합니다.

      1. **AWS Secrets Manager보안 암호** - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 Microsoft SQL Server 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'Amazon Kendra-Microsoft SQL Server-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스에서 복사한 보안 인증 값을 입력합니다.

        1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
      + **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
**참고**  
테이블 이름에 특수 문자(영숫자가 아닌 문자)가 포함된 경우 테이블 이름 주위에 대괄호를 사용해야 합니다. 예를 들어, *[my-database-table]에서 \$1를 선택합니다*.
      + **프라이머리 키 열** - 데이터베이스 테이블의 프라이머리 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다.
      + **제목 열** - 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다.
      + **본문 열** - 데이터베이스 테이블에 있는 문서 본문 열의 이름을 입력합니다.

   1. **추가 구성 - *선택 사항***에서 모든 파일을 동기화하는 대신 다음 옵션 중 하나를 선택하여 특정 콘텐츠를 동기화합니다.
      + 열 **변경 감지 -** 콘텐츠 변경을 감지하는 데 Amazon Kendra사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱Amazon Kendra합니다.
      + **사용자 ID 열** - 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다.
      + **그룹 열** - 콘텐츠에 대한 액세스를 허용할 그룹이 포함된 열의 이름을 입력합니다.
      + **소스 URL 열** - 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다.
      + **타임스탬프 열** - 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다.
      + **시간대 열** - 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다.
      + **타임스탬프 형식** - 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 생성된 기본 데이터 소스 필드인 **문서 IDs**, **문서 제목** 및 **소스 URLs** 중에서 Amazon Kendra인덱스에 매핑하려는 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 Microsoft SQL Server**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `JDBC`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **데이터베이스 유형** - 데이터베이스 유형을 `sqlserver`로 지정해야 합니다.
+ **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 지정합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
**참고**  
테이블 이름에 특수 문자(영숫자가 아닌 문자)가 포함된 경우 테이블 이름 주위에 대괄호를 사용해야 합니다. 예를 들어, *[my-database-table]에서 \$1를 선택합니다*.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Microsoft SQL Server 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "user name": "database user name",
      "password": "password"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Microsoft SQL Server 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Microsoft SQL Server 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 사용자 ID, 그룹, 소스 URL, 타임스탬프, 시간대를 사용하여 특정 콘텐츠를 포함할지 여부를 지정할 수 있습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - Microsoft SQL Server 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Microsoft SQL Server 템플릿 스키마](ds-schemas.md#ds-ms-sql-server-schema)를 참조하세요.

------

## 참고
<a name="ms-sql-server-notes"></a>
+ 가 업데이트된 콘텐츠를 Amazon Kendra확인할 때 삭제된 데이터베이스 행은 추적되지 않습니다.
+ 데이터베이스 행의 필드 이름 및 값 크기는 400KB를 초과할 수 없습니다.
+ 데이터베이스 데이터 소스에 많은 양의 데이터가 있고 첫 번째 동기화 후 모든 데이터베이스 콘텐츠를 인덱싱하지 않으Amazon Kendra려면 새 문서, 수정된 문서 또는 삭제된 문서만 동기화하도록 선택할 수 있습니다.
+ 가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 가장 좋은 방법은 민감한 데이터나 개인 식별 정보(PII)가 포함된 테이블을 추가하지 않는 것입니다.

# Microsoft Teams
<a name="data-source-teams"></a>

Microsoft Teams는 메시징, 회의 및 파일 공유를 위한 엔터프라이즈 협업 도구입니다. Microsoft Teams 사용자인 경우 Amazon Kendra를 사용하여 Microsoft Teams 데이터 소스를 인덱싱할 수 있습니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 Microsoft Teams 데이터 소스에 연결할 수 Amazon Kendra있습니다.

Amazon KendraMicrosoft Teams 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-teams)
+ [사전 조건](#prerequisites-teams)
+ [연결 지침](#data-source-procedure-teams)
+ [자세히 알아보기](#teams-learn-more)
+ [참고](#teams-notes)

## 지원되는 기능
<a name="supported-features-teams"></a>
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-teams"></a>

Amazon Kendra를 사용하여 Microsoft Teams 데이터 소스를 인덱싱하려면 먼저 Microsoft Teams 및 AWS계정에서 이러한 변경을 수행합니다.

**Microsoft Teams에서는 다음을 확인하세요.**
+ Office 365에서 Microsoft Teams 계정을 만들었습니다.
+ Microsoft 365 테넌트 ID를 기록했습니다. Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 테넌트 ID를 찾을 수 있습니다.
+ Azure 포털에서 OAuth 애플리케이션을 구성하고 클라이언트 ID, 클라이언트 보안 암호 또는 클라이언트 자격 증명을 기록했습니다. 자세한 내용은 [Microsoft 자습서](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/walkthrough-register-app-azure-active-directory) 및 [등록된 앱 예제](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application)를 참조하세요.
**참고**  
Azure 포털에서 앱을 생성하거나 등록할 때 보안 암호 ID는 실제 보안 암호 값을 나타냅니다. 보안 암호 및 앱을 생성할 때 실제 보안 암호 값을 즉시 기록하거나 저장해야 합니다. Azure 포털에서 애플리케이션 이름을 선택한 다음 인증서 및 보안 암호의 메뉴 옵션으로 이동하여 보안 암호에 액세스할 수 있습니다.  
Azure 포털에서 애플리케이션 이름을 선택한 다음 개요 페이지로 이동하여 클라이언트 ID에 액세스할 수 있습니다. 애플리케이션(클라이언트) ID는 클라이언트 ID입니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ 필요한 권한이 추가되었습니다. 모든 권한을 추가하도록 선택하거나 크롤링할 엔터티에 따라 더 적은 권한을 선택하여 범위를 제한할 수 있습니다. 다음 표에는 해당 엔터티별 애플리케이션 수준 권한이 나열되어 있습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/data-source-teams.html)
+ Microsoft Teams 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Microsoft Teams 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Microsoft Teams 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-teams"></a>

Microsoft Teams 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Microsoft Teams 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대한 Microsoft Teams를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-teams).

------
#### [ Console ]

**Microsoft TeamsAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Microsoft Teams 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Microsoft Teams 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **테넌트 ID** - Microsoft 365 테넌트 ID를 입력합니다. Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 테넌트 ID를 찾을 수 있습니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **AWS Secrets Manager보안 암호** - 기존 보안 암호를 선택하거나 Microsoft Teams 인증 자격 증명을 저장할 새 Secrets Manager보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

         1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Microsoft Teams-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

         1. **클라이언트 ID** 및 **클라이언트 보안 암호**의 경우 - Microsoft Teams에 구성된 인증 자격 증명을 Azure 포털에 입력합니다.

      1. 보안 암호를 저장하고 추가합니다.

   1. **결제 모델** - Microsoft Teams 계정의 라이선스 및 결제 모델을 선택할 수 있습니다. 모델 A 결제 모델은 보안 준수가 필요한 라이선싱 및 결제 모델로 제한됩니다. 모델 B 결제 모델은 보안 준수가 필요하지 않은 라이선싱 및 결제 모델에 적합합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **콘텐츠 동기화** - 크롤링할 콘텐츠 유형을 선택합니다. 채팅, Teams, 일정 콘텐츠를 크롤링하도록 선택할 수 있습니다.

   1. **추가 구성** - 특정 일정 시작 및 종료 날짜, 사용자 이메일, 팀 이름, 채널 이름, 첨부 파일 및 OneNotes를 지정합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Microsoft TeamsAmazon Kendra에 연결하려면**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `MSTEAMS`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **테넌트 ID** - Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 찾을 수 있습니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Microsoft Teams 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "clientId": "client ID",
      "clientSecret": "client secret"
  }
  ```
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Microsoft Teams 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Microsoft Teams 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+ **문서/콘텐츠 유형** - 채팅 메시지 및 첨부 파일, 채널 게시물 및 첨부 파일, 채널 Wiki, 일정 콘텐츠, 회의 대화, 파일 및 회의록을 크롤링할지 지정합니다.
+ **일정 콘텐츠** - 일정 콘텐츠를 크롤링할 시작 및 종료 날짜-시간을 지정합니다.
+ **포함 및 제외 필터** - Microsoft Teams의 특정 콘텐츠를 포함할지 또는 제외할지 여부를 지정할 수 있습니다. 팀 이름, 채널 이름, 파일 이름 및 파일 형식, 사용자 이메일, OneNote 섹션 및 OneNote 페이지를 포함하거나 제외할 수 있습니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+  **필드 매핑** - Microsoft Teams 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 해당 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Microsoft Teams 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-msteams-schema)를 참조하세요.

------

## 자세히 알아보기
<a name="teams-learn-more"></a>

Microsoft Teams 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Microsoft Teams용 Amazon Kendra커넥터를 사용하여 조직의 Microsoft Teams 데이터 소스를 지능적으로 검색](https://aws.amazon.com/blogs/machine-learning/intelligently-search-your-organizations-microsoft-teams-data-source-with-the-amazon-kendra-connector-for-microsoft-teams/)

## 참고
<a name="teams-notes"></a>
+ 액세스 제어 목록(ACL)이 활성화된 경우 Microsoft Teams API 제한 사항으로 인해 '새 콘텐츠 또는 수정된 콘텐츠만 동기화' 옵션을 사용할 수 없습니다. 대신 '전체 동기화' 또는 '새 콘텐츠, 수정된 콘텐츠 또는 삭제된 콘텐츠 동기화' 모드를 사용하거나, 이 동기화 모드를 사용해야 하는 경우 ACL을 비활성화하는 것이 좋습니다.

# Microsoft Yammer
<a name="data-source-yammer"></a>

**참고**  
Microsoft Yammer 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만, 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Microsoft Yammer는 메시징, 회의 및 파일 공유를 위한 엔터프라이즈 협업 도구입니다. Microsoft Yammer 사용자인 경우 Amazon Kendra를 사용하여 Microsoft Yammer 데이터 소스를 인덱싱할 수 있습니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 Microsoft Yammer 데이터 소스에 연결할 수 Amazon Kendra있습니다.

Amazon KendraMicrosoft Yammer 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

## 지원되는 기능
<a name="supported-features-yammer"></a>
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-yammer"></a>

Amazon Kendra를 사용하여 Microsoft Yammer 데이터 소스를 인덱싱하려면 먼저 Microsoft Yammer 및 AWS계정에서 이러한 변경을 수행합니다.

**Microsoft Yammer에서는 다음을 확인하세요.**
+ Office 365에서 Microsoft Yammer 관리 계정을 만들었습니다.
+ Microsoft Yammer 사용자 이름과 암호를 기록했습니다.
+ Microsoft 365 테넌트 ID를 기록했습니다. Azure Active Directory 포털의 속성 또는 OAuth 애플리케이션에서 테넌트 ID를 찾을 수 있습니다.
+ Azure 포털에서 OAuth 애플리케이션을 구성하고 클라이언트 ID, 클라이언트 보안 암호 또는 클라이언트 자격 증명을 기록했습니다. 자세한 내용은 [Microsoft 자습서](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/walkthrough-register-app-azure-active-directory) 및 [등록된 앱 예제](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application)를 참조하세요.
**참고**  
Azure 포털에서 앱을 생성하거나 등록할 때 보안 암호 ID는 실제 보안 암호 값을 나타냅니다. 보안 암호 및 앱을 생성할 때 실제 보안 암호 값을 즉시 기록하거나 저장해야 합니다. Azure 포털에서 애플리케이션 이름을 선택한 다음 인증서 및 보안 암호의 메뉴 옵션으로 이동하여 보안 암호에 액세스할 수 있습니다.  
Azure 포털에서 애플리케이션 이름을 선택한 다음 개요 페이지로 이동하여 클라이언트 ID에 액세스할 수 있습니다. 애플리케이션(클라이언트) ID는 클라이언트 ID입니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ Microsoft Yammer 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Microsoft Yammer 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Microsoft Yammer 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-yammer"></a>

Microsoft Yammer 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Microsoft Yammer 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 Microsoft Yammer를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-yammer).

------
#### [ Console ]

**Microsoft YammerAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Microsoft Yammer 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Microsoft Yammer 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 Microsoft Yammer 인증 자격 증명을 저장할 새 Secrets Manager보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

         1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Microsoft Yammer-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

         1. **사용자 이름**, **암호**의 경우 - Microsoft Yammer 사용자 이름과 암호를 입력합니다.

         1. **클라이언트 ID**, **클라이언트 보안 암호**의 경우 - Microsoft Yammer에 구성된 인증 자격 증명을 Azure 포털에 입력합니다.

      1. 보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **시작 날짜** - Microsoft Yammer에서 데이터 크롤링을 시작할 날짜를 지정합니다.

   1. **콘텐츠 동기화** - 크롤링할 콘텐츠 유형을 선택합니다. 공개 메시지, 비공개 메시지, 첨부 파일 등을 예로 들 수 있습니다.

   1. **추가 구성** - 크롤링하려는 특정 커뮤니티 이름을 지정하고 정규식 패턴을 사용하여 특정 콘텐츠를 포함하거나 제외합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API  ]

**Microsoft YammerAmazon Kendra에 연결하려면**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `YAMMER`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Microsoft Yammer 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "username": "user name",
      "password": "password",
      "clientId": "client ID",
      "clientSecret": "client secret"
  }
  ```
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Microsoft Yammer 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Microsoft Yammer 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+ **문서/콘텐츠 유형** - 커뮤니티 콘텐츠, 메시지 및 첨부 파일, 프라이빗 메시지를 크롤링할지 지정합니다.
+ **포함 및 제외 필터** - 특정 콘텐츠를 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+  **필드 매핑** - Microsoft Yammer 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Microsoft Yammer 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-schema-yammer)를 참조하세요.

------

## 자세히 알아보기
<a name="yammer-learn-more"></a>

Microsoft Yammer 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [용 Yammer 커넥터 발표Amazon Kendra](https://aws.amazon.com/blogs/machine-learning/announcing-the-yammer-connector-for-amazon-kendra/)

# MySQL
<a name="data-source-mysql"></a>

**참고**  
MySQL 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

MySQL는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. MySQL 사용자인 경우를 사용하여 MySQL 데이터 소스를 인덱싱Amazon Kendra할 수 있습니다. 데이터 소스 커넥터는Amazon KendraMySQL MySQL 8.0을 지원합니다. 21.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 MySQL 데이터 소스에 Amazon Kendra연결할 수 있습니다.

데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요Amazon KendraMySQL[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-mysql)
+ [사전 조건](#prerequisites-mysql)
+ [연결 지침](#data-source-procedure-mysql)
+ [참고](#mysql-notes)

## 지원되는 기능
<a name="supported-features-mysql"></a>
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-mysql"></a>

Amazon Kendra를 사용하여 MySQL 데이터 소스를 인덱싱하려면 먼저 MySQL 및 AWS계정을 변경합니다.

**MySQL에서 다음 사항을 갖추었는지 확인하세요**.
+ 데이터베이스 사용자 이름 및 암호를 기록했습니다.
**중요**  
가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 데이터베이스 호스트 URL, 포트, 인스턴스를 복사했습니다.
+ MySQL 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ MySQL 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할 또는 보안 암호가 없는 경우 MySQL 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-mysql"></a>

MySQL 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 MySQL 자격 증명의 세부 정보를 제공해야 합니다. 아직에 MySQL 대해를 구성하지 않은 경우 단원을 Amazon Kendra참조하십시오[사전 조건](#prerequisites-mysql).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 MySQL** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **MySQL 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **MySQL 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 다음 정보를 입력합니다.

   1.  **호스트** - 데이터베이스 호스트 이름을 입력합니다.

   1.  **포트** - 데이터베이스 포트를 입력합니다.

   1.  **인스턴스** - 데이터베이스 인스턴스를 입력합니다.

   1. **SSL 인증서 위치 활성화** - SSL 인증서 파일의 Amazon S3경로를 입력하도록 선택합니다.

   1. **인증**에서 - 다음 정보를 입력합니다.

      1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 MySQL 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'Amazon Kendra-MySQL-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스에서 복사한 보안 인증 값을 입력합니다.

        1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
      + **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
      + **프라이머리 키 열** - 데이터베이스 테이블의 프라이머리 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다.
      + **제목 열** - 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다.
      + **본문 열** - 데이터베이스 테이블에 있는 문서 본문 열의 이름을 입력합니다.

   1. **추가 구성 - *선택 사항***에서 모든 파일을 동기화하는 대신 다음 옵션 중 하나를 선택하여 특정 콘텐츠를 동기화합니다.
      + 열 **변경 감지 -** 콘텐츠 변경을 감지하는 데 Amazon Kendra사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱Amazon Kendra합니다.
      + **사용자 ID 열** - 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다.
      + **그룹 열** - 콘텐츠에 대한 액세스를 허용할 그룹이 포함된 열의 이름을 입력합니다.
      + **소스 URL 열** - 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다.
      + **타임스탬프 열** - 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다.
      + **시간대 열** - 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다.
      + **타임스탬프 형식** - 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 생성된 기본 데이터 소스 필드인 **문서 IDs**, **문서 제목** 및 **소스 URLs** 중에서 Amazon Kendra인덱스에 매핑하려는 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 MySQL**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `JDBC`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **데이터베이스 유형** - 데이터베이스 유형을 `mySql`로 지정해야 합니다.
+ **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 지정합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - MySQL 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "user name": "database user name",
      "password": "password"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 MySQL 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [MySQL 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 사용자 ID, 그룹, 소스 URL, 타임스탬프, 시간대를 사용하여 특정 콘텐츠를 포함할지 여부를 지정할 수 있습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - MySQL 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

------

## 참고
<a name="mysql-notes"></a>
+ 가 업데이트된 콘텐츠를 Amazon Kendra확인할 때 삭제된 데이터베이스 행은 추적되지 않습니다.
+ 데이터베이스 행의 필드 이름 및 값 크기는 400KB를 초과할 수 없습니다.
+ 데이터베이스 데이터 소스에 많은 양의 데이터가 있고 첫 번째 동기화 후 모든 데이터베이스 콘텐츠를 인덱싱하지 않으Amazon Kendra려면 새 문서, 수정된 문서 또는 삭제된 문서만 동기화하도록 선택할 수 있습니다.
+ 가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 가장 좋은 방법은 민감한 데이터나 개인 식별 정보(PII)가 포함된 테이블을 추가하지 않는 것입니다.

# Oracle Database
<a name="data-source-oracle-database"></a>

**참고**  
Oracle Database 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Oracle Database는 데이터베이스 관리 시스템입니다. Oracle Database 사용자인 경우 Amazon Kendra를 사용하여 Oracle Database 데이터 소스를 인덱싱할 수 있습니다. 데이터 소스 커넥터는Amazon KendraOracle Database Oracle Database 18c, 19c 및 21c를 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 Oracle Database 데이터 소스에 Amazon Kendra연결할 수 있습니다.

데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요Amazon KendraOracle Database[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-oracle-database)
+ [사전 조건](#prerequisites-oracle-database)
+ [연결 지침](#data-source-procedure-oracle-database)
+ [참고](#oracle-database-notes)

## 지원되는 기능
<a name="supported-features-oracle-database"></a>
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-oracle-database"></a>

Amazon Kendra를 사용하여 Oracle Database 데이터 소스를 인덱싱하려면 먼저 Oracle Database 및 AWS계정을 변경합니다.

**Oracle Database에서 다음 사항을 갖추었는지 확인하세요**.
+ 데이터베이스 사용자 이름 및 암호를 기록했습니다.
**중요**  
가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 데이터베이스 호스트 URL, 포트, 인스턴스를 복사했습니다.
+ Oracle Database 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Oracle Database 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Oracle Database 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-oracle-database"></a>

Oracle Database 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Oracle Database 자격 증명의 세부 정보를 제공해야 합니다. 아직에 Oracle Database 대해를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-oracle-database).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 Oracle Database** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Oracle Database 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Oracle Database 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 다음 정보를 입력합니다.

   1.  **호스트** - 데이터베이스 호스트 이름을 입력합니다.

   1.  **포트** - 데이터베이스 포트를 입력합니다.

   1.  **인스턴스** - 데이터베이스 인스턴스를 입력합니다.

   1. **SSL 인증서 위치 활성화** - SSL 인증서 파일의 Amazon S3경로를 입력하도록 선택합니다.

   1. **인증**에서 - 다음 정보를 입력합니다.

      1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 Oracle Database 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'Amazon Kendra-Oracle Database-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스에서 복사한 보안 인증 값을 입력합니다.

        1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
      + **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
      + **프라이머리 키 열** - 데이터베이스 테이블의 프라이머리 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다.
      + **제목 열** - 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다.
      + **본문 열** - 데이터베이스 테이블에 있는 문서 본문 열의 이름을 입력합니다.

   1. **추가 구성 - *선택 사항***에서 모든 파일을 동기화하는 대신 다음 옵션 중 하나를 선택하여 특정 콘텐츠를 동기화합니다.
      + 열 **변경 감지 -** 콘텐츠 변경을 감지하는 데 Amazon Kendra사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱Amazon Kendra합니다.
      + **사용자 ID 열** - 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다.
      + **그룹 열** - 콘텐츠에 대한 액세스를 허용할 그룹이 포함된 열의 이름을 입력합니다.
      + **소스 URL 열** - 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다.
      + **타임스탬프 열** - 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다.
      + **시간대 열** - 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다.
      + **타임스탬프 형식** - 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 생성된 기본 데이터 소스 필드인 **문서 IDs**, **문서 제목** 및 **소스 URLs** 중에서 Amazon Kendra인덱스에 매핑하려는 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 Oracle Database**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `JDBC`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **데이터베이스 유형** - 데이터베이스 유형을 `oracle`로 지정해야 합니다.
+ **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 지정합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Oracle Database 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "user name": "database user name",
      "password": "password"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Oracle Database 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Oracle Database 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 사용자 ID, 그룹, 소스 URL, 타임스탬프, 시간대를 사용하여 특정 콘텐츠를 포함할지 여부를 지정할 수 있습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - Oracle Database 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Oracle Database 템플릿 스키마](ds-schemas.md#ds-oracle-database-schema)를 참조하세요.

------

## 참고
<a name="oracle-database-notes"></a>
+ 가 업데이트된 콘텐츠를 Amazon Kendra확인할 때 삭제된 데이터베이스 행은 추적되지 않습니다.
+ 데이터베이스 행의 필드 이름 및 값 크기는 400KB를 초과할 수 없습니다.
+ 데이터베이스 데이터 소스에 많은 양의 데이터가 있고 첫 번째 동기화 후 모든 데이터베이스 콘텐츠를 인덱싱하지 않으Amazon Kendra려면 새 문서, 수정된 문서 또는 삭제된 문서만 동기화하도록 선택할 수 있습니다.
+ 가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 가장 좋은 방법은 민감한 데이터나 개인 식별 정보(PII)가 포함된 테이블을 추가하지 않는 것입니다.

# PostgreSQL
<a name="data-source-postgresql"></a>

**참고**  
PostgreSQL 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

PostgreSQL는 오픈 소스 데이터베이스 관리 시스템입니다. PostgreSQL 사용자인 경우 Amazon Kendra를 사용하여 PostgreSQL 데이터 소스를 인덱싱할 수 있습니다. 데이터 소스 커넥터는Amazon KendraPostgreSQL PostgreSQL 9.6을 지원합니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 PostgreSQL 데이터 소스에 Amazon Kendra연결할 수 있습니다.

데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요Amazon KendraPostgreSQL[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-postgresql)
+ [사전 조건](#prerequisites-postgresql)
+ [연결 지침](#data-source-procedure-postgresql)
+ [참고](#postgresql-notes)

## 지원되는 기능
<a name="supported-features-postgresql"></a>
+ 필드 매핑
+ 사용자 컨텍스트 필터링
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-postgresql"></a>

Amazon Kendra를 사용하여 PostgreSQL 데이터 소스를 인덱싱하려면 먼저 PostgreSQL 및 AWS계정을 변경합니다.

**PostgreSQL에서 다음 사항을 갖추었는지 확인하세요**.
+ 데이터베이스 사용자 이름 및 암호를 기록했습니다.
**중요**  
가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 데이터베이스 호스트 URL, 포트, 인스턴스를 복사했습니다.
+ PostgreSQL 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ PostgreSQL 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 PostgreSQL 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-postgresql"></a>

PostgreSQL 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 PostgreSQL 자격 증명의 세부 정보를 제공해야 합니다. 아직에 PostgreSQL 대해를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-postgresql).

------
#### [ Console ]

**Amazon Kendra에 연결하려면 PostgreSQL** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **PostgreSQL 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **PostgreSQL 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **소스**에서 다음 정보를 입력합니다.

   1.  **호스트** - 데이터베이스 호스트 이름을 입력합니다.

   1.  **포트** - 데이터베이스 포트를 입력합니다.

   1.  **인스턴스** - 데이터베이스 인스턴스를 입력합니다.

   1. **SSL 인증서 위치 활성화** - SSL 인증서 파일의 Amazon S3경로를 입력하도록 선택합니다.

   1. **인증**에서 - 다음 정보를 입력합니다.

      1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 PostgreSQL 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

        1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

           1. **보안 암호 이름** - 보안 암호의 이름. 'Amazon Kendra-PostgreSQL-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

           1. **데이터베이스 사용자 이름** 및 **암호**의 경우 - 데이터베이스에서 복사한 보안 인증 값을 입력합니다.

        1. **저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **동기화 범위**에서 다음 옵션을 선택합니다.
      + **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 입력합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
      + **프라이머리 키 열** - 데이터베이스 테이블의 프라이머리 키를 입력합니다. 이는 데이터베이스 내의 테이블을 식별합니다.
      + **제목 열** - 데이터베이스 테이블에 있는 문서 제목 열의 이름을 입력합니다.
      + **본문 열** - 데이터베이스 테이블에 있는 문서 본문 열의 이름을 입력합니다.

   1. **추가 구성 - *선택 사항***에서 모든 파일을 동기화하는 대신 다음 옵션 중 하나를 선택하여 특정 콘텐츠를 동기화합니다.
      + 열 **변경 감지 -** 콘텐츠 변경을 감지하는 데 Amazon Kendra사용할 열의 이름을 입력합니다.는 이러한 열에 변경 사항이 있을 때 콘텐츠를 다시 인덱싱Amazon Kendra합니다.
      + **사용자 ID 열** - 콘텐츠에 대한 액세스를 허용할 사용자 ID가 포함된 열의 이름을 입력합니다.
      + **그룹 열** - 콘텐츠에 대한 액세스를 허용할 그룹이 포함된 열의 이름을 입력합니다.
      + **소스 URL 열** - 인덱싱할 소스 URL이 포함된 열의 이름을 입력합니다.
      + **타임스탬프 열** - 타임스탬프가 포함된 열의 이름을 입력합니다. 타임스탬프 정보를 Amazon Kendra사용하여 콘텐츠의 변경 사항을 감지하고 변경된 콘텐츠만 동기화합니다.
      + **시간대 열** - 콘텐츠를 크롤링할 시간대가 포함된 열의 이름을 입력합니다.
      + **타임스탬프 형식** - 콘텐츠 변경 사항을 감지하고 콘텐츠를 다시 동기화하는 데 사용할 타임스탬프 형식이 포함된 열의 이름을 입력합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - Amazon Kendra가 데이터 소스와 동기화할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. 생성된 기본 데이터 소스 필드인 **문서 IDs**, **문서 제목** 및 **소스 URLs** 중에서 Amazon Kendra인덱스에 매핑하려는 필드를 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**Amazon Kendra에 연결하려면 PostgreSQL**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `JDBC`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **데이터베이스 유형** - 데이터베이스 유형을 `postgresql`로 지정해야 합니다.
+ **SQL 쿼리** - SELECT 및 JOIN 연산과 같은 SQL 쿼리 문을 지정합니다. SQL 쿼리는 32KB 미만이어야 합니다. Amazon Kendra는 쿼리와 일치하는 모든 데이터베이스 콘텐츠를 크롤링합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - PostgreSQL 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "user name": "database user name",
      "password": "password"
  }
  ```
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 PostgreSQL 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [PostgreSQL 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 사용자 ID, 그룹, 소스 URL, 타임스탬프, 시간대를 사용하여 특정 콘텐츠를 포함할지 여부를 지정할 수 있습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - PostgreSQL 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 해당 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [PostgreSQL 템플릿 스키마](ds-schemas.md#ds-postgresql-schema)를 참조하세요.

------

## 참고
<a name="postgresql-notes"></a>
+ 가 업데이트된 콘텐츠를 Amazon Kendra확인할 때 삭제된 데이터베이스 행은 추적되지 않습니다.
+ 데이터베이스 행의 필드 이름 및 값 크기는 400KB를 초과할 수 없습니다.
+ 데이터베이스 데이터 소스에 많은 양의 데이터가 있고 첫 번째 동기화 후 모든 데이터베이스 콘텐츠를 인덱싱하지 않으Amazon Kendra려는 경우 새 문서, 수정된 문서 또는 삭제된 문서만 동기화하도록 선택할 수 있습니다.
+ 가장 좋은 방법은 Amazon Kendra에 읽기 전용 데이터베이스 자격 증명을 제공하는 것입니다.
+ 가장 좋은 방법은 민감한 데이터나 개인 식별 정보(PII)가 포함된 테이블을 추가하지 않는 것입니다.

# Quip
<a name="data-source-quip"></a>

**참고**  
Quip 커넥터는 2026년 5월 31일까지 기존 고객에게 완전히 지원됩니다. 이 커넥터는 더 이상 신규 사용자에게는 지원되지 않지만 기존 사용자는 중단 없이 계속 사용할 수 있습니다. 더 확장 가능하고 사용자 지정 가능한 솔루션을 제공하기 위해 커넥터 포트폴리오를 지속적으로 발전시키고 있습니다. 향후 통합을 위해 유연성이 향상된 광범위한 엔터프라이즈 사용 사례를 지원하도록 설계된 Amazon Kendra 사용자 지정 커넥터 프레임워크[1]를 살펴보는 것이 좋습니다.

Quip은 실시간 문서 작성 기능을 제공하는 협업 생산성 소프트웨어입니다. Amazon Kendra를 사용하여 Quip 폴더, 파일, 파일 설명, 채팅룸 및 첨부 파일을 인덱싱할 수 있습니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [QuipConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_QuipConfiguration.html) API를 사용하여 Quip 데이터 소스에 연결할 수 Amazon Kendra있습니다.

Amazon KendraQuip 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-quip)
+ [사전 조건](#prerequisites-quip)
+ [연결 지침](#data-source-procedure-quip)
+ [자세히 알아보기](#quip-learn-more)

## 지원되는 기능
<a name="supported-features-quip"></a>

Amazon KendraQuip 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ Virtual Private Cloud(VPC)

## 사전 조건
<a name="prerequisites-quip"></a>

Amazon Kendra를 사용하여 Quip 데이터 소스를 인덱싱하려면 먼저 Quip 및 AWS계정에서 이러한 변경을 수행합니다.

**Quip에서 다음 사항을 갖추었는지 확인하세요.**
+ 관리자 권한이 있는 Quip 계정.
+ 개인용 액세스 토큰이 포함된 Quip 보안 인증을 생성했습니다. 토큰은 AWS Secrets Manager보안 암호에 저장된 인증 자격 증명으로 사용됩니다. 자세한 내용은 [인증에 대한 Quip 설명서](https://quip.com/dev/admin/documentation/current#section/Authentication)를 참조하세요.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ Quip 사이트 도메인을 복사했습니다. 예를 들어 *https://quip-company.quipdomain.com/browse*, 여기서 *quipdomain*은 도메인입니다.
+ Quip 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Quip 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Quip 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-quip"></a>

Quip 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Quip 데이터 소스에 필요한 세부 정보를 제공해야 합니다. Quip for를 아직 구성하지 않은 경우 Amazon Kendra섹션을 참조하세요[사전 조건](#prerequisites-quip).

------
#### [ Console ]

**QuipAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Quip 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Quip 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **Quip 도메인 이름** - Quip 계정에서 복사한 Quip을 입력합니다.

   1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 Quip 인증 자격 증명을 저장할 새 Secrets Manager보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

         1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Quip-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

         1. **Quip 토큰** - Quip 개인 액세스 구성 Quip을 입력합니다.

      1. 보안 암호를 추가하고 저장합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **크롤링할 Quip 폴더 ID 추가** - 크롤링하려는 Quip 폴더 ID.
**참고**  
모든 하위 폴더와 그 안에 있는 문서를 포함하여 루트 폴더를 크롤링하려면 루트 폴더 ID를 추가합니다. 특정 하위 폴더를 크롤링하려면 특정 하위 폴더 ID를 추가합니다.

   1. **추가 구성 (콘텐츠 유형)** - 크롤링하려는 콘텐츠 유형을 입력합니다.

   1. **정규식 패턴** - 특정 페이지 및 자산을 포함하거나 제외하기 위한 정규 표현식 패턴입니다. 최대 100개의 패턴을 추가할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. Amazon Kendra인덱스에 매핑하려는 생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**QuipAmazon Kendra에 연결하려면**

[QuipConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_QuipConfiguration.html) API를 사용하여 다음을 지정해야 합니다.
+ **Quip 사이트 도메인** - 예: *https://quip-company.quipdomain.com/browse* 여기에서 *quipdomain*은 도메인입니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Quip 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "accessToken": "token"
  }
  ```
+ **IAM역할** -를 호출`CreateDataSource`하여 Secrets Manager보안 암호에 액세스하고 Quip 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Quip 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+ **Virtual Private Cloud(VPC)** - 데이터 소스 구성의 일부로 `VpcConfiguration`를 지정합니다. [VPC 사용을 위한 Amazon Kendra 구성](https://docs.aws.amazon.com/kendra/latest/dg/vpc-configuration.html)을 참조하세요.
+  **포함 및 제외 필터** - 특정 파일을 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **폴더** - 인덱싱하려는 Quip 폴더 및 하위 폴더를 지정합니다.
**참고**  
모든 하위 폴더와 그 안에 있는 문서를 포함하여 루트 폴더를 크롤링하려면 루트 폴더 ID를 입력합니다. 특정 하위 폴더를 크롤링하려면 특정 하위 폴더 ID를 추가합니다.
+ **첨부 파일, 채팅룸, 파일 설명** - 첨부 파일, 채팅룸 콘텐츠 및 파일 설명의 크롤링을 포함할지를 선택합니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - Quip 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 해당 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

------

## 자세히 알아보기
<a name="quip-learn-more"></a>

Quip 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [용 Quip 커넥터를 사용하여 지능형 검색으로 Quip 문서에서 지식 검색Amazon Kendra](https://aws.amazon.com/blogs/machine-learning/search-for-knowledge-in-quip-documents-with-intelligent-search-using-the-quip-connector-for-amazon-kendra/)

# Salesforce
<a name="data-source-salesforce"></a>

Salesforce는 지원, 영업 및 마케팅 팀을 관리하기 위한 CRM(고객 관계 관리) 도구입니다. Amazon Kendra를 사용하여 Salesforce 표준 객체와 사용자 지정 객체를 인덱싱할 수 있습니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/), [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API 또는 [SalesforceConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_SalesforceConfiguration.html) API를 사용하여 Salesforce 데이터 소스에 Amazon Kendra연결할 수 있습니다.

Amazon Kendra에는 두 가지 버전의 Salesforce 커넥터가 있습니다. 각 버전에 지원되는 기능은 다음과 같습니다.

**Salesforce 커넥터 V1.0 / [SalesforceConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_SalesforceConfiguration.html) API**
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터

**Salesforce 커넥터 V2.0 / [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API**
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

**참고**  
Salesforce 커넥터 V1.0/SalesforceConfiguration API는 2013년에 지원이 종료되었습니다. Salesforce 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

Amazon KendraSalesforce 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [Salesforce 커넥터 V1.0](data-source-v1-salesforce.md)
+ [Salesforce 커넥터 V2.0](data-source-v2-salesforce.md)

# Salesforce 커넥터 V1.0
<a name="data-source-v1-salesforce"></a>

Salesforce는 지원, 영업 및 마케팅 팀을 관리하기 위한 CRM(고객 관계 관리) 도구입니다. Amazon Kendra를 사용하여 Salesforce 표준 객체와 사용자 지정 객체를 인덱싱할 수 있습니다.

**중요**  
Amazon Kendra는 Salesforce API 버전 48을 사용합니다. Salesforce API는 하루에 수행할 수 있는 요청의 수를 제한합니다. Salesforce는 해당 요청을 초과할 경우 계속할 수 있을 때까지 재시도합니다.

**참고**  
Salesforce 커넥터 V1.0/SalesforceConfiguration API는 2013년에 지원이 종료되었습니다. Salesforce 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

Amazon KendraSalesforce 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v1-salesforce)
+ [사전 조건](#prerequisites-v1-salesforce)
+ [연결 지침](#data-source-procedure-v1-salesforce)

## 지원되는 기능
<a name="supported-features-v1-salesforce"></a>

Amazon KendraSalesforce 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터

## 사전 조건
<a name="prerequisites-v1-salesforce"></a>

Amazon Kendra를 사용하여 Salesforce 데이터 소스를 인덱싱하려면 먼저 Salesforce 및 AWS계정에서 이러한 변경을 수행합니다.

**Salesforce에서 다음을 확인하세요.**
+ Salesforce 계정을 생성하고 Salesforce에 연결하는 데 사용하는 사용자 이름 및 암호를 기록했습니다.
+ OAuth가 활성화된 상태로 Salesforce Connected 앱 계정을 만들고 Salesforce Connected 앱에 할당된 소비자 키(클라이언트 ID)와 소비자 보안 암호(클라이언트 보안 암호)를 복사했습니다. 클라이언트 ID와 클라이언트 보안 암호는 AWS Secrets Manager보안 암호에 저장된 인증 자격 증명으로 사용됩니다. 자세한 내용은 [Connected 앱에 대한 Salesforce 설명서](https://help.salesforce.com/s/articleView?id=sf.connected_app_overview.htm&type=5)를 참조하세요.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ Salesforce에 연결하는 데 사용된 계정과 연결된 Salesforce 보안 토큰을 복사했습니다.
+ 인덱싱하려는 Salesforce 인스턴스의 URL을 복사했습니다. 일반적으로 이는 *https://<company>.salesforce.com/*입니다. 서버에서 Salesforce Connected 앱을 실행하고 있어야 합니다.
+ ReadOnly 프로필을 복제한 다음 모든 데이터 보기 및 기사 관리 권한을 추가하여 Salesforce에 대한 읽기 전용 액세스 권한을 가진 사용자를 위한 보안 인증을 Salesforce 서버에 추가했습니다. 이러한 자격 증명은 연결을 수행하는 사용자와에 Amazon Kendra연결되는 Salesforce 연결 앱을 식별합니다.
+ Salesforce 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Salesforce 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Salesforce 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-v1-salesforce"></a>

Salesforce 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Salesforce 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 용 Salesforce를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-v1-salesforce).

------
#### [ Console ]

**SalesforceAmazon Kendra에 연결하려면** 

1. AWSManagement Console에 로그인하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Salesforce 커넥터 V1.0**을 선택한 다음 **커넥터 추가**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **데이터 소스 이름** - 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 문서를 필터링하여 인덱스에 사용할 수 있는 언어입니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **새 태그 추가** - 리소스를 검색 및 필터링하거나 공유 비용을 추적하기 위한 태그입니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **Salesforce URL** - 인덱싱하려는 Salesforce 사이트의 인스턴스 URL을 입력합니다.

   1. **인증 유형**에서 **기존** 인증과 **신규** 인증 정보 중 하나를 선택하여 Salesforce 보안 인증 정보를 저장합니다. 새 보안 암호를 생성하도록 선택하면 AWS Secrets Manager보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

        1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Salesforce-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

        1. **사용자 이름**, **암호**, **보안 토큰**, **소비자 키**, **소비자 보안 암호**, **인증 URL**의 경우 - Salesforce 계정에서 생성한 인증 자격 증명 값을 입력합니다.

        1. **인증 저장**을 선택합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **첨부 파일 크롤링** - 첨부된 객체, 기사, 피드를 모두 크롤링하도록 선택합니다.

   1. **표준 객체**, **지식 문서** 및 **Chatter 피드** - 크롤링하려는 Salesforce 개체 또는 콘텐츠 유형을 선택합니다.
**참고**  
표준 객체, 지식 문서 또는 chatter 피드 중 하나 이상을 인덱싱하기 위한 구성 정보를 제공해야 합니다. **지식 문서**를 크롤링하기로 선택한 경우 인덱싱할 지식 문서 유형, 문서 이름, 모든 지식 문서의 표준 필드를 인덱싱할지 또는 사용자 지정 문서 유형의 필드만 인덱싱할지 여부를 지정해야 합니다. 사용자 지정 문서를 인덱싱하도록 선택한 경우 문서 유형의 내부 이름을 지정해야 합니다. 문서 유형은 최대 10개까지 지정할 수 있습니다.

   1. **빈도** - Amazon Kendra가 데이터 소스와 동기화하는 빈도입니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **표준 지식 문서**, **표준 객체 첨부** 파일 및 **제안된 추가 필드 매핑의** 경우 - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.
**참고**  
`_document_body`에 대한 인덱스 매핑이 필요합니다. `Salesforce ID` 필드와 Amazon Kendra `_document_id ` 필드 간의 매핑은 변경할 수 없습니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**SalesforceAmazon Kendra에 연결하려면**

[SalesforceConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_SalesforceConfiguration.html) API를 다음과 같이 지정해야 합니다.
+ **서버 URL** - 인덱싱하려는 Salesforce 사이트의 인스턴스 URL입니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Salesforce 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "authenticationUrl": "OAUTH endpoint that Amazon Kendra connects to get an OAUTH token",
      "consumerKey": "Application public key generated when you created your Salesforce application",
      "consumerSecret": "Application private key generated when you created your Salesforce application.",
      "password": "Password associated with the user logging in to the Salesforce instance",
      "securityToken": "Token associated with the user account logging in to the Salesforce instance",
      "username": "User name of the user logging in to the Salesforce instance"
  }
  ```
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Salesforce 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Salesforce 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.
+ 표준 객체, 지식 문서 또는 chatter 피드 중 하나 이상을 인덱싱하기 위한 구성 정보를 제공해야 합니다.
  + **표준 객체** - **표준 객체**를 크롤링하도록 선택한 경우 표준 객체 이름과 문서 내용이 포함된 표준 객체 테이블의 필드 이름을 지정해야 합니다.
  + **지식 문서** - **지식 문서**를 크롤링하기로 선택한 경우 인덱싱할 지식 문서 유형, 인덱싱할 지식 문서의 상태, 모든 지식 문서의 표준 필드를 인덱싱할지 또는 사용자 지정 문서 유형의 필드만 인덱싱할지 여부를 지정해야 합니다.
  + **Chatter 피드** - **Chatter 피드**를 크롤링하도록 선택한 경우 인덱싱할 콘텐츠가 포함된 Salesforce FeedItem 테이블의 열 이름을 지정해야 합니다.

다음 선택적 기능도 추가할 수 있습니다.
+  **포함 및 제외 필터** - 특정 파일 첨부 파일을 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **필드 매핑** - Salesforce 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.

------

# Salesforce 커넥터 V2.0
<a name="data-source-v2-salesforce"></a>

Salesforce는 지원, 영업 및 마케팅 팀을 관리하기 위한 CRM(고객 관계 관리) 도구입니다. Amazon Kendra를 사용하여 Salesforce 표준 객체와 사용자 지정 객체를 인덱싱할 수 있습니다.

Amazon KendraSalesforce 데이터 소스 커넥터는 Developer Edition 및 Enterprise Edition과 같은 Salesforce 에디션을 지원합니다.

**참고**  
Salesforce 커넥터 V1.0/SalesforceConfiguration API는 2013년에 지원이 종료되었습니다. Salesforce 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

Amazon KendraSalesforce 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v2-salesforce)
+ [사전 조건](#prerequisites-v2-salesforce)
+ [연결 지침](#data-source-procedure-v2-salesforce)
+ [자세히 알아보기](#salesforce-v2-learn-more)
+ [참고](#salesforce-notes)

## 지원되는 기능
<a name="supported-features-v2-salesforce"></a>

Amazon KendraSalesforce 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-v2-salesforce"></a>

Amazon Kendra를 사용하여 Salesforce 데이터 소스를 인덱싱하려면 먼저 Salesforce 및 AWS계정에서 이러한 변경을 수행합니다.

**Salesforce에서 다음을 확인하세요.**
+ Salesforce 관리자 계정을 생성하고 Salesforce에 연결하는 데 사용하는 사용자 이름 및 암호를 기록했습니다.
+ Salesforce에 연결하는 데 사용된 계정과 연결된 Salesforce 보안 토큰을 복사했습니다.
+ OAuth가 활성화된 상태로 Salesforce Connected 앱 계정을 만들고 Salesforce Connected 앱에 할당된 소비자 키(클라이언트 ID)와 소비자 보안 암호(클라이언트 보안 암호)를 복사했습니다. 클라이언트 ID와 클라이언트 보안 암호는 AWS Secrets Manager보안 암호에 저장된 인증 자격 증명으로 사용됩니다. 자세한 내용은 [Connected 앱에 대한 Salesforce 설명서](https://help.salesforce.com/s/articleView?id=sf.connected_app_overview.htm&type=5)를 참조하세요.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ 인덱싱하려는 Salesforce 인스턴스의 URL을 복사했습니다. 일반적으로 이는 *https://<company>.salesforce.com/*입니다. 서버에서 Salesforce Connected 앱을 실행하고 있어야 합니다.
+ ReadOnly 프로필을 복제한 다음 모든 데이터 보기 및 기사 관리 권한을 추가하여 Salesforce에 대한 읽기 전용 액세스 권한을 가진 사용자를 위한 보안 인증을 Salesforce 서버에 추가했습니다. 이러한 자격 증명은 연결을 수행하는 사용자와에 Amazon Kendra연결되는 Salesforce 연결 앱을 식별합니다.
+ Salesforce 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds) API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Salesforce 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Salesforce 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-v2-salesforce"></a>

Salesforce 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Salesforce 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 용 Salesforce를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-v2-salesforce).

------
#### [ Console ]

**SalesforceAmazon Kendra에 연결하려면**:

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Salesforce 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Salesforce 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **Salesforce URL** - 인덱싱하려는 Salesforce 사이트의 인스턴스 URL을 입력합니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. 기존 암호를 입력하거나 새 암호를 만들면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **인증** - **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

        1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Salesforce-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

        1. **사용자 이름**, **암호**, **보안 토큰**, **소비자 키**, **소비자 보안 암호**, **인증 URL**의 경우 - Salesforce 계정에서 생성하고 다운로드한 인증 자격 증명 값을 입력합니다.
**참고**  
Salesforce Developer Edition을 사용하는 경우 `https://login.salesforce.com/services/oauth2/token` 또는 내 도메인 로그인 URL(예: * https://MyCompany.my.salesforce.com*)을 **인증 URL**로 사용합니다. Salesforce Sandbox Edition을 사용하는 경우 `https://test.salesforce.com/services/oauth2/token ` 또는 내 도메인 로그인 URL(예: * MyDomainName--SandboxName.sandbox.my.salesforce.com*)을 **인증 URL**로 사용합니다.

        1. **인증 저장**을 선택합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **첨부 파일 크롤링** - 첨부된 Salesforce 객체를 모두 크롤링하도록 선택합니다.

   1. **표준 객체**, **첨부 파일이 있는 표준 객체** 및 **첨부 파일이 없는 표준 객체**, **지식 문서**의 경우 - 크롤링하려는 Salesforce 엔터티 또는 콘텐츠 유형을 선택합니다.

   1. 표준 객체, 지식 문서 또는 chatter 피드 중 하나 이상을 인덱싱하기 위한 구성 정보를 제공해야 합니다. **지식 문서**를 크롤링하기로 선택한 경우 인덱싱할 지식 문서 유형을 지정해야 합니다. 게시, 보관, 초안 및 첨부 파일을 선택할 수 있습니다.

      **정규식 필터** - 특정 카탈로그 항목을 포함하도록 정규식 패턴을 지정합니다.

1. **추가 구성**의 경우:
   + **ACL 정보** 모든 액세스 제어 목록이 기본적으로 포함됩니다. 액세스 제어 목록을 선택 취소하면 해당 범주의 모든 파일이 공개됩니다.
   + **정규식 패턴** - 특정 페이지 및 자산을 포함하거나 제외하기 위한 정규 표현식 패턴을 추가합니다. 최대 100개의 패턴을 추가할 수 있습니다.

   **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
   + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
   + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
   + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **표준 지식 문서**, **표준 객체 첨부** 파일 및 **제안된 추가 필드 매핑의** 경우 - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.
**참고**  
`_document_body`에 대한 인덱스 매핑이 필요합니다. `Salesforce ID` 필드와 Amazon Kendra `_document_id ` 필드 간의 매핑은 변경할 수 없습니다. 모든 Salesforce 필드를 문서 제목 또는 문서 본문 Amazon Kendra 예약/기본 인덱스 필드에 매핑할 수 있습니다.  
Salesforce 필드를 Amazon Kendra의 문서 제목 및 문서 본문 필드에 매핑하면 Amazon Kendra는 검색 응답에서 문서 제목과 본문 필드의 데이터를 활용합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**SalesforceAmazon Kendra에 연결하려면**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `SALESFORCEV2`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **호스트 URL** - Salesforce 인스턴스 호스트 URL을 지정합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`는 데이터 소스가 인덱스와 동기화될 때마다 새 콘텐츠, 수정된 콘텐츠 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 새 콘텐츠와 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Salesforce 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "authenticationUrl": "OAUTH endpoint that Amazon Kendra connects to get an OAUTH token",
      "consumerKey": "Application public key generated when you created your Salesforce application",
      "consumerSecret": "Application private key generated when you created your Salesforce application",
      "password": "Password associated with the user logging in to the Salesforce instance",
      "securityToken": "Token associated with the user account logging in to the Salesforce instance",
      "username": "User name of the user logging in to the Salesforce instance"
  }
  ```
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 Salesforce 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Salesforce 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+ **포함 및 제외 필터** - 특정 문서, 계정, 캠페인, 사례, 연락처, 잠재 고객, 기회, 솔루션, 작업, 그룹, 채팅 및 사용자 지정 개체 파일을 포함할지 또는 제외할지 여부를 지정할 수 있습니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+  **필드 매핑** - Salesforce 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.
**참고**  
`_document_body`에 대한 인덱스 매핑이 필요합니다. `Salesforce ID` 필드와 Amazon Kendra `_document_id ` 필드 간의 매핑은 변경할 수 없습니다. 모든 Salesforce 필드를 문서 제목 또는 문서 본문 Amazon Kendra 예약/기본 인덱스 필드에 매핑할 수 있습니다.  
Salesforce 필드를 Amazon Kendra의 문서 제목 및 문서 본문 필드에 매핑하면 Amazon Kendra는 검색 응답에서 문서 제목과 본문 필드의 데이터를 활용합니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Salesforce 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-salesforce-schema)를 참조하세요.

------

## 자세히 알아보기
<a name="salesforce-v2-learn-more"></a>

Salesforce 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [에 대한 업데이트된 Salesforce 커넥터(V2) 발표Amazon Kendra](https://aws.amazon.com/blogs/machine-learning/announcing-the-updated-salesforce-connector-v2-for-amazon-kendra/)

## 참고
<a name="salesforce-notes"></a>
+ 액세스 제어 목록(ACL)이 활성화된 경우 Salesforce API 제한 사항으로 인해 '새 콘텐츠 또는 수정된 콘텐츠만 동기화' 옵션을 사용할 수 없습니다. 대신 '전체 동기화' 또는 '새 콘텐츠, 수정된 콘텐츠 또는 삭제된 콘텐츠 동기화' 모드를 사용하거나, 이 동기화 모드를 사용해야 하는 경우 ACL을 비활성화하는 것이 좋습니다.

# ServiceNow
<a name="data-source-servicenow"></a>

ServiceNow는 IT 서비스, 티켓팅 시스템 및 지원과 같은 조직 수준의 워크플로를 생성하고 관리하기 위한 클라우드 기반 서비스 관리 시스템을 제공합니다. Amazon Kendra를 사용하여 ServiceNow 카탈로그, 지식 문서, 인시던트 및 첨부 파일을 인덱싱할 수 있습니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/), [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API 또는 ServiceNowConfig[ServiceNowConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ServiceNowConfiguration.html) 데이터 소스에 연결할 수 Amazon Kendra있습니다.

Amazon Kendra에는 ServiceNow 커넥터의 두 가지 버전이 있습니다. 각 버전에 지원되는 기능은 다음과 같습니다.

**ServiceNow 커넥터 V1.0 / [ServiceNowConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ServiceNowConfiguration.html) API**
+ 필드 매핑
+ ServiceNow 인스턴스 버전: 런던, 기타
+ 포함/제외 필터

**ServiceNow 커넥터 V2.0 / [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API**
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ ServiceNow 인스턴스 버전: 로마, 샌디에이고, 도쿄, 기타
+ Virtual private cloud(VPC)

**참고**  
ServiceNow 커넥터 V1.0/ServiceNowConfiguration API에 대한 지원은 2023년에 종료되었습니다. ServiceNow 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

Amazon KendraServiceNow 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [ServiceNow 커넥터 V1.0](data-source-v1-servicenow.md)
+ [ServiceNow 커넥터 V2.0](data-source-v2-servicenow.md)
+ [쿼리로 인덱싱할 문서 지정](servicenow-query.md)

# ServiceNow 커넥터 V1.0
<a name="data-source-v1-servicenow"></a>

ServiceNow는 IT 서비스, 티켓팅 시스템 및 지원과 같은 조직 수준의 워크플로를 생성하고 관리하기 위한 클라우드 기반 서비스 관리 시스템을 제공합니다. Amazon Kendra를 사용하여 ServiceNow 카탈로그, 지식 문서 및 첨부 파일을 인덱싱할 수 있습니다.

**참고**  
ServiceNow 커넥터 V1.0/ServiceNowConfiguration API에 대한 지원은 2023년에 종료되었습니다. ServiceNow 커넥터 V2.0 / TemplateConfiguration API로 마이그레이션하거나 이를 사용하는 것이 좋습니다.

Amazon KendraServiceNow 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v1-servicenow)
+ [사전 조건](#prerequisites-v1-servicenow)
+ [연결 지침](#data-source-procedure-v1-servicenow)
+ [자세히 알아보기](#servicenow-v1-learn-more)

## 지원되는 기능
<a name="supported-features-v1-servicenow"></a>

Amazon KendraServiceNow 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ ServiceNow 인스턴스 버전: 런던, 기타
+ 포함/제외 패턴: 서비스 카탈로그, 지식 문서, 첨부 파일

## 사전 조건
<a name="prerequisites-v1-servicenow"></a>

Amazon Kendra를 사용하여 ServiceNow 데이터 소스를 인덱싱하려면 먼저 ServiceNow 및 AWS계정에서 이러한 변경을 수행합니다.

**ServiceNow에서 다음을 확인하세요.**
+ ServiceNow 관리자 계정을 생성하고 ServiceNow 인스턴스를 생성했습니다.
+ ServiceNow 인스턴스 URL의 호스트를 복사했습니다. 예를 들어 인스턴스의 URL이 *https://your-domain.service-now.com*인 경우 입력하는 호스트 URL의 형식은 *your-domain.service-now.com*입니다.
+ Amazon Kendra가 ServiceNow 인스턴스에 연결하도록 허용하는 사용자 이름과 암호가 포함된 기본 보안 인증 정보를 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **선택 사항:** 사용자 이름, 암호, 클라이언트 ID 및 클라이언트 보안 암호를 식별하고 Amazon Kendra생성할 수 있는 OAuth 2.0 보안 인증 토큰을 구성했습니다. 사용자 이름과 암호는 ServiceNow 지식 기반 및 서비스 카탈로그에 대한 액세스를 제공해야 합니다. 자세한 내용은 [OAuth 2.0 인증에 대한 ServiceNow 설명서](https://www.servicenow.com/docs/bundle/utah-platform-security/page/integrate/single-sign-on/concept/c_Authentication.html)를 참조하세요.
+ 다음 권한을 추가했습니다.
  + kb\$1category
  + kb\$1knowledge
  + kb\$1knowledge\$1base
  + kb\$1uc\$1cannot\$1read\$1mtom
  + kb\$1uc\$1can\$1read\$1mtom
  + sc\$1catalog
  + sc\$1category
  + sc\$1cat\$1item
  + 시스템\$1어태치먼트
  + sys\$1attachment\$1doc
  + sys\$1user\$1role
+ ServiceNow 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ ServiceNow 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 ServiceNow 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-v1-servicenow"></a>

ServiceNow 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 ServiceNow 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 아직 ServiceNow를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-v1-servicenow).

------
#### [ Console ]

**ServiceNowAmazon Kendra에 연결하려면** 

1. AWSManagement Console에 로그인하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **ServiceNow 커넥터 V1.0**을 선택한 다음 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **ServiceNow 호스트** - ServiceNow 호스트 URL을 입력합니다.

   1. **ServiceNow 버전** - ServiceNow 버전을 선택합니다.

   1. 사용 사례에 따라 **기본 인증**, **OAuth 2.0 인증** 중에서 선택합니다.

   1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 ServiceNow 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-ServiceNow-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

      1. 기본 인증을 사용하는 경우 - ServiceNow 계정의 **보안 암호 이름**, **사용자 이름** 및 **암호**를 입력합니다.

         OAuth2 인증을 사용하는 경우 - ServiceNow 계정에서 생성한 **보안 암호 이름**, **사용자 이름**, **암호**, **클라이언트 ID** 및 **클라이언트 보안 암호**를 입력합니다.

      1. **저장 및 보안 암호 추가**를 선택합니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **지식 문서 포함** - 지식 문서를 인덱싱하도록 선택합니다.

   1. **지식 문서 유형** - 사용 사례에 따라 **공개 문서만 포함**과 **ServiceNow 필터 쿼리를 기반으로 문서 포함** 중에서 선택합니다. **ServiceNow 필터 쿼리를 기반으로 문서 포함**을 선택하는 경우 ServiceNow 계정에서 복사한 **필터 쿼리**를 입력해야 합니다.

   1. **지식 문서 첨부 파일 포함** - 지식 문서 첨부 파일을 인덱싱하도록 선택합니다. 인덱싱할 특정 파일 형식을 선택할 수도 있습니다.

   1. **카탈로그 항목 포함** - 카탈로그 항목을 인덱싱하도록 선택합니다.

   1. **카탈로그 항목 첨부 파일 포함** - 카탈로그 항목 첨부 파일을 인덱싱하려면 선택합니다. 인덱싱할 특정 파일 형식을 선택할 수도 있습니다.

   1. **빈도** - Amazon Kendra가 데이터 소스와 동기화하는 빈도입니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **지식 문서** 및 **서비스 카탈로그** - Amazon Kendra생성된 기본 데이터 소스 필드와 인덱스에 매핑하려는 추가 제안 필드 매핑 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**ServiceNowAmazon Kendra에 연결하려면**

[ServiceNowConfiguration API](https://docs.aws.amazon.com/kendra/latest/APIReference/API_ServiceNowConfiguration.html)를 사용하여 다음을 지정해야 합니다.
+ **데이터 소스 URL** - ServiceNow URL을 지정합니다. 호스트 엔드포인트는 *your-domain.service-now.com*과 같은 형식이어야 합니다.
+ **데이터 소스 호스트 인스턴스** - ServiceNow 호스트 인스턴스 버전을 `LONDON` 또는 `OTHERS`로 지정합니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - ServiceNow 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다.

   기본 인증을 사용하는 경우 보안 암호는 다음 키가 있는 JSON 구조에 저장됩니다.

  ```
  {
      "username": "user name",
      "password": "password"
  }
  ```

  OAuth2 인증을 사용하는 경우 보안 암호는 다음 키가 있는 JSON 구조에 저장됩니다.

  ```
  {
      "username": "user name",
      "password": "password",
      "clientId": "client id",
      "clientSecret": "client secret"
  }
  ```
+ **IAM역할** - Secrets Manager보안 암호`CreateDataSource`에 액세스하고 ServiceNow 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공하기 위해를 호출할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [ServiceNow 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **필드 매핑** - ServiceNow 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.
+  **포함 및 제외 필터** - 카탈로그와 지식 문서의 특정 파일 첨부 파일을 포함할지 또는 제외할지 여부를 지정합니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+ **인덱싱 파라미터** - 다음을 수행할지 여부를 지정할 수도 있습니다.
  + 지식 문서 및 서비스 카탈로그 또는 이 두 가지를 모두 인덱싱합니다. 지식 문서 및 서비스 카탈로그 항목을 인덱싱하도록 선택한 경우 Amazon Kendra 인덱스의 인덱스 문서 내용 필드에 매핑되는 ServiceNow 필드의 이름을 제공해야 합니다.
  + 지식 문서 및 카탈로그 항목에 대한 첨부 파일을 인덱싱합니다.
  + 하나 이상의 지식 기반에서 문서를 선택하는 ServiceNow 쿼리를 사용하세요. 지식 기반은 공개 또는 비공개일 수 있습니다. 자세한 내용을 알아보려면 [쿼리로 인덱싱할 문서 지정](https://docs.aws.amazon.com/kendra/latest/dg/servicenow-query.html)을 참조하세요.

------

## 자세히 알아보기
<a name="servicenow-v1-learn-more"></a>

ServiceNow 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon KendraServiceNow Online 커넥터 시작하기](https://aws.amazon.com/blogs/machine-learning/getting-started-with-amazon-kendra-servicenow-online-connector/)

# ServiceNow 커넥터 V2.0
<a name="data-source-v2-servicenow"></a>

ServiceNow는 IT 서비스, 티켓팅 시스템 및 지원과 같은 조직 수준의 워크플로를 생성하고 관리하기 위한 클라우드 기반 서비스 관리 시스템을 제공합니다. Amazon Kendra를 사용하여 ServiceNow 카탈로그, 지식 문서, 인시던트 및 첨부 파일을 인덱싱할 수 있습니다.

Amazon KendraServiceNow 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-v2-servicenow)
+ [사전 조건](#prerequisites-v2-servicenow)
+ [연결 지침](#data-source-procedure-v2-servicenow)
+ [자세히 알아보기](#servicenow-learn-more)

## 지원되는 기능
<a name="supported-features-v2-servicenow"></a>

Amazon KendraServiceNow 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ ServiceNow 인스턴스 버전: 로마, 샌디에이고, 도쿄, 기타
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-v2-servicenow"></a>

Amazon Kendra를 사용하여 ServiceNow 데이터 소스를 인덱싱하려면 먼저 ServiceNow 및 AWS계정에서 이러한 변경을 수행합니다.

**ServiceNow에서 다음을 확인하세요.**
+ 개인 또는 엔터프라이즈 개발자 인스턴스를 생성하고 관리자 역할을 가진 ServiceNow 인스턴스를 보유했습니다.
+ ServiceNow 인스턴스 URL의 호스트를 복사했습니다. 입력하는 호스트 URL의 형식은 *your-domain.service-now.com*입니다. Amazon Kendra에 연결하려면 ServiceNow 인스턴스 URL이 필요합니다.
+ 가 ServiceNow 인스턴스에 Amazon Kendra연결할 수 있도록 사용자 이름 및 암호의 기본 인증 자격 증명을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **선택 사항:** 사용자 이름, 암호, 생성된 클라이언트 ID 및 클라이언트 암호를 Amazon Kendra사용하여 식별할 수 있는 OAuth 2.0 클라이언트 자격 증명을 구성했습니다. 자세한 내용은 [OAuth 2.0 인증에 대한 ServiceNow 설명서](https://www.servicenow.com/docs/bundle/utah-platform-security/page/integrate/single-sign-on/concept/c_Authentication.html)를 참조하세요.
+ 다음 권한을 추가했습니다.
  + kb\$1category
  + kb\$1knowledge
  + kb\$1knowledge\$1base
  + kb\$1uc\$1cannot\$1read\$1mtom
  + kb\$1uc\$1can\$1read\$1mtom
  + sc\$1catalog
  + sc\$1category
  + sc\$1cat\$1item
  + 시스템\$1어태치먼트
  + sys\$1attachment\$1doc
  + sys\$1user\$1role
+ ServiceNow 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ ServiceNow 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 ServiceNow 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-v2-servicenow"></a>

ServiceNow 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 ServiceNow 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 아직 ServiceNow를 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-v2-servicenow).

------
#### [ Console ]

**ServiceNowAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **ServiceNow 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **ServiceNow 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **ServiceNow 호스트** - ServiceNow 호스트 URL을 입력합니다. 입력하는 호스트 URL의 형식은 *your-domain.service-now.com*입니다.

   1. **ServiceNow 버전** - ServiceNow 인스턴스 버전을 선택합니다. 로마, 샌디에이고, 도쿄 또는 기타 중에서 선택할 수 있습니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **인증** - **기본 인증** 및 **OAuth 2.0 인증** 중에서 선택합니다.

   1. **AWS Secrets Manager 보안 암호** - 기존 보안 암호를 선택하거나 ServiceNow 보안 인증 정보를 저장할 새 Secrets Manager 보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다. 창에 다음 정보를 입력합니다.

      1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-ServiceNow-'라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

      1. 기본 인증을 사용하는 경우 - ServiceNow 계정의 **보안 암호 이름**, **사용자 이름** 및 **암호**를 입력합니다.

         OAuth2.0 인증을 사용하는 경우 - ServiceNow 계정에서 생성한 **보안 암호 이름**, **사용자 이름**, **암호**, **클라이언트 ID** 및 **클라이언트 보안 암호**를 입력합니다.

      1. 보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **지식 문서**의 경우 다음 옵션 중에서 선택합니다.
      +  **지식 문서** - 지식 문서를 인덱싱하도록 선택합니다.
      + **지식 문서 첨부 파일** - 지식 문서 첨부 파일을 인덱싱하도록 선택합니다.
      + **지식 문서 유형** - 사용 사례에 따라 **공개 문서만**과 **ServiceNow 필터 쿼리를 기반으로 한 문서** 중에서 선택합니다. **ServiceNow 필터 쿼리를 기반으로 문서 포함**을 선택하는 경우 ServiceNow 계정에서 복사한 **필터 쿼리**를 입력해야 합니다. 필터 쿼리의 예: *workflow\$1state=draft^EQ*, *kb\$1knowledge\$1base=dfc19531bf2021003f07e2c1ac0739ab^text ISNOTEMPTY^EQ*, *article\$1type=text^active=true^EQ*.
**중요**  
**퍼블릭 문서만** 크롤링하도록 선택하면는 ServiceNow에서 퍼블릭 액세스 역할이 할당된 지식 문서만 Amazon Kendra크롤링합니다.
      + **간단한 설명 필터를 기반으로 문서 포함** - 특정 문서를 포함하거나 제외하도록 정규 표현식 패턴을 지정합니다.

   1. **서비스 카탈로그 항목**의 경우:
      +  **서비스 카탈로그 항목** - 서비스 카탈로그 항목을 인덱싱하도록 선택합니다.
      + **서비스 카탈로그 항목 첨부 파일** - 서비스 카탈로그 항목 첨부 파일을 인덱싱하려면 선택합니다.
      + **활성 서비스 카탈로그 항목** - 활성 서비스 카탈로그 항목을 인덱싱하도록 선택합니다.
      + **비활성 서비스 카탈로그 항목** - 비활성 서비스 카탈로그 항목을 인덱싱하도록 선택합니다.
      + **필터 쿼리** - ServiceNow 인스턴스에 정의된 필터를 기반으로 서비스 카탈로그 항목을 포함하도록 선택합니다. 필터 쿼리의 예: *short\$1descriptionLIKEAccess^category=2809952237b1300054b6a3549dbe5dd4^EQ*, *nameSTARTSWITHService^active=true^EQ*.
      + **간단한 설명 필터를 기반으로 서비스 카탈로그 항목 포함** - 특정 카탈로그 항목을 포함하도록 정규식 패턴을 지정합니다.

   1. **인시던트**의 경우:
      + **인시던트** - 서비스 인시던트를 인덱싱하도록 선택합니다.
      + **인시던트 첨부 파일** - 인시던트 첨부 파일을 인덱싱하도록 선택합니다.
      + **활성 인시던트** - 활성 인시던트를 인덱싱하도록 선택합니다.
      + **비활성 인시던트** - 비활성 인시던트를 인덱싱하도록 선택합니다.
      + **활성 인시던트 유형** - 사용 사례에 따라 **모든 인시던트**, **미해결 인시던트**, **미해결 - 미할당 인시던트**, **해결된 인시던트** 중에서 선택합니다.
      + **필터 쿼리** - ServiceNow 인스턴스에 정의된 필터를 기반으로 인시던트 항목을 포함하도록 선택합니다. 필터 쿼리의 예: *short\$1descriptionLIKETest^urgency=3^state=1^EQ*, *priority=2^category=software^EQ *.
      + **간단한 설명 필터를 기반으로 인시던트 포함** - 특정 인시던트를 포함하도록 정규식 패턴을 지정합니다.

   1. **추가 구성**의 경우:
      + **ACL 정보** - 선택한 개체의 액세스 제어 목록이 기본적으로 포함됩니다. 액세스 제어 목록을 선택 취소하면 해당 범주의 모든 파일이 공개됩니다. 선택하지 않은 개체의 경우 ACL 옵션이 자동으로 비활성화됩니다. 공개 문서의 경우 ACL이 적용되지 않습니다.
      + **최대 파일 크기**의 경우 - Amazon Kendra가 크롤링할 파일 크기 제한을 MB 단위로 지정합니다. Amazon Kendra는 사용자가 정의한 크기 제한 내의 파일만 크롤링합니다. 기본 파일 크기는 50MB입니다. 최대 파일 크기는 0MB보다 크고 50MB보다 작거나 같아야 합니다.
      + **첨부 정규식 패턴** - 카탈로그, 지식 문서 및 인시던트의 특정 첨부 파일을 포함하거나 제외하는 정규 표현식 패턴을 추가합니다. 최대 100개의 패턴을 추가할 수 있습니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 필드 매핑 **- 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**ServiceNowAmazon Kendra에 연결하려면**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `SERVICENOWV2`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **호스트 URL** - ServiceNow 호스트 인스턴스 버전을 지정합니다. 예: *your-domain.service-now.com*.
+ **인증 유형** - ServiceNow 인스턴스에 대해 사용 중인 인증 유형(`basicAuth` 또는 `OAuth2`)을 지정합니다.
+ **ServiceNow 인스턴스 버전** - 사용 중인 ServiceNow 인스턴스(`Tokyo`, `Sandiego`, `Rome` 또는 `Others`)를 지정합니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`는 데이터 소스가 인덱스와 동기화될 때마다 새 콘텐츠, 수정된 콘텐츠 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - ServiceNow 계정에서 생성한 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다.

  기본 인증을 사용하는 경우 보안 암호는 다음 키가 있는 JSON 구조에 저장됩니다.

  ```
  {
      "username": "user name",
      "password": "password"
  }
  ```
+ OAuth2 클라이언트 자격 증명을 사용하는 경우 보안 암호는 다음 키가 있는 JSON 구조에 저장됩니다.

  ```
  {
      "username": "user name",
      "password": "password",
      "clientId": "client id",
      "clientSecret": "client secret"
  }
  ```
+ **IAM역할** - `CreateDataSource`를 호출하여 Secrets Manager보안 암호에 액세스하고 ServiceNow 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [ServiceNow 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **포함 및 제외 필터** - 지식 문서, 서비스 카탈로그 및 인시던트의 파일 이름과 파일 유형을 사용하여 특정 첨부 파일을 포함할지 또는 제외할지 여부를 지정할 수 있습니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **인덱싱할 특정 문서** - ServiceNow 쿼리를 사용하면 프라이빗 지식 기반을 포함하여 하나 이상의 지식 기반에서 원하는 문서를 지정할 수 있습니다. 지식 문서에 대한 액세스 권한은 ServiceNow 인스턴스에 연결하는 데 사용하는 사용자에 따라 결정됩니다. 자세한 내용을 알아보려면 [쿼리로 인덱싱할 문서 지정](https://docs.aws.amazon.com//kendra/latest/dg/servicenow-query.html)을 참조하세요.
+ **인덱싱 파라미터** - 다음을 수행할지 여부를 지정할 수도 있습니다.
  + 지식 문서, 서비스 카탈로그, 인시던트 또는 이 세 가지를 모두 인덱싱합니다. 지식 문서, 서비스 카탈로그 항목 및 인시던트를 인덱싱하도록 선택한 경우 Amazon Kendra인덱스의 인덱스 문서 콘텐츠 필드에 매핑되는 ServiceNow 필드의 이름을 제공해야 합니다.
  + 지식 문서 및 서비스 카탈로그 항목과 인시던트에 대한 첨부 파일을 인덱싱합니다.
  + `short description` 필터 패턴에 따라 지식 문서, 서비스 카탈로그 항목 및 인시던트를 포함합니다.
  + 활성 및 비활성 서비스 카탈로그 항목 및 인시던트를 필터링하도록 선택합니다.
  + 인시던트 유형을 기준으로 인시던트를 필터링하도록 선택합니다.
  + ACL을 크롤링해야 하는 개체를 선택합니다.
  + ServiceNow 쿼리를 사용하면 비공개 지식 기반을 포함하여 하나 이상의 지식 베이스에서 원하는 문서를 지정할 수 있습니다. 지식 문서에 대한 액세스 권한은 ServiceNow 인스턴스에 연결하는 데 사용하는 사용자에 따라 결정됩니다. 자세한 내용을 알아보려면 [쿼리로 인덱싱할 문서 지정](https://docs.aws.amazon.com//kendra/latest/dg/servicenow-query.html)을 참조하세요.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+  **필드 매핑** - ServiceNow 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [ServiceNow 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-servicenow-schema)를 참조하세요.

------

## 자세히 알아보기
<a name="servicenow-learn-more"></a>

ServiceNow 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [용 업데이트된 ServiceNow 커넥터(V2) Amazon Kendra발표 시작하기Amazon Kendra](https://aws.amazon.com/blogs/machine-learning/announcing-the-updated-servicenow-connector-v2-for-amazon-kendra/)

# 쿼리로 인덱싱할 문서 지정
<a name="servicenow-query"></a>

ServiceNow 쿼리를 사용하여 Amazon Kendra 인덱스에 포함하려는 문서를 지정할 수 있습니다. 쿼리를 사용할 때 비공개 지식 기반을 비롯한 여러 지식 기반을 지정할 수 있습니다. 지식 문서에 대한 액세스 권한은 ServiceNow 인스턴스에 연결하는 데 사용하는 사용자에 따라 결정됩니다.

쿼리를 작성하려면 ServiceNow 쿼리 빌더를 사용합니다. 빌더를 사용하여 쿼리를 만들고 쿼리가 올바른 문서 목록을 반환하는지 테스트할 수 있습니다.

**ServiceNow 콘솔을 사용하여 쿼리를 만들려면**

1. ServiceNow 콘솔에 로그인합니다.

1. 왼쪽 메뉴에서 **지식**, **문서**를 차례로 선택한 다음 **모두**를 선택합니다.

1. 페이지 상단에서 필터 아이콘을 선택합니다.

1. 쿼리 빌더를 사용하여 쿼리를 생성합니다.

1. 쿼리가 완료되면 쿼리를 마우스 오른쪽 버튼으로 클릭하고 **쿼리 복사**를 선택하여 쿼리 빌더에서 쿼리를 복사합니다. 이 쿼리를 저장하여에서 사용합니다Amazon Kendra.  
![\[Query builder interface showing Knowledge base filters with options to run, save, and copy query.\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/images/ServiceNowQuery.png)

쿼리를 복사할 때 쿼리 파라미터를 변경하지 않도록 하세요. 쿼리 파라미터가 인식되지 않는 경우 ServiceNow는 파라미터를 비어 있는 것으로 취급하고 결과를 필터링하는 데 사용하지 않습니다.

# Slack
<a name="data-source-slack"></a>

Slack은 사용자가 다양한 공개 및 비공개 채널을 통해 메시지와 첨부 파일을 보낼 수 있는 엔터프라이즈 커뮤니케이션 앱입니다. Amazon Kendra를 사용하여 Slack 퍼블릭 및 프라이빗 채널, 봇 및 아카이브 메시지, 파일 및 첨부 파일, 다이렉트 및 그룹 메시지를 인덱싱할 수 있습니다. 필터링할 특정 콘텐츠를 선택할 수도 있습니다.

**참고**  
Amazon Kendra는 이제 업그레이드된 Slack 커넥터를 지원합니다.  
콘솔이 자동으로 업그레이드되었습니다. 콘솔에서 생성하는 모든 새 커넥터는 업그레이드된 아키텍처를 사용합니다. API를 사용하는 경우 이제 `SlackConfiguration` 객체 대신 [https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) 객체를 사용하여 커넥터를 구성해야 합니다.  
이전 콘솔 및 API 아키텍처를 사용하여 구성된 커넥터는 구성된 대로 계속 작동합니다. 하지만 편집하거나 업데이트할 수는 없습니다. 커넥터 구성을 편집하거나 업데이트하려면 새 커넥터를 생성해야 합니다.  
커넥터 워크플로를 업그레이드된 버전으로 마이그레이션하는 것이 좋습니다. 이전 아키텍처를 사용하여 구성된 커넥터에 대한 지원은 2024년 6월에 종료될 예정입니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 또는 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 Slack 데이터 소스에 연결할 수 Amazon Kendra있습니다.

Amazon KendraSlack 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-slack)
+ [사전 조건](#prerequisites-slack)
+ [연결 지침](#data-source-procedure-slack)
+ [자세히 알아보기](#slack-learn-more)

## 지원되는 기능
<a name="supported-features-slack"></a>

Amazon KendraSlack 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-slack"></a>

Amazon Kendra를 사용하여 Slack 데이터 소스를 인덱싱하려면 먼저 Slack 및 AWS계정에서 이러한 변경을 수행합니다.

**Slack에서 다음 사항을 갖추었는지 확인하세요.**
+ Slack 봇 사용자 OAuth 토큰 또는 Slack 사용자 OAuth 토큰을 구성했습니다. 두 토큰 중 하나를 선택하여 Slack 데이터 소스Amazon Kendra에 연결할 수 있습니다. 인증 자격 증명으로 사용하려면 토큰이 필요합니다. 자세한 내용은 [액세스 토큰에 대한 Slack 설명서](https://api.slack.com/authentication/token-types)를 참조하세요.
**참고**  
봇 토큰을 Slack 보안 인증의 일부로 사용하는 경우 다이렉트 메시지 및 그룹 메시지를 인덱싱할 수 없으며 인덱싱하려는 채널에 봇 토큰을 추가해야 합니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ Slack 워크스페이스 메인 페이지 URL에서 Slack 워크스페이스 팀 ID를 기록해 두었습니다. 예: *https://app.slack.com/client/T0123456789/... * 여기에서 *T0123456789*는 팀 ID입니다.
+ 다음 OAuth 권한/범위를 추가했습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/kendra/latest/dg/data-source-slack.html)
+ Slack 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Slack 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Slack 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-slack"></a>

Slack 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Slack 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 Slack을 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-slack).

------
#### [ Console ]

**SlackAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Slack 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Slack 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **Slack 워크스페이스 팀 ID**의 경우 - Slack 워크스페이스의 팀 ID입니다. Slack 워크스페이스 기본 페이지의 URL에서 팀 ID를 확인할 수 있습니다. 예: *https://app.slack.com/client/T0123456789/... * 여기에서 *T0123456789*는 팀 ID입니다.

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **AWS Secrets Manager보안 암호** - 기존 보안 암호를 선택하거나 Slack 인증 자격 증명을 저장할 새 Secrets Manager보안 암호를 생성합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. **AWS Secrets Manager 보안 암호 생성 창**에 다음 정보를 입력합니다.

         1. **보안 암호 이름** - 보안 암호의 이름. 'AmazonKendra-Slack-'이라는 접두사가 보안 암호 이름에 자동으로 추가됩니다.

         1. **Slack 토큰**의 경우 - Slack을 구성한 인증 자격 증명 값을 입력합니다.

      1. 보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **콘텐츠 유형 선택** - 크롤링할 Slack의 엔터티나 콘텐츠 유형을 선택합니다. 모든 채널, 퍼블릭 채널, 프라이빗 채널, 그룹 메시지, 프라이빗 메시지 중에서 원하는 대로 선택할 수 있습니다.

   1. **크롤링 시작 날짜 선택** - 콘텐츠 크롤링을 시작할 날짜를 입력합니다.

   1. **추가 구성**의 경우 - 봇과 아카이브된 메시지를 포함할지 선택하고, 정규 표현식 패턴을 사용하여 특정 콘텐츠를 포함하거나 제외할 수 있습니다.
**참고**  
채널 IDs와 채널 이름 모두에를 포함하도록 선택하면 Amazon KendraSlack 커넥터가 채널 이름보다 채널 IDs의 우선 순위를 지정합니다.  
특정 프라이빗 및 그룹 메시지를 포함하도록 선택한 경우 Amazon Kendra Slack 커넥터는 모든 프라이빗 및 그룹 메시지를 무시하고 지정한 프라이빗 및 그룹 메시지만 크롤링합니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다.는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 Amazon Kendra수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**SlackAmazon Kendra에 연결하려면**

[https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-schema-slack)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `SLACK`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **Slack 워크스페이스 팀 ID** - Slack 메인 페이지 URL에서 복사한 Slack 팀 ID입니다.
+ **이후 날짜** - Slack 워크스페이스 팀에서 데이터를 크롤링하기 시작하는 날짜입니다. 날짜는 yyyy-mm-dd 형식을 따릅니다.
+ **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 Amazon Kendra가 인덱스를 업데이트하는 방법을 지정합니다. 데이터 소스를 Amazon Kendra와 처음 동기화할 때 기본적으로 모든 콘텐츠가 크롤링되어 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다. 다음 중에서 선택할 수 있습니다.
  + `FORCED_FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
  + `FULL_CRAWL`은 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
  + `CHANGE_LOG`는 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
+ **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Slack 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "slackToken": "token"
  }
  ```
+ **IAM역할** - `CreateDataSource`를 호출하여 Secrets Manager보안 암호에 액세스하고 Slack 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Slack 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+ **특정 채널** - 퍼블릭 또는 프라이빗 채널별로 필터링하고 ID별로 특정 채널을 지정합니다.
+ **채널 및 메시지 유형**- Amazon Kendra가 퍼블릭 및 프라이빗 채널, 그룹 및 다이렉트 메시지, 봇 및 아카이브된 메시지를 인덱싱해야 하는지 여부입니다. 봇 토큰을 Slack 보안 인증의 일부로 사용하는 경우 인덱싱하려는 채널에 봇 토큰을 추가해야 합니다. 봇 토큰을 사용하여 다이렉트 메시지와 그룹 메시지를 인덱싱할 수 없습니다.
+ **룩백** - Slack 커넥터가 마지막 커넥터 동기화 전 지정된 시간까지 업데이트되거나 삭제된 콘텐츠를 크롤링하도록 `lookBack` 파라미터를 구성하도록 선택할 수 있습니다.
+  **포함 및 제외 필터** - 특정 Slack 콘텐츠를 포함할지 또는 제외할지를 지정합니다. 봇 토큰을 Slack 보안 인증의 일부로 사용하는 경우 인덱싱하려는 채널에 봇 토큰을 추가해야 합니다. 봇 토큰을 사용하여 다이렉트 메시지와 그룹 메시지를 인덱싱할 수 없습니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **필드 매핑** - Slack 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Slack 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-schema-slack)를 참조하세요.

------

## 자세히 알아보기
<a name="slack-learn-more"></a>

Slack 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Kendra Slack 커넥터를 사용한 지능형 검색으로 Slack 워크스페이스의 지식을 넓히세요](https://aws.amazon.com/blogs/machine-learning/unravel-the-knowledge-in-slack-workspaces-with-intelligent-search-using-the-amazon-kendra-slack-connector/)

# Zendesk
<a name="data-source-zendesk"></a>

Zendesk는 기업이 고객 지원 상호 작용을 자동화하고 향상시키는 데 도움이 되는 고객 관계 관리 시스템입니다. Amazon Kendra를 사용하여 Zendesk 지원 티켓, 티켓 설명, 티켓 첨부 파일, 도움말 센터 기사, 기사 설명, 기사 설명 첨부 파일, 가이드 커뮤니티 주제, 커뮤니티 게시물 및 커뮤니티 게시물 설명을 인덱싱할 수 있습니다.

특정 조직 내에만 있는 티켓을 인덱싱하려면 조직 이름을 기준으로 필터링할 수 있습니다. Zendesk에서 데이터 크롤링을 시작하려는 날짜를 크롤링 날짜로 설정하도록 선택할 수도 있습니다.

[Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/) 및 [TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 Zendesk 데이터 소스에 연결할 수 Amazon Kendra있습니다.

Amazon KendraZendesk 데이터 소스 커넥터의 문제 해결은 섹션을 참조하세요[데이터 소스 문제 해결](troubleshooting-data-sources.md).

**Topics**
+ [지원되는 기능](#supported-features-zendesk)
+ [사전 조건](#prerequisites-zendesk)
+ [연결 지침](#data-source-procedure-zendesk)
+ [자세히 알아보기](#zendesk-learn-more)
+ [참고](#zendesk-notes)

## 지원되는 기능
<a name="supported-features-zendesk"></a>

Amazon KendraZendesk 데이터 소스 커넥터는 다음 기능을 지원합니다.
+ 필드 매핑
+ 사용자 액세스 제어
+ 포함/제외 필터
+ 변경 로그, 전체 및 증분 콘텐츠 동기화
+ Virtual private cloud(VPC)

## 사전 조건
<a name="prerequisites-zendesk"></a>

Amazon Kendra를 사용하여 Zendesk 데이터 소스를 인덱싱하려면 먼저 Zendesk 및 AWS계정에서 이러한 변경을 수행합니다.

**Zendesk에서 다음 사항을 갖추었는지 확인하세요.**
+ Zendesk Suite(Professional/Enterprise) 관리자 계정을 만들었습니다.
+ Zendesk 호스트 URL을 기록해 두었습니다. 예: *https://\$1sub-domain\$1.zendesk.com/*
**참고**  
(온프레미스/서버)는에 포함된 엔드포인트 정보가 데이터 소스 구성 세부 정보에 지정된 엔드포인트 정보와 AWS Secrets Manager동일한지 Amazon Kendra확인합니다. 이렇게 하면 사용자가 작업을 수행할 권한이 없지만 구성된 보안 암호에 액세스하여 작업을 수행하는 데 Amazon Kendra를 프록시로 사용하는 보안 문제인 [혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)를 방지하는 데 도움이 됩니다. 나중에 엔드포인트 정보를 변경하는 경우 새 보안 암호를 생성하여 이 정보를 동기화해야 합니다.
+ 권한 부여 코드 부여 흐름을 사용하여 OAuth 2.0 인증을 설정합니다.

  1. 관리 센터에서 앱 및 통합 > API > Zendesk API로 이동합니다.

  1. OAuth 클라이언트 탭을 선택하고 'OAuth 클라이언트 추가'를 클릭합니다.

  1. OAuth 클라이언트 세부 정보 구성: 클라이언트 이름 및 설명을 설정하고, 클라이언트 유형을 '기밀'로 설정하고, 적절한 리디렉션 URL을 추가(예: 테스트용 https://localhost/callback)하고, 생성된 클라이언트 ID 및 클라이언트 보안 암호를 저장하고 안전하게 보관합니다.

  1.  OAuth 클라이언트에 필요한 '읽기' 범위(또는 쓰기 액세스 권한이 필요한 경우 '읽기 쓰기')가 있는지 확인합니다.

  1.  권한 부여 코드 부여 흐름을 사용하여 액세스 토큰을 생성합니다.
     + 브라우저에서 `https://{subdomain}.zendesk.com/oauth/authorizations/new?response_type=code&client_id={your_client_id}&redirect_uri={your_redirect_uri}&scope=read`로 이동합니다.
     +  메시지가 표시되면 애플리케이션을 인증하고 권한을 부여합니다.
     +  권한 부여 후 Zendesk는 코드 파라미터(예: https://localhost/callback?code=\$1authorization\$1code\$1)를 사용하여 redirect\$1uri로 리디렉션합니다. 권한 부여 코드를 복사합니다.
     +  Zendesk의 토큰 엔드포인트에 POST 요청을 전송하여 권한 부여 코드를 액세스 토큰으로 교환합니다.

       ```
       curl -X POST https://{subdomain}.zendesk.com/oauth/tokens \
         -H "Content-Type: application/x-www-form-urlencoded" \
         -d "grant_type=authorization_code&code={authorization_code}&client_id={your_client_id}&client_secret={your_client_secret}&redirect_uri={your_redirect_uri}&scope=read"
       ```
     +  Zendesk는 access\$1token이 포함된 JSON 객체로 응답합니다. 이 액세스 토큰을 추출하고 안전하게 저장합니다.

  1. 생성된 액세스 토큰을 안전하게 저장합니다. 이 액세스 토큰은 Kendra 통합에 사용됩니다.
+ 
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.
+ **선택 사항:** Amazon Kendra에 연결하도록 허용하는 SSL 인증서를 설치했습니다.
+ Zendesk 및 동일한 인덱스에 사용할 다른 여러 데이터 소스에서 각 문서가 고유한지 확인했습니다. 인덱스에 사용하려는 각 데이터 소스에는 데이터 소스 전체에서 동일한 문서가 포함되어서는 안 됩니다. 문서 ID는 인덱스 전체에 적용되며 인덱스별로 고유해야 합니다.

**에 다음이 있는지 AWS 계정확인합니다.**
+ [Amazon Kendra인덱스를 생성하고](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html) API를 사용하는 경우 인덱스 ID를 기록했습니다.
+ 데이터 소스에 대한 [IAM역할을 생성](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)했으며 API를 사용하는 경우 IAM역할의 ARN을 기록했습니다.
**참고**  
인증 유형과 자격 증명을 변경하는 경우 올바른 AWS Secrets Manager보안 암호 ID에 액세스하도록 IAM역할을 업데이트해야 합니다.
+ Zendesk 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장했고 API를 사용하는 경우 보안 암호의 ARN을 기록했습니다.
**참고**  
보안 인증 정보와 보안 암호를 정기적으로 새로 고치거나 교체하는 것이 좋습니다. 보안을 위해 필요한 액세스 수준만 제공하세요. 데이터 소스, 커넥터 버전 1.0 및 2.0(해당하는 경우) 간에 보안 인증 정보와 보안 암호를 재사용하지 **않는** 것이 좋습니다.

기존 IAM역할이나 보안 암호가 없는 경우 Zendesk 데이터 소스를 연결할 때 콘솔을 사용하여 새 IAM역할 및 Secrets Manager보안 암호를 생성할 수 있습니다Amazon Kendra. API를 사용하는 경우 기존 IAM역할 및 Secrets Manager보안 암호의 ARN과 인덱스 ID를 제공해야 합니다.

## 연결 지침
<a name="data-source-procedure-zendesk"></a>

Zendesk 데이터 소스Amazon Kendra에 연결하려면가 데이터에 액세스할 Amazon Kendra수 있도록 Zendesk 데이터 소스에 필요한 세부 정보를 제공해야 합니다. 에 대해 Zendesk를 아직 구성하지 않은 경우 섹션을 Amazon Kendra참조하세요[사전 조건](#prerequisites-zendesk).

------
#### [ Console ]

**ZendeskAmazon Kendra에 연결하려면** 

1. 에 로그인AWS Management Console하고 [Amazon Kendra콘솔](https://console.aws.amazon.com/kendra/)을 엽니다.

1. 왼쪽 탐색 창에서 **인덱스**를 선택한 다음 인덱스 목록에서 사용할 인덱스를 선택합니다.
**참고**  
**인덱스 설정**에서 **사용자 액세스 제어** 설정을 구성하거나 편집할 수 있습니다.

1. **시작하기** 페이지에서 **데이터 소스 추가**를 선택합니다.

1. **데이터 소스 추가** 페이지에서 **Zendesk 커넥터**를 선택한 다음 **커넥터 추가**를 선택합니다. 버전 2(해당하는 경우)를 사용하는 경우 'V2.0' 태그가 있는 **Zendesk 커넥터**를 선택합니다.

1. **데이터 소스 세부 정보 지정** 페이지에서 다음 정보를 입력합니다.

   1. **이름 및 설명**에서 **데이터 소스 이름**에 데이터 소스의 이름을 입력합니다. 하이픈은 포함할 수 있지만 공백은 포함할 수 없습니다.

   1. (선택 사항) **설명** - 데이터 소스에 대한 선택적 설명을 입력합니다.

   1. **기본 언어** - 인덱스에 사용할 문서를 필터링할 언어를 선택합니다. 달리 지정하지 않는 한, 언어는 영어로 기본 설정됩니다. 문서 메타데이터에 지정된 언어가 선택한 언어보다 우선합니다.

   1. **태그**에서 **새 태그 추가** - 리소스를 검색 및 필터링하거나 AWS비용을 추적하는 선택적 태그를 포함합니다.

   1. **다음**을 선택합니다.

1. **액세스 및 보안 정의** 페이지에서 다음 정보를 입력합니다.

   1. **Zendesk URL** - Zendesk URL을 입력합니다. 예: *https://\$1sub-domain\$1.zendesk.com/*

   1. **권한 부여** - 액세스 제어 목록(ACL)이 있고 이를 액세스 제어에 사용하려는 경우 문서에 대한 ACL 정보를 켜거나 끕니다. ACL은 사용자와 그룹이 액세스할 수 있는 문서를 지정합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 참조하세요.

   1. **AWS Secrets Manager보안** 암호 - 기존 보안 암호를 선택하거나 새 Secrets Manager보안 암호를 생성하여 Zendesk 인증 자격 증명을 저장합니다. 새 암호를 만들기로 선택하면 AWS Secrets Manager 보안 암호 창이 열립니다.

      1. 다음 구조의 새 보안 암호를 생성합니다.

         ```
         {
                  "hostUrl": "https://yoursubdomain.zendesk.com/",
                  "accessToken": "your_access_token"
         }
         ```
**참고**  
Kendra 통합의 경우 보안 암호 이름은 'AmazonKendra-Zendesk-'로 시작하고 선택한 식별자가 뒤에 와야 합니다(예: 'AmazonKendra-Zendesk-MyConnector').

      1. 보안 암호를 저장하고 추가합니다.

   1. **Virtual Private Cloud(VPC)** - VPC를 사용하기로 선택할 수 있습니다. 그렇다면 **서브넷**과 **VPC 보안 그룹**을 추가해야 합니다.

   1. **ID 크롤러** - Amazon Kendra ID 크롤러를 켤지를 지정합니다. ID 크롤러는 문서에 대한 액세스 제어 목록(ACL) 정보를 사용하여 문서에 대한 사용자 또는 그룹 액세스 권한을 기준으로 검색 결과를 필터링합니다. 문서에 대한 ACL이 있고 ACL을 사용하도록 선택한 경우 Amazon Kendra의 자격 증명 크롤러를 켜서 검색 결과의 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#context-filter-user-incl-datasources)을 구성하도록 선택할 수도 있습니다. 그렇지 않은 경우 ID 크롤러를 끄면 모든 문서를 공개적으로 검색할 수 있습니다. ID 크롤러가 꺼져 있는 상태에서 문서에 대한 액세스 제어를 사용하려는 경우, [PutPrincipalMapping](https://docs.aws.amazon.com/kendra/latest/APIReference/API_PutPrincipalMapping.html) API를 사용하여 사용자 컨텍스트 필터링을 위한 사용자 및 그룹 액세스 정보를 업로드할 수도 있습니다.

   1. **IAM역할** - 기존IAM 역할을 선택하거나 새 IAM역할을 생성하여 리포지토리 자격 증명 및 인덱스 콘텐츠에 액세스합니다.
**참고**  
IAM인덱스에 사용되는 역할은 데이터 소스에 사용할 수 없습니다. 기존 역할을 인덱스나 FAQ에 사용하는지 확실하지 않은 경우 **새 역할 생성**을 선택하여 오류를 방지하세요.

   1. **다음**을 선택합니다.

1. **동기화 설정 구성** 페이지에 다음 정보를 입력합니다.

   1. **콘텐츠 선택** - 티켓에서 크롤링하려는 콘텐츠 유형을 선택하여 센터 문서, 커뮤니티 주제 등을 지원합니다.

   1. **조직 이름** - 콘텐츠를 필터링하려면 Zendesk 조직 이름을 입력합니다.

   1. **동기화 시작 날짜** - 콘텐츠 크롤링을 시작하고 싶은 날짜를 입력합니다.

   1. **정규식 패턴** - 특정 페이지 및 자산을 포함하거나 제외하기 위한 정규 표현식 패턴을 추가합니다. 최대 100개의 패턴을 추가할 수 있습니다.

   1. **동기화 모드** - 데이터 소스 콘텐츠가 변경될 때 인덱스를 업데이트하는 방법을 선택합니다. 데이터 소스를 Amazon Kendra와 처음 동기화하면 기본적으로 모든 콘텐츠가 크롤링되고 인덱싱됩니다. 동기화 모드 옵션으로 전체 동기화를 선택하지 않은 경우에도 초기 동기화에 실패한 경우 데이터의 전체 동기화를 실행해야 합니다.
      + 전체 동기화: 데이터 소스가 인덱스와 동기화될 때마다 기존 콘텐츠를 교체하면서 모든 콘텐츠를 새로 인덱싱합니다.
      + 신규, 수정된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규 및 수정된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.
      + 신규, 수정, 삭제된 동기화: 데이터 소스가 인덱스와 동기화될 때마다 신규, 수정 및 삭제된 콘텐츠만 인덱싱합니다. Amazon Kendra는 데이터 소스의 메커니즘을 사용하여 콘텐츠 변경 사항을 추적하고 마지막 동기화 이후 변경된 콘텐츠를 인덱싱할 수 있습니다.

   1. **동기화 실행 일정**의 **빈도** - 데이터 소스 콘텐츠를 동기화하고 인덱스를 업데이트할 빈도를 선택합니다.

   1. **다음**을 선택합니다.

1. **필드 매핑 설정** 페이지에 다음 정보를 입력합니다.

   1. **기본 데이터 소스 필드** - 인덱스에 매핑하려는 Amazon Kendra생성된 기본 데이터 소스 필드 중에서 선택합니다.

   1.  **필드 추가** - 사용자 지정 데이터 소스 필드를 추가하려면 매핑할 인덱스 필드 이름과 필드 데이터 유형을 만듭니다.

   1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 입력한 정보가 정확한지 확인한 다음 **데이터 소스 추가**를 선택합니다. 이 페이지에서 정보를 편집하도록 선택할 수도 있습니다. 데이터 소스가 성공적으로 추가된 후 **데이터 소스** 페이지에 데이터 소스가 표시됩니다.

------
#### [ API ]

**ZendeskAmazon Kendra에 연결하려면**

[TemplateConfiguration](https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) API를 사용하여 [데이터 소스 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html)의 JSON을 지정해야 합니다. 다음 정보를 제공해야 합니다.
+ **데이터 소스** - [https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_TemplateConfiguration.html) JSON 스키마를 사용할 때 데이터 소스 유형을 `ZENDESK`로 지정합니다. 또한, [https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html) API를 직접 호출할 때 데이터 소스를 `TEMPLATE`으로 지정합니다.
+ **호스트 URL** - 연결 구성 또는 리포지토리 엔드포인트 세부 정보의 일부로 Zendesk 호스트 URL을 제공합니다. 예: * https://yoursubdomain.zendesk.com*.
+  **변경 로그** - 인덱스에 문서를 업데이트해야 하는지를 결정하기 위해 Amazon Kendra가 Zendesk 데이터 소스 변경 로그 메커니즘을 사용해야 하는지 여부입니다.
**참고**  
Amazon Kendra가 모든 문서를 스캔하지 않도록 하려면 변경 로그를 사용하세요. 변경 로그가 큰 경우 변경 로그를 처리하는 것보다 Zendesk 데이터 소스의 문서를 스캔하는 데 걸리는 시간이 Amazon Kendra짧을 수 있습니다. Zendesk 데이터 소스를 인덱스와 처음으로 동기화하는 경우 모든 문서가 스캔됩니다.
+ **보안 암호 Amazon 리소스 이름(ARN)** - Zendesk 계정의 인증 자격 증명이 포함된 Secrets Manager보안 암호의 Amazon 리소스 이름(ARN)을 제공합니다. 보안 암호는 다음 키가 있는 JSON 구조로 저장됩니다.

  ```
  {
      "hostUrl": "https://yoursubdomain.zendesk.com",
      "clientId": "client ID",
      "clientSecret": "Zendesk client secret",
      "userName": "Zendesk user name",
      "password": "Zendesk password"
  }
  ```
+ **IAM역할** -를 호출`CreateDataSource`하여 Secrets Manager보안 암호에 액세스하고 Zendesk 커넥터 및에 필요한 퍼블릭 APIs를 호출할 수 있는 권한을 IAM역할에 제공할 `RoleArn` 때를 지정합니다Amazon Kendra. 자세한 내용은 [Zendesk 데이터 소스에 대한 IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)을 참조하세요.

다음 선택적 기능도 추가할 수 있습니다.
+  **Virtual Private Cloud(VPC)** - `CreateDataSource`를 호출할 때 `VpcConfiguration`을 지정합니다. 자세한 내용은 [Amazon Kendra 를 사용하도록 구성 Amazon VPC](vpc-configuration.md) 단원을 참조하십시오.
+  **문서/콘텐츠 유형** - 크롤링할지를 지정합니다.
  + 지원 티켓, 티켓 설명 및/또는 티켓 설명 첨부 파일
  + 도움말 센터 기사, 기사 첨부 파일, 기사 설명
  + 가이드 커뮤니티 주제, 게시물 또는 게시물 댓글
+  **포함 및 제외 필터** - 특정 Slack 콘텐츠를 포함할지 또는 제외할지를 지정합니다. 봇 토큰을 Slack 보안 인증의 일부로 사용하는 경우 인덱싱하려는 채널에 봇 토큰을 추가해야 합니다. 봇 토큰을 사용하여 다이렉트 메시지와 그룹 메시지를 인덱싱할 수 없습니다.
**참고**  
대부분의 데이터 소스는 필터라고 하는 포함 또는 제외 패턴인 정규 표현식 패턴을 사용합니다. 포함 필터를 지정하는 경우 포함 필터와 일치하는 콘텐츠만 인덱싱됩니다. 포함 필터와 일치하지 않는 문서는 인덱싱되지 않습니다. 포함 및 제외 필터를 지정하는 경우 제외 필터와 일치하는 문서는 포함 필터와 일치하더라도 인덱싱되지 않습니다.
+  **사용자 컨텍스트 필터링 및 액세스 제어** - Amazon Kendra는 문서에 대한 액세스 제어 목록(ACL)이 있는 경우 문서의 ACL을 크롤링합니다. ACL 정보는 검색 결과를 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 필터링하는 데 사용됩니다. 자세한 내용은 [사용자 컨텍스트 필터링](https://docs.aws.amazon.com/kendra/latest/dg/user-context-filter.html#datasource-context-filter)을 참조하세요.
+  **필드 매핑** - Zendesk 데이터 소스 필드를 Amazon Kendra 인덱스 필드에 매핑하기로 선택합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요.
**참고**  
가 문서를 Amazon Kendra검색하려면 문서 본문 필드 또는 문서에 해당하는 문서 본문이 필요합니다. 데이터 소스의 문서 본문 필드 이름을 인덱스 필드 이름 `_document_body`에 매핑해야 합니다. 다른 모든 필드는 선택 사항입니다.

구성해야 할 기타 중요한 JSON 키 목록은 [Zendesk 템플릿 스키마](https://docs.aws.amazon.com/kendra/latest/dg/ds-schemas.html#ds-schema-zendesk)를 참조하세요.

------

## 자세히 알아보기
<a name="zendesk-learn-more"></a>

Zendesk 데이터 소스Amazon Kendra와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon Kendra지능형 검색을 통해 Zendesk에서 인사이트 발견](https://aws.amazon.com/blogs/machine-learning/discover-insights-from-zendesk-with-amazon-kendra-intelligent-search/)

## 참고
<a name="zendesk-notes"></a>
+ 액세스 제어 목록(ACL)이 활성화된 경우 Zendesk API 제한 사항으로 인해 '새 콘텐츠 또는 수정된 콘텐츠만 동기화' 옵션을 사용할 수 없습니다. 대신 '전체 동기화' 또는 '새 콘텐츠, 수정된 콘텐츠 또는 삭제된 콘텐츠 동기화' 모드를 사용하거나, 이 동기화 모드를 사용해야 하는 경우 ACL을 비활성화하는 것이 좋습니다.

# 데이터 소스 필드 매핑
<a name="field-mapping"></a>

Amazon Kendra 데이터 소스 커넥터는 데이터 소스의 문서 또는 콘텐츠 필드를 Amazon Kendra 인덱스의 필드에 매핑할 수 있습니다. 기본적으로 각 커넥터는 특정 데이터 소스 필드를 크롤링하도록 설계되었습니다. 기본 데이터 소스 필드와 해당 속성은 변경하거나 사용자 지정할 수 없습니다. Amazon Kendra 콘솔에서 편집할 수 없는 기본 필드와 기본 필드 속성은 회색으로 표시됩니다.

Amazon Kendra 또한 커넥터를 사용하면 데이터 소스의 사용자 지정 문서 또는 콘텐츠 필드를 인덱스의 사용자 지정 필드에 매핑할 수 있습니다. 예를 들어, 데이터 소스에 문서의 부서 정보가 포함된 “dept”라는 필드가 있는 경우, “Department”라는 인덱스 필드에 매핑할 수 있습니다. 이렇게 하면 문서를 쿼리할 때 필드를 사용할 수 있습니다.

와 같은 Amazon Kendra 예약 필드나 공통 필드를 매핑할 수도 있습니다`_created_at`. 데이터 소스에 "creation\$1date"라는 필드가 있는 경우 이를 라는 동등한 Amazon Kendra 예약 필드에 매핑할 수 있습니다`_created_at`. Amazon Kendra 예약 필드에 대한 자세한 내용은 [문서 속성 또는 필드를](https://docs.aws.amazon.com/kendra/latest/dg/hiw-document-attributes.html) 참조하세요.

대부분의 데이터 소스에 대해 필드를 매핑할 수 있습니다. 다음 데이터 소스에 대한 필드 매핑을 만들 수 있습니다.
+ Adobe Experience Manager
+ Alfresco
+ Aurora (MySQL)
+ Aurora (PostgreSQL)
+ Amazon FSx (Windows)
+ Amazon FSx (NetApp ONTAP)
+ Amazon RDS/Aurora
+ Amazon RDS (Microsoft SQL Server)
+ Amazon RDS (MySQL)
+ Amazon RDS (Oracle)
+ Amazon RDS (PostgreSQL)
+ Amazon Kendra 웹 크롤러
+ WorkDocs
+ Box
+ Confluence
+ Dropbox
+ Drupal
+ GitHub
+ Google Workspace Drives
+ Gmail
+ IBM DB2
+ Jira
+ Microsoft Exchange
+ Microsoft OneDrive
+ Microsoft SharePoint
+ Microsoft Teams
+ Microsoft SQL Server
+ Microsoft Yammer
+ MySQL
+ Oracle Database
+ PostgreSQL
+ Quip
+ Salesforce
+ ServiceNow
+ Slack
+ Zendesk

문서를 S3 버킷 또는 S3 데이터 소스에 저장하는 경우 JSON 메타데이터 파일을 사용하여 필드를 지정합니다. 자세한 내용은 [S3 데이터 소스 커넥터](https://docs.aws.amazon.com/kendra/latest/dg/data-source-s3.html)를 참고하세요.

데이터 소스 필드를 인덱스 필드에 매핑하는 과정은 다음과 같이 3단계입니다.

1. 인덱스를 생성합니다. 자세한 내용은 [인덱스 생성](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html)을 참조하세요.

1. 인덱스를 업데이트하여 필드를 추가합니다.

1. 데이터 소스를 생성하고 필드 매핑을 포함하여 예약된 필드와 사용자 지정 필드를 Amazon Kendra 인덱스 필드에 매핑합니다.

인덱스를 업데이트하여 사용자 지정 필드를 추가하려면 콘솔을 사용하여 데이터 소스 필드 매핑을 편집하고 사용자 지정 필드를 추가하거나 [UpdateIndex](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UpdateIndex.html) API를 사용합니다. 인덱스에 총 500개의 사용자 지정 필드를 추가할 수 있습니다.

데이터베이스 데이터 소스의 경우 데이터베이스 열의 이름이 예약된 필드의 이름과 일치하면 필드와 열이 자동으로 매핑됩니다.

[UpdateIndex](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UpdateIndex.html) API를 사용하면 `DocumentMetadataConfigurationUpdates`를 사용하여 예약 및 사용자 지정 필드를 추가할 수 있습니다.

다음 JSON 예제는 `DocumentMetadataConfigurationUpdates`를 사용하여 “Department”라는 필드를 인덱스에 추가합니다.

```
"DocumentmetadataConfigurationUpdates": [
   {
       "Name": "Department",
       "Type": "STRING_VALUE"
   }
]
```

필드를 생성할 때 해당 필드가 검색에 사용되는 방식을 설정할 수 있습니다. 사용자는 다음 중에서 선택할 수 있습니다.
+ **Displayable** - 쿼리 응답에서 필드를 반환할지 여부를 결정합니다. 기본값은 `true`입니다.
+ **Facetable** - 필드를 사용하여 패싯을 생성할 수 있음을 나타냅니다. 기본값은 `false`입니다.
+ **Searchable** - 필드가 검색에 사용되는지 여부를 결정합니다. 기본값은 문자열 필드의 경우 `true`이고 숫자 및 날짜 필드의 경우 `false`입니다.
+ **Sortable** - 필드를 사용하여 쿼리의 응답을 정렬할 수 있음을 나타냅니다. 날짜, 숫자 및 문자열 필드에 대해서만 설정할 수 있습니다. 문자열 목록 필드에는 설정할 수 없습니다.

다음 JSON 예제는 `DocumentMetadataConfigurationUpdates`를 사용하여 “Department”라는 필드를 인덱스에 추가하고 facetable로 표시합니다.

```
"DocumentMetadataConfigurationUpdates": [
   {
       "Name": "Department",
       "Type": "STRING_VALUE",
       "Search": {
           "Facetable": true
       }
   }
]
```

## Amazon Kendra 예약 또는 공통 문서 필드 사용
<a name="index-reserved-fields"></a>

[UpdateIndex API](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UpdateIndex.html)를 사용하면 `DocumentMetadataConfigurationUpdates`를 사용하고 Amazon Kendra 예약 인덱스 필드 이름을 지정하여 예약된 필드 또는 공통 필드를 생성하여 동등한 문서 속성/필드 이름에 매핑할 수 있습니다. 사용자 지정 필드도 생성할 수 있습니다. 데이터 소스 커넥터를 사용하는 경우 데이터 소스 문서 필드를 Amazon Kendra 인덱스 필드에 매핑하는 필드 매핑이 대부분 포함됩니다. 콘솔을 사용하는 경우 데이터 소스를 선택하고 편집 작업을 선택한 다음 데이터 소스 구성을 위한 필드 매핑 섹션 옆으로 이동하여 필드를 업데이트합니다.

필드를 displayable, facetable, searchable, sortable로 설정하도록 `Search` 객체를 구성할 수 있습니다. 필드의 순위 순서, 부스트 기간 또는 부스팅에 적용할 기간, 최신성, 중요도 값 및 특정 필드 값에 매핑된 중요도 값을 설정하도록 `Relevance` 객체를 구성할 수 있습니다. 콘솔을 사용하는 경우 탐색 메뉴에서 패싯 옵션을 선택하여 필드에 대한 검색 설정을 지정할 수 있습니다. 관련성 조정을 설정하려면 탐색 메뉴에서 인덱스를 검색하는 옵션을 선택하고 쿼리를 입력한 다음 사이드 패널 옵션을 사용하여 검색 관련성을 조정합니다. 필드를 생성한 후에는 필드 유형을 변경할 수 없습니다.

Amazon Kendra 에는 사용할 수 있는 다음과 같은 예약 또는 공통 문서 필드가 있습니다.
+ `_authors` - 문서 내용을 책임지는 한 명 이상의 작성자 목록.
+ `_category` - 문서를 특정 그룹에 배치하는 범주.
+ `_created_at` - 문서가 생성된 ISO 8601 형식의 날짜 및 시간. 예를 들어, 2012-03-25T12:30:10\$101:00은 중부 유럽 시간으로 2012년 3월 25일 오후 12시 30분 10초에 대한 ISO 8601 날짜/시간 형식입니다.
+ `_data_source_id` - 문서가 포함된 데이터 소스의 식별자.
+ `_document_body` - 작업 문서의 내용.
+ `_document_id` - 문서의 고유 식별자.
+ `_document_title` - 문서의 제목.
+ `_excerpt_page_number` - 문서 발췌문이 나타나는 PDF 파일의 페이지 번호. 2020년 9월 8일 이전에 인덱스를 만든 경우 이 속성을 사용하려면 먼저 문서를 다시 인덱싱해야 합니다.
+ `_faq_id` - 질문-답변 유형 문서(FAQ)인 경우 FAQ의 고유 식별자.
+ `_file_type` - 문서의 파일 형식(예: pdf 또는 doc).
+ `_last_updated_at` - 문서가 마지막으로 업데이트된 ISO 8601 형식의 날짜 및 시간. 예를 들어, 2012-03-25T12:30:10\$101:00은 중부 유럽 시간으로 2012년 3월 25일 오후 12시 30분 10초에 대한 ISO 8601 날짜/시간 형식입니다.
+ `_source_uri` - 문서가 제공된 URI. 예를 들면, 회사 웹 사이트에 있는 문서의 URI.
+ `_version` - 문서의 특정 버전을 나타내는 식별자.
+ `_view_count` - 문서가 조회된 횟수.
+ `_language_code`(문자열) - 문서에 적용되는 언어의 코드. 언어를 지정하지 않으면 영어가 기본값으로 사용됩니다. 코드를 포함하여 지원되는 언어에 대한 자세한 내용은 [영어 이외의 언어로 문서 추가](https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html)를 참조하세요.

사용자 지정 필드의 경우 예약된 필드 또는 공통 필드를 만들 때와 마찬가지로 `UpdateIndex` API와 `DocumentMetadataConfigurationUpdates`를 사용하여 이러한 필드를 만듭니다. 사용자 지정 필드에 적절한 데이터 유형을 설정해야 합니다. 콘솔을 사용하는 경우 데이터 소스를 선택하고 편집 작업을 선택한 다음 데이터 소스 구성을 위한 필드 매핑 섹션 옆으로 이동하여 필드를 업데이트합니다. 일부 데이터 소스는 새 필드 또는 사용자 지정 필드 추가를 지원하지 않습니다. 필드를 생성한 후에는 필드 유형을 변경할 수 없습니다.

사용자 지정 필드에 설정할 수 있는 유형은 다음과 같습니다.
+ Date
+ 숫자
+ 문자열
+ 문자열 목록

[BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html) API를 사용하여 인덱스에 문서를 추가한 경우, `Attributes`는 문서의 필드/속성을 나열하고 `DocumentAttribute` 객체를 사용하여 필드를 생성합니다.

 Amazon S3 데이터 소스에서 인덱싱된 문서의 경우 필드 정보가 포함된 [JSON 메타데이터 파일을](https://docs.aws.amazon.com/kendra/latest/dg/s3-metadata.html) 사용하여 필드를 생성합니다.

지원되는 데이터베이스를 데이터 소스로 사용하는 경우 [필드 매핑 옵션](https://docs.aws.amazon.com/kendra/latest/dg/data-source-database.html#data-source-procedure-database)을 사용하여 필드를 구성할 수 있습니다.

# 영어 이외의 언어로 문서 추가
<a name="in-adding-languages"></a>

문서를 여러 언어로 인덱싱할 수 있습니다. 언어를 지정하지 않으면 Amazon Kendra 는 기본적으로 문서를 영어로 인덱싱합니다. 문서 메타데이터에 있는 문서의 언어 코드를 필드로 포함합니다. 문서의 `_language_code` 필드에 대한 자세한 내용은 [필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html) 및 [사용자 지정 속성](https://docs.aws.amazon.com/kendra/latest/dg/custom-attributes.html)을 참조하세요.

[CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html)를 호출할 때 데이터 소스의 모든 문서에 대한 언어 코드를 지정할 수 있습니다. 메타데이터 필드에 지정된 언어 코드가 없는 문서의 경우, 데이터 소스 수준에서 모든 문서에 지정된 언어 코드를 사용하여 문서가 인덱싱됩니다. 콘솔에서는 데이터 소스 수준에서만 지원되는 언어로 문서를 인덱싱할 수 있습니다. **데이터 소스**로 이동한 다음 **데이터 소스 세부 정보 지정** 페이지로 이동하여 언어 드롭다운에서 **언어**를 선택합니다.

지원되는 언어로 문서를 검색하거나 쿼리할 수도 있습니다. 자세한 내용은 [언어 선택](https://docs.aws.amazon.com/kendra/latest/dg/searching-example.html#searching-index-languages)을 참조하세요.

다음 언어와 해당 코드가 지원됩니다(언어를 지정하지 않은 경우 영어(`en`)가 기본적으로 지원됨). 이 표에는 전체 의미 검색으로를 Amazon Kendra 지원하는 언어와 간단한 키워드 일치만 지원하는 언어가 포함되어 있습니다. 전체 시맨틱 검색을 지원하는 언어는 별표로 표시되며 다음 표에서는 굵은 텍스트로 표시됩니다. 영어(기본 언어)도 전체 시맨틱 검색이 지원됩니다.


| **언어 이름** | **언어 코드** | 
| --- | --- | 
| 아랍어 | ar | 
| 아르메니아어 | hy | 
| 바스크어 | eu | 
| 벵골어 | bn | 
| 불가리아어 | bg | 
| 카탈루냐어 | ca | 
| 중국어 — 간체 및 번체\$1 | zh | 
| 체코어 | cs | 
| 덴마크어 | da | 
| 네덜란드어 | nl | 
| 핀란드어 | fi | 
| 프랑스어 — 프랑스어(캐나다) 포함\$1 | fr | 
| 갈리시아어 | gl | 
| 독일어\$1 | de | 
| 그리스어 | el | 
| 힌디어 | hi | 
| 헝가리어 | hu | 
| 인도네시아어 | id | 
| 아일랜드어 | ga | 
| 이탈리아어 | it | 
| 일본어\$1 | ja | 
| 한국어\$1 | ko | 
| 라트비아어 | lv | 
| 리투아니아어 | lt | 
| 노르웨이어 | no | 
| 페르시아어 | fa | 
| 포르투갈어 | pt | 
| 포르투갈어(브라질)\$1 | pt-BR | 
| 루마니아어 | ro | 
| 러시아어 | ru | 
| 소라니 | ckb | 
| 스페인어 — 스페인어(멕시코) 포함\$1 | es | 
| 스웨덴어 | sv | 
| 터키어 | tr | 

*\$1해당 언어에 대한 시맨틱 검색이 지원됩니다.*

시맨틱 검색을 지원하는 언어의 경우 다음 기능이 지원됩니다.
+ 단순한 키워드 매칭을 넘어선 문서 관련성.
+ 단순한 키워드 매칭 이외의 FAQ.
+  Amazon Kendra의 읽기 이해를 기반으로 문서에서 답변을 추출합니다.
+ 검색 결과의 신뢰도 버킷(매우 높음, 높음, 중간, 낮음).

시맨틱 검색을 지원하지 않는 언어의 경우 문서 관련성 및 FAQ에 대한 단순 키워드 매칭이 지원됩니다.

[동의어](https://docs.aws.amazon.com/kendra/latest/dg/index-synonyms.html)(사용자 지정 동의어 포함), [점진적 학습 및 피드백](https://docs.aws.amazon.com/kendra/latest/dg/submitting-feedback.html), [쿼리 제안](https://docs.aws.amazon.com/kendra/latest/dg/query-suggestions.html)은 영어(기본 언어)에만 지원됩니다.

# Amazon Kendra 를 사용하도록 구성 Amazon VPC
<a name="vpc-configuration"></a>

Amazon Kendra 는 로 생성한 Virtual Private Cloud(VPC) Amazon Virtual Private Cloud 에 연결하여 프라이빗 클라우드에서 실행되는 데이터 소스에 저장된 콘텐츠를 인덱싱할 수 있습니다. 데이터 소스 커넥터를 만들 때 데이터 소스가 포함된 서브넷에 대한 보안 그룹 및 서브넷 식별자를 제공할 수 있습니다. 이 정보를 사용하여는 VPC 내의 데이터 소스와 안전하게 통신하는 데 사용하는 탄력적 네트워크 인터페이스를 Amazon Kendra 생성합니다.

를 사용하여 Amazon Kendra 데이터 소스 커넥터를 설정하려면 AWS Management Console 또는 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 작업을 사용할 Amazon VPC수 있습니다. 콘솔을 사용하는 경우 커넥터 구성 프로세스 중에 VPC를 연결합니다.

**참고**  
이 Amazon VPC 기능은 데이터 소스 커넥터를 설정할 Amazon Kendra 때 선택 사항입니다. 퍼블릭 인터넷에서 데이터 소스에 액세스할 수 있는 경우 Amazon VPC 기능을 활성화할 필요가 없습니다. 일부 Amazon Kendra 데이터 소스 커넥터는 Amazon VPC를 지원하지 않습니다.

데이터 소스가에서 실행되지 Amazon VPC 않고 퍼블릭 인터넷에서 액세스할 수 없는 경우 먼저 가상 프라이빗 네트워크(VPN)를 사용하여 데이터 소스를 VPC에 연결합니다. 그런 다음 Amazon VPC 및의 조합을 Amazon Kendra 사용하여 데이터 소스를에 연결할 수 있습니다 AWS Virtual Private Network. VPN 설정에 대한 자세한 내용을 알아보려면 [Site-to-Site VPN 설명서](https://docs.aws.amazon.com/vpn/)를 참조하세요.

**Topics**
+ [Amazon Kendra 커넥터에 대한 Amazon VPC 지원 구성](connector-vpc-steps.md)
+ [연결할 Amazon Kendra 데이터 소스 설정 Amazon VPC](connector-vpc-setup.md)
+ [VPC의 데이터베이스에 연결](vpc-example.md)
+ [VPC 연결 문제 해결](vpc-connector-troubleshoot.md)

# Amazon Kendra 커넥터에 대한 Amazon VPC 지원 구성
<a name="connector-vpc-steps"></a>

 Amazon Kendra 커넥터 Amazon VPC 와 함께 사용하도록를 구성하려면 다음 단계를 수행합니다.

**Topics**
+ [1단계. 에 대한 Amazon VPC 서브넷 생성 Amazon Kendra](#connector-vpc-prerequisites-1)
+ [2단계. 에 대한 Amazon VPC 보안 그룹 생성 Amazon Kendra](#connector-vpc-prerequisites-2)
+ [3단계. 외부 데이터 소스 및 구성 Amazon VPC](#connector-vpc-prerequisites-3)

## 1단계. 에 대한 Amazon VPC 서브넷 생성 Amazon Kendra
<a name="connector-vpc-prerequisites-1"></a>

가 데이터 소스에 액세스하는 데 사용할 수 있는 Amazon Kendra 기존 Amazon VPC 서브넷을 생성하거나 선택합니다. 준비된 서브넷은 다음 AWS 리전 및 가용 영역 중 하나에 있어야 합니다.
+ 미국 서부(오레곤)/us-west-2—usw2-az1, usw2-az1, usw2-az2, usw2-az3
+ 미국 동부(버니지아)/us-east-1—use1-az1, use1-az2, use1-az4
+ 미국 동부(오하이오)/us-east-2—use2-az1, use2-az2, use2-az2, use2-az3
+ 아시아 태평양(도쿄)/ap-northeast-1—apne1-az1, apne1-az2, apne1-az4
+ 아시아 태평양(뭄바이)/ap-south-1—aps1-az1, aps1-az2, aps1-az3
+ 아시아 태평양(싱가포르)/ap-southeast1-az1, apse1-az1, apse1-az2, apse1-az3
+ 아시아 태평양(시드니)/ap-southeast-2—apse2-az1, apse2-az2, apse2-az3
+ 캐나다(중부)/ca-central-1—cac1-az1, cac1-az2, cac1-az4
+ 유럽(아일랜드)/eu-west-1—euw1-az1, uew1-az2, euw1-az3
+ 유럽(런던)/eu-west-2—euw2-az1, euw2-az2, euw2-az3

 Amazon Kendra 커넥터에 제공한 서브넷에서 데이터 소스에 액세스할 수 있어야 합니다.

 Amazon VPC 서브넷을 구성하는 방법에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 서브넷을 참조[하세요 Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html).

가 둘 이상의 서브넷 간에 연결을 라우팅 Amazon Kendra 해야 하는 경우 여러 서브넷을 준비할 수 있습니다. 데이터 소스가 포함된 서브넷에 IP 주소가 없는 경우를 예를 들어보겠습니다. 이 경우 IP 주소가 충분하고 첫 번째 서브넷 Amazon Kendra 에 연결된 추가 서브넷을에 제공할 수 있습니다. 여러 서브넷을 나열하는 경우 서브넷이 서로 통신할 수 있어야 합니다.

## 2단계. 에 대한 Amazon VPC 보안 그룹 생성 Amazon Kendra
<a name="connector-vpc-prerequisites-2"></a>

 Amazon Kendra 데이터 소스 커넥터를에 연결하려면 VPC에서 하나 이상의 보안 그룹을 준비하여에 할당해야 Amazon VPC합니다 Amazon Kendra. 보안 그룹은 Amazon Kendra에서 만든 탄력적 네트워크 인터페이스에 연결됩니다. 이 네트워크 인터페이스는 Amazon VPC 서브넷에 액세스할 Amazon Kendra 때 송수신되는 인바운드 및 아웃바운드 트래픽을 제어합니다.

보안 그룹의 아웃바운드 규칙을 통해 Amazon Kendra 데이터 소스 커넥터의 트래픽이 동기화할 서브넷과 데이터 소스에 액세스할 수 있는지 확인합니다. 예를 들어, MySQL 커넥터를 사용하여 MySQL 데이터베이스에서 동기화할 수 있습니다. 기본 포트를 사용하는 경우 보안 그룹은가 데이터베이스를 실행하는 호스트의 포트 3306에 액세스할 수 Amazon Kendra 있도록 허용해야 합니다.

에서 사용할 다음 값으로 기본 보안 그룹을 구성하는 Amazon Kendra 것이 좋습니다.
+ **인바운드 규칙** - 이 규칙을 비워 두기로 선택하면 모든 인바운드 트래픽이 차단됩니다.
+ **아웃바운드 규칙** -가 데이터 소스에서 동기화 요청을 시작할 Amazon Kendra 수 있도록 모든 아웃바운드 트래픽을 허용하는 규칙을 하나 추가합니다.
  + **IP 버전** – IPv4
  + **유형** - 모든 트래픽
  + **프로토콜** - 모든 트래픽
  + **포트 범위** - 모두
  + **대상 주소** - 0.0.0.0/0

 Amazon VPC 보안 그룹을 구성하는 방법에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [보안 그룹 규칙을](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) 참조하세요.

## 3단계. 외부 데이터 소스 및 구성 Amazon VPC
<a name="connector-vpc-prerequisites-3"></a>

가 Amazon Kendra 액세스할 수 있도록 외부 데이터 소스에 올바른 권한 구성 및 네트워크 설정이 있는지 확인합니다. 각 커넥터 페이지의 사전 조건 섹션에서 데이터 소스를 구성하는 방법에 대한 자세한 지침을 확인할 수 있습니다.

또한 Amazon VPC 설정을 확인하고 할당할 서브넷에서 외부 데이터 소스에 연결할 수 있는지 확인합니다 Amazon Kendra. 이렇게 하려면 동일한 보안 그룹을 사용하여 동일한 서브넷에 Amazon EC2 인스턴스를 생성하고이 Amazon EC2 인스턴스에서 데이터 소스에 대한 액세스를 테스트하는 것이 좋습니다. 자세한 내용은 [Amazon VPC 연결 문제 해결을 참조하세요](https://docs.aws.amazon.com/kendra/latest/dg/vpc-connector-troubleshoot.html).

# 연결할 Amazon Kendra 데이터 소스 설정 Amazon VPC
<a name="connector-vpc-setup"></a>

에 새 데이터 소스를 추가할 때 선택한 데이터 소스 커넥터가이 Amazon VPC 기능을 지원하는 경우이 기능을 사용할 Amazon Kendra수 있습니다.

 AWS Management Console 또는 Amazon Kendra API를 사용하여 활성화된를 Amazon VPC 사용하여 새 Amazon Kendra 데이터 소스를 설정할 수 있습니다. 특히 [https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API 작업을 사용한 후 `VpcConfiguration` 파라미터를 사용하여 다음 정보를 제공합니다.
+ `SubnetIds` - Amazon VPC 서브넷의 식별자 목록
+ `SecurityGroupIds` - Amazon VPC 보안 그룹의 식별자 목록

콘솔을 사용하는 경우 커넥터 구성 중에 필요한 Amazon VPC 정보를 제공합니다. 콘솔을 사용하여 커넥터에 Amazon VPC 기능을 활성화하려면 먼저 Amazon VPC를 선택합니다. 그런 다음 Amazon VPC 서브넷의 식별자와 Amazon VPC 보안 그룹의 식별자를 제공합니다. [Amazon VPC 구성](https://docs.aws.amazon.com/kendra/latest/dg/connector-vpc-steps.html)에서 만든 Amazon VPC 서브넷과 Amazon VPC 보안 그룹을 선택하거나 기존 항목을 사용할 수 있습니다.

**Topics**
+ [Amazon VPC 식별자 보기](#viewing-vpc-identifiers)
+ [데이터 소스 IAM 역할 확인](#vpc-iam-roles)

## Amazon VPC 식별자 보기
<a name="viewing-vpc-identifiers"></a>

서브넷 및 보안 그룹의 식별자는 Amazon VPC 콘솔에서 구성됩니다. 식별자를 보려면 다음 절차를 따르세요.

**서브넷 식별자를 보려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **서브넷**을 선택합니다.

1. **서브넷** 목록에서 데이터베이스 서버가 포함된 서브넷을 선택합니다.

1. **세부 정보** 탭에서 **서브넷 ID** 필드에 있는 식별자를 기록해 둡니다.

**보안 그룹 식별자를 보려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **보안 그룹**을 선택합니다.

1. 보안 그룹 목록에서 식별자를 사용하려는 그룹을 선택합니다.

1. **세부 정보** 탭에서 **보안 그룹 ID** 필드에 있는 식별자를 기록해 둡니다.

## 데이터 소스 IAM 역할 확인
<a name="vpc-iam-roles"></a>

데이터 소스 커넥터 AWS Identity and Access Management IAM) 역할에에 액세스할 수 있는 권한이 포함되어 있는지 확인합니다 Amazon VPC.

콘솔을 사용하여 IAM 역할에 대한 새 역할을 생성하는 경우는 사용자를 대신하여 IAM 역할에 올바른 권한을 Amazon Kendra 자동으로 추가합니다. API를 사용하거나 기존 IAM 역할을 사용하는 경우 역할에 액세스 권한이 포함되어 있는지 확인합니다 Amazon VPC. 올바른 권한이 있는지 확인하려면 [VPC용IAM 역할](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-vpc)을 참조하세요.

다른 Amazon VPC 서브넷을 사용하도록 기존 데이터 소스를 수정할 수 있습니다. 그러나 데이터 소스의 IAM 역할을 확인하고 필요한 경우 Amazon Kendra 데이터 소스 커넥터가 제대로 작동하기 위한 변경 사항을 반영하도록 수정합니다.

# VPC의 데이터베이스에 연결
<a name="vpc-example"></a>

다음 예제에서는 가상 프라이빗 클라우드(VPC)에서 실행 중인 MySQL 데이터베이스를 연결하는 방법을 보여줍니다. 이 예제에서는 기본 VPC로 시작하고 MySQL 데이터베이스를 만들어야 한다고 가정합니다. VPC가 이미 있는 경우 다음과 같이 구성되어 있는지 확인하세요. MySQL 데이터베이스가 있는 경우 새로 생성하는 대신 해당 데이터베이스를 사용할 수 있습니다.

**Topics**
+ [1단계: VPC 구성](#vpc-example-1)
+ [2단계: 보안 그룹 생성 및 구성](#vpc-example-2)
+ [3단계: 데이터베이스 생성](#vpc-example-3)
+ [4단계: 데이터 소스 커넥터 생성](#vpc-example-4)

## 1단계: VPC 구성
<a name="vpc-example-1"></a>

 Amazon Kendra 가 서브넷에서 실행 중인 MySQL 데이터베이스에 액세스할 수 있는 프라이빗 서브넷과 보안 그룹을 갖도록 VPC를 구성합니다. VPC 구성에 제공되는 서브넷은 미국 서부(오리건) 리전, 미국 동부(버지니아 북부) 리전 또는 유럽(아일랜드) 리전에 있어야 합니다.

**를 사용하여 VPC를 구성하려면 Amazon VPC**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **라우팅 테이블**을 선택한 다음 **라우팅 테이블 생성**을 선택합니다.

1. **이름** 필드에 **Private subnet route table**을 입력합니다. **VPC** 드롭다운에서 VPC를 선택한 다음 **라우팅 테이블 생성**을 선택합니다. **닫기**를 선택하여 라우팅 테이블 목록으로 돌아갑니다.

1. 탐색 창에서 **NAT 게이트웨이**와 **NAT 게이트웨이 생성**을 차례로 선택합니다.

1. **서브넷** 드롭다운에서 퍼블릭 서브넷인 서브넷을 선택합니다. 서브넷 ID를 기록해 둡니다.

1. 탄력적 IP 주소가 없는 경우 **새 EIP 생성**을 선택하고 **NAT 게이트웨이 생성**을 선택한 다음 **닫기**를 선택합니다.

1. 탐색 창에서 **라우팅 테이블**을 선택합니다.

1. 라우팅 테이블 목록에서 3단계에서 만든 **프라이빗 서브넷 라우팅 테이블**을 선택합니다. **작업**에서 **라우팅 편집**을 선택합니다.

1. **라우팅 추가**를 선택합니다. 인터넷으로 나가는 모든 트래픽을 허용하려면 대상에 **0.0.0.0/0**을 입력합니다. **대상**에서 **NAT 게이트웨이**를 선택한 다음, 4단계에 생성한 게이트웨이를 선택합니다. **변경 사항 저장**과 **닫기**를 차례로 선택합니다.

1. **작업** 메뉴에서 **서브넷 연결 편집**을 선택합니다.

1. 비공개로 설정하려는 서브넷을 선택합니다. 앞서 언급한 NAT 게이트웨이가 있는 서브넷은 선택하지 마세요. 선택했으면 **연결 저장**을 선택합니다.

## 2단계: 보안 그룹 생성 및 구성
<a name="vpc-example-2"></a>

다음으로, 데이터베이스를 위한 보안 그룹을 구성합니다.

**보안 그룹을 생성 및 구성하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) Amazon VPC 콘솔을 엽니다.

1. VPC에 대한 설명에서 IPv4 CIDR을 기록해 두세요.

1. 탐색 창에서 **보안 그룹**과 **보안 그룹 생성**을 차례로 선택합니다.

1. **보안 그룹 이름**에 **DataSourceInboundSecurityGroup**를 입력합니다. 설명을 입력한 다음 목록에서 VPC를 선택합니다. **보안 그룹 생성**과 **닫기**를 차례로 선택합니다.

1. **인바운드 규칙** 탭을 선택합니다.

1. **인바운드 규칙 편집**과 **규칙 추가**를 차례로 선택합니다.

1. 데이터베이스의 경우 **포트 범위**의 포트 번호를 입력합니다. 예를 들어, MySQL의 경우 **3306**, HTTPS의 경우 **443**입니다. **소스**에 VPC의 Classless Inter-Domain Routing(CIDR)을 입력합니다. **규칙 저장**을 선택한 다음 **닫기**를 선택합니다.

보안 그룹은 VPC 내의 모든 사용자가 데이터베이스에 연결할 수 있도록 허용하고 인터넷으로의 아웃바운드 연결을 허용합니다.

## 3단계: 데이터베이스 생성
<a name="vpc-example-3"></a>

문서를 보관할 데이터베이스를 만들거나 기존 데이터베이스를 사용할 수 있습니다.

MySQL 데이터베이스를 만드는 방법에 대한 지침은 [https://docs.aws.amazon.com/kendra/latest/dg/data-source-mysql.html](https://docs.aws.amazon.com/kendra/latest/dg/data-source-mysql.html) 섹션을 참조하세요.

## 4단계: 데이터 소스 커넥터 생성
<a name="vpc-example-4"></a>

VPC를 구성하고 데이터베이스를 만든 후 데이터베이스의 데이터 소스 커넥터를 만들 수 있습니다. 가 Amazon Kendra 지원하는 데이터베이스 커넥터에 대한 자세한 내용은 [지원되는 커넥터를 참조하세요](https://docs.aws.amazon.com/kendra/latest/dg/data-sources.html).

데이터베이스를 위해 VPC를 구성하고, VPC에 생성한 프라이빗 서브넷과 보안 그룹을 구성해야 합니다.

# VPC 연결 문제 해결
<a name="vpc-connector-troubleshoot"></a>

Virtual Private Cloud(VPC) 연결에 문제가 발생하면 IAM 권한, 보안 그룹 설정 및 서브넷의 라우팅 테이블이 올바르게 구성되었는지 확인합니다.

데이터 소스 커넥터 동기화가 실패한 잠재적 원인 중 하나는 할당한 서브넷에서 데이터 소스에 연결할 수 없기 때문입니다 Amazon Kendra. 이 문제를 해결하려면 동일한 Amazon VPC 설정으로 Amazon EC2 인스턴스를 생성하는 것이 좋습니다. 그런 다음 REST API 호출 또는 기타 방법(데이터 소스의 특정 유형에 따라 다름)을 사용하여이 Amazon EC2 인스턴스에서 데이터 소스에 액세스해 보세요.

생성한 Amazon EC2 인스턴스에서 데이터 소스에 성공적으로 액세스하면이 서브넷에서 데이터 소스에 연결할 수 있습니다. 따라서 동기화 문제는에서 데이터 소스에 액세스할 수 없는 것과 관련이 없습니다 Amazon VPC.

VPC 구성에서 Amazon EC2 인스턴스에 액세스하고 생성한 Amazon EC2 인스턴스로 인스턴스를 검증할 수 없는 경우 추가 문제를 해결해야 합니다. 예를 들어 연결 문제에 대한 오류로 인해 동기화에 실패한 Amazon S3 커넥터가 있는 경우 Amazon S3 커넥터에 할당한 것과 동일한 Amazon VPC 구성으로 Amazon EC2 인스턴스를 설정할 수 있습니다. 그런 다음 이 Amazon EC2 인스턴스를 사용하여 Amazon VPC 가 올바르게 설정되었는지 테스트합니다.

다음은 Amazon S3 데이터 소스와의 Amazon VPC 연결 문제를 해결하기 위해 Amazon EC2 인스턴스를 설정하는 예제입니다.

**Topics**
+ [1단계: Amazon EC2 인스턴스 시작](#vpc-connector-troubleshoot-1)
+ [2단계: Amazon EC2 인스턴스에 연결](#vpc-connector-troubleshoot-2)
+ [3단계: Amazon S3 액세스 테스트](#vpc-connector-troubleshoot-3)

## 1단계: Amazon EC2 인스턴스 시작
<a name="vpc-connector-troubleshoot-1"></a>

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) Amazon EC2 콘솔을 엽니다.

1. **인스턴스 시작**을 선택합니다.

1. **네트워크 설정**과 **편집**을 차례로 선택하고 다음과 같이 수행합니다.

   1. 할당한 것과 동일한 VPC 및 **서브넷**을 선택합니다 Amazon Kendra.

   1. **방화벽(보안 그룹)**에서 **기존 보안 그룹 선택**을 선택합니다. 그런 다음 할당한 보안 그룹을 선택합니다 Amazon Kendra.
**참고**  
보안 그룹은 Amazon S3에 대한 아웃바운드 트래픽을 허용해야 합니다.

   1. **퍼블릭 IP 자동 할당**을 **비활성화**로 설정합니다.

   1. **고급 세부 정보**에서 다음을 수행합니다.
      + **IAM 인스턴스 프로파일**에서 **새 IAM 프로파일 생성을** 선택하여 IAM 인스턴스 프로파일을 생성하고 인스턴스에 연결합니다. 프로파일에 Amazon S3에 액세스할 수 있는 권한이 있는지 확인합니다. 자세한 내용은의 내 [Amazon EC2 인스턴스에 Amazon S3 버킷에 대한 액세스 권한을 부여하려면 어떻게 해야 합니까?를 참조하세요](https://repost.aws/knowledge-center/ec2-instance-access-s3-bucket) AWS re:Post.
      + 다른 설정은 모두 기본값을 유지합니다.

   1.  Amazon EC2 인스턴스를 검토하고 시작합니다.

## 2단계: Amazon EC2 인스턴스에 연결
<a name="vpc-connector-troubleshoot-2"></a>

 Amazon EC2 인스턴스가 실행되면 인스턴스 세부 정보 페이지로 이동하여 인스턴스에 연결합니다. 이렇게 하려면 *Linux 인스턴스용Amazon EC2 사용 설명서*에서 [EC2 Instance Connect 엔드포인트를 사용하여 퍼블릭 IPv4 주소 없이 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-with-ec2-instance-connect-endpoint.html)의 단계를 사용합니다.

## 3단계: Amazon S3 액세스 테스트
<a name="vpc-connector-troubleshoot-3"></a>

 Amazon EC2 인스턴스 터미널에 연결한 후 AWS CLI 명령을 실행하여이 프라이빗 서브넷에서 Amazon S3 버킷으로의 연결을 테스트합니다.

 Amazon S3 액세스를 테스트하려면에 다음 AWS CLI 명령을 입력합니다. AWS CLI`aws s3 ls` 

 AWS CLI 명령이 실행된 후 다음을 검토합니다.
+ 필요한 IAM 권한을 올바르게 설정했고 Amazon S3 설정이 올바른 경우 Amazon S3 버킷 목록이 표시됩니다.
+ 와 같은 권한 오류가 표시되면 yourVPC 구성이 정확`Access Denied`할 수 있지만 IAM 권한 또는 Amazon S3 버킷 정책에 문제가 있는 것일 수 있습니다.

명령이 시간 초과되면 VPC 설정이 잘못되고 Amazon EC2 인스턴스가 서브넷에서 Amazon S3에 액세스할 수 없기 때문에 연결이 시간 초과될 수 있습니다. VPC를 재구성하고 다시 시도하세요.