사용자 컨텍스트 필터링 - Amazon Kendra

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

사용자 컨텍스트 필터링

문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 사용자의 검색 결과를 필터링할 수 있습니다. 사용자 토큰, 사용자 ID 또는 사용자 속성을 사용하여 문서를 필터링할 수 있습니다. Amazon Kendra 는 사용자를 그룹에 매핑할 수도 있습니다. AWS IAM Identity Center 를 아이덴티티 스토어/소스로 사용하도록 선택할 수 있습니다.

사용자 컨텍스트 필터링은 문서에 대한 액세스를 제어할 수 있는 이점이 있는 일종의 개인화된 검색입니다. 예를 들어 회사 포털에서 정보를 검색하는 모든 팀이 일급 기밀 회사 문서에 액세스해야 하는 것은 아니며, 이러한 문서가 모든 사용자에게 관련된 것도 아닙니다. 일급 기밀 문서에 대한 액세스 권한을 받은 특정 사용자 또는 팀 그룹만 검색 결과에서 이러한 문서를 볼 수 있습니다.

문서가 인덱싱되면 대부분의 문서에 Amazon Kendra해당하는 ACL (액세스 제어 목록) 이 수집됩니다. ACL은 문서에 대한 액세스를 허용하거나 거부할 사용자 이름 및 그룹 이름을 지정합니다. ACL이 없는 문서는 공개 문서입니다.

Amazon Kendra 대부분의 데이터 원본에 대해 각 문서와 관련된 사용자 또는 그룹 정보를 추출할 수 있습니다. 예를 들어 Quip의 문서에는 문서에 대한 액세스 권한이 부여된 일부 사용자의 '공유' 목록이 포함될 수 있습니다. S3 버킷을 데이터 소스로 사용하는 경우 ACL용 JSON 파일을 제공하고 이 파일에 대한 S3 경로를 데이터 소스 구성의 일부로 포함해야 합니다. 문서를 색인에 직접 추가하는 경우 Principal 개체의 ACL을 BatchPutDocumentAPI의 문서 개체의 일부로 지정합니다.

CreateAccessControlConfigurationAPI를 사용하면 모든 문서를 다시 인덱싱하지 않고도 기존 문서 수준 액세스 제어를 재구성할 수 있습니다. 예를 들어 인덱스에는 특정 직원이나 사용자만 액세스할 수 있는 회사 일급 기밀 문서가 포함되어 있습니다. 이러한 사용자 중 한 명이 퇴사하거나, 일급 기밀 문서에 액세스하지 못하도록 차단해야 하는 팀으로 이동합니다. 이전에 문서를 인덱싱했을 때 해당 사용자가 액세스할 수 있었기 때문에 사용자는 여전히 일급 기밀 문서에 액세스할 수 있습니다. 이 경우 해당 사용자의 액세스를 거부하는 특정 액세스 제어 구성을 만들 수 있습니다. 나중에 사용자가 회사로 돌아와 '일급 기밀' 팀에 다시 합류할 경우 액세스를 허용하도록 액세스 제어 구성을 업데이트하면 됩니다. 상황 변화에 따라 문서에 대한 액세스 제어를 다시 구성할 수 있습니다.

액세스 제어 구성을 특정 문서에 적용하려면 Document 객체에 AccessControlConfigurationId 포함된 BatchPutDocument항목을 사용하여 API를 호출합니다. S3 버킷을 데이터 소스로 사용하는 경우 S3 버킷을 .metadata.jsonAccessControlConfigurationId 업데이트하고 데이터 소스를 동기화합니다. Amazon Kendra 현재는 API를 사용하여 인덱싱된 S3 데이터 소스 및 문서에 대한 액세스 제어 구성만 지원합니다. BatchPutDocument

사용자 토큰별 필터링

인덱스를 쿼리할 때 사용자 토큰을 사용하여 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 검색 결과를 필터링할 수 있습니다. 쿼리를 실행하면 토큰을 Amazon Kendra 추출 및 검증하고, 사용자 및 그룹 정보를 가져와 확인하고, 쿼리를 실행합니다. 공개 문서를 포함하여 사용자가 액세스할 수 있는 모든 문서가 반환됩니다. 자세한 내용은 토큰 기반 사용자 액세스 제어를 참조하세요.

UserContext개체에 사용자 토큰을 제공하고 이를 Query API에 전달합니다.

아래에서는 사용자 토큰을 포함하는 방법을 보여줍니다.

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

사용자를 그룹에 매핑할 수 있습니다. 사용자-컨텍스트 필터링을 사용하는 경우 쿼리를 실행할 때 사용자가 속한 모든 그룹을 포함할 필요는 없습니다. PutPrincipalMappingAPI를 사용하여 사용자를 그룹에 매핑할 수 있습니다. PutPrincipalMapping API를 사용하지 않으려면 쿼리를 실행할 때 사용자 이름과 사용자가 속한 모든 그룹을 제공해야 합니다. 객체를 사용하여 IAM Identity Center ID 소스에 있는 그룹 및 사용자의 액세스 수준을 가져올 수도 있습니다. UserGroupResolutionConfiguration

사용자 ID 및 그룹별 필터링

인덱스를 쿼리할 때 사용자 ID와 그룹을 사용하여 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 검색 결과를 필터링할 수 있습니다. 쿼리를 실행하면 사용자 및 그룹 정보를 Amazon Kendra 확인하고 쿼리를 실행합니다. 공개 문서를 포함하여 사용자가 액세스할 수 있는 쿼리와 관련된 모든 문서가 반환됩니다.

사용자 및 그룹이 액세스할 수 있는 데이터 소스별로 검색 결과를 필터링할 수도 있습니다. 그룹이 여러 데이터 소스에 연결되어 있지만 그룹이 특정 데이터 소스의 문서에만 액세스하도록 하려는 경우 데이터 소스를 지정하는 것이 유용합니다. 예를 들어 “연구”, “엔지니어링”, “영업 및 마케팅” 그룹은 모두 데이터 소스 Confluence 및 Salesforce에 저장된 회사 문서에 연결되어 있습니다. 하지만 “영업 및 마케팅” 팀은 Salesforce에 저장된 고객 관련 문서에만 액세스하면 됩니다. 따라서 영업 및 마케팅 사용자가 고객 관련 문서를 검색하면 검색 결과에서 Salesforce의 문서를 볼 수 있습니다. 영업 및 마케팅 부서에 속하지 않는 사용자는 검색 결과에서 Salesforce 문서를 볼 수 없습니다.

UserContext개체에 사용자, 그룹 및 데이터 소스 정보를 제공하고 이 정보를 Query API에 전달합니다. 사용자 ID, 그룹 및 데이터 소스 목록은 사용자, 그룹 및 데이터 소스를 식별하기 위해 보안 주체 객체에 지정한 이름과 일치해야 합니다. Principal 객체를 사용하면 문서에 액세스하기 위한 허용 목록 또는 거부 목록에 사용자, 그룹 또는 데이터 소스를 추가할 수 있습니다.

다음 중 하나를 제공해야 합니다.

  • 사용자 및 그룹 정보, (선택 사항) 데이터 소스 정보.

  • PutPrincipalMappingAPI를 사용하여 사용자를 그룹 및 데이터 소스에 매핑하는 경우 사용자 정보만 제공합니다. 객체를 사용하여 IAM Identity Center 자격 증명 소스에 있는 그룹 및 사용자의 액세스 수준을 가져올 수도 있습니다. UserGroupResolutionConfiguration

이 정보가 쿼리에 포함되지 않은 경우 모든 문서를 Amazon Kendra 반환합니다. 이 정보를 제공하는 경우 사용자 ID, 그룹 및 데이터 소스가 일치하는 문서만 반환됩니다.

다음은 사용자 ID, 그룹 및 데이터 소스를 포함하는 방법을 보여줍니다.

response = kendra.query( QueryText = query, IndexId = index, UserId = { UserId = "user1" }, Groups = { Groups = ["Sales and Marketing"] }, DataSourceGroups = { DataSourceGroups = [{"DataSourceId" : "SalesforceCustomerDocsGroup", "GroupId": "Sales and Marketing"}] })

사용 속성으로 필터링

인덱스를 쿼리할 때 내장 속성인 _user_id_group_id를 사용하여 문서에 대한 사용자 또는 그룹의 액세스 권한을 기준으로 검색 결과를 필터링할 수 있습니다. 최대 100개의 그룹 식별자를 설정할 수 있습니다. 쿼리를 실행하면 사용자 및 그룹 정보를 Amazon Kendra 확인하고 쿼리를 실행합니다. 공개 문서를 포함하여 사용자가 액세스할 수 있는 쿼리와 관련된 모든 문서가 반환됩니다.

AttributeFilter개체에 사용자 및 그룹 속성을 제공하고 이를 Query API에 전달합니다.

다음 예제는 사용자 ID와 사용자가 속한 “HR” 및 “IT” 그룹을 기반으로 쿼리 응답을 필터링하는 요청을 보여줍니다. 쿼리는 허용 목록에 사용자 또는 “HR” 또는 “IT” 그룹이 있는 모든 문서를 반환합니다. 사용자 또는 그룹 중 하나가 문서에 대한 거부 목록에 있는 경우 문서는 반환되지 않습니다.

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

또한 Principal 객체에서 그룹이 액세스할 수 있는 데이터 소스를 지정할 수 있습니다.

참고

사용자 컨텍스트 필터링은 콘텐츠에 대한 인증 또는 권한 부여 제어가 아닙니다. Query API로 전송된 사용자 및 그룹에 대해서는 사용자 인증을 수행하지 않습니다. Query API로 전송된 사용자 및 그룹 정보가 인증되고 승인되었는지 확인하는 것은 애플리케이션에 달려 있습니다.

각 데이터 소스에 대해 사용자 컨텍스트 필터링이 구현되어 있습니다. 다음 섹션에서는 각 구현에 대해 설명합니다.

인덱스에 직접 추가된 문서에 대한 사용자 컨텍스트 필터링

BatchPutDocumentAPI를 사용하여 색인에 직접 문서를 추가하면 문서 AccessControlList 필드에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. 문서에 대한 액세스 제어 목록(ACL)을 제공하면 ACL이 문서와 함께 수집됩니다.

보안 주체 객체의 ACL을 BatchPutDocument API의 문서 객체의 일부로 지정합니다. 다음 정보를 제공합니다.

  • 사용자 또는 그룹이 가져야 하는 액세스 권한 ALLOW 또는 DENY라고 말할 수 있습니다.

  • 개체의 유형입니다. USER 또는 GROUP라고 말할 수 있습니다.

  • 사용자 또는 그룹의 이름입니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

자주 묻는 질문에 대한 사용자 컨텍스트 필터링

색인에 FAQ를 추가하면 FAQ JSON 파일의 AccessControlList 개체/필드에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. 액세스 제어를 위한 사용자 지정 필드 또는 속성이 포함된 FAQ CSV 파일을 사용할 수도 있습니다.

다음 정보를 제공합니다.

  • 사용자 또는 그룹이 가져야 하는 액세스 권한 ALLOW 또는 DENY라고 말할 수 있습니다.

  • 개체의 유형입니다. USER 또는 GROUP라고 말할 수 있습니다.

  • 사용자 또는 그룹의 이름입니다.

자세한 내용은 FAQ 파일을 참조하세요.

데이터 소스의 사용자 컨텍스트 필터링

Amazon Kendra 또한 지원되는 데이터 원본 커넥터에서 사용자 및 그룹 ACL (액세스 제어 목록) 정보를 크롤링합니다. 이는 문서에 대한 사용자 또는 해당 그룹의 액세스를 기반으로 검색 결과를 필터링하는 사용자 컨텍스트 필터링에 유용합니다.

주제

Adobe Experience Manager 데이터 소스에 대한 사용자 컨텍스트 필터링

Adobe Experience Manager 데이터 소스를 사용하는 경우 Adobe Experience Manager 인스턴스에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다.

그룹 및 사용자 ID는 다음과 같이 매핑됩니다.

  • _group_ids - 그룹 ID는 액세스 권한이 설정된 Adobe Experience Manager 콘텐츠에 존재합니다. 이들은 Adobe Experience Manager의 그룹 이름을 기반으로 매핑됩니다.

  • _user_id - 사용자 ID는 액세스 권한이 설정된 Adobe Experience Manager 콘텐츠에 존재합니다. 사용자 이메일에서 Adobe Experience Manager의 ID로 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Alfresco 데이터 소스의 사용자 컨텍스트 필터링

Alfresco 데이터 소스를 사용하는 경우 Alfresco 인스턴스에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다.

그룹 및 사용자 ID는 다음과 같이 매핑됩니다.

  • _group_ids - Alfresco에는 설정된 액세스 권한이 있는 파일의 그룹 ID가 있습니다. Alfresco에 있는 그룹의 시스템 이름(디스플레이 이름 아님)에서 매핑됩니다.

  • _user_id - Alfresco에는 설정된 액세스 권한이 있는 파일의 사용자 ID가 있습니다. 사용자 이메일에서 Alfresco의 ID로 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Aurora (MySQL) 데이터 원본에 대한 사용자 컨텍스트 필터링

Aurora (MySQL) 데이터 원본을 사용하는 경우 원본 테이블의 열에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. 콘솔에서 이 열을 지정하거나 TemplateConfiguration객체를 CreateDataSourceAPI의 일부로 사용하여 지정합니다.

Aurora (MySQL) 데이터베이스 데이터 원본에는 다음과 같은 제한이 있습니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

Aurora (PostgreSQL) 데이터 소스의 사용자 컨텍스트 필터링

Aurora (PostgreSQL) 데이터 원본을 사용하는 경우 원본 Amazon Kendra 테이블의 열에서 사용자 및 그룹 정보를 가져옵니다. 콘솔에서 이 열을 지정하거나 TemplateConfiguration객체를 API의 일부로 사용하여 지정합니다. CreateDataSource

Aurora (PostgreSQL) 데이터베이스 데이터 원본에는 다음과 같은 제한이 있습니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

데이터 소스의 사용자 컨텍스트 필터링 Amazon FSx

Amazon FSx 데이터 원본을 사용하는 경우 Amazon FSx 인스턴스의 디렉터리 서비스에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다.

Amazon FSx 그룹 및 사용자 ID는 다음과 같이 매핑됩니다.

  • _group_ids - Amazon FSx 에는 설정된 액세스 권한이 있는 파일의 그룹 ID가 있습니다. 이 둘은 의 디렉토리 서비스에 있는 시스템 그룹 이름에서 매핑됩니다. Amazon FSx

  • _user_id—액세스 권한이 설정된 파일에 사용자 ID가 존재합니다. Amazon FSx 사용자 이름은 의 디렉토리 서비스에 있는 시스템 사용자 이름에서 매핑됩니다. Amazon FSx

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

데이터베이스 데이터 소스의 사용자 컨텍스트 필터링

와 같은 Amazon Aurora PostgreSQL데이터베이스 데이터 원본을 사용하는 경우 원본 테이블의 열에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. 개체의 이 열을 CreateDataSourceAPI의 AclConfigurationDatabaseConfiguration개체 일부로 지정합니다.

데이터베이스 데이터 소스에는 다음과 같은 제한 사항이 적용됩니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

Amazon RDS (Microsoft SQL Server) 데이터 소스에 대한 사용자 컨텍스트 필터링

Amazon RDS (Microsoft SQL Server) 데이터 원본을 사용하는 경우 원본 테이블의 열에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. 콘솔에서 이 열을 지정하거나 TemplateConfiguration객체를 CreateDataSourceAPI의 일부로 사용하여 지정합니다.

Amazon RDS (Microsoft SQL Server) 데이터베이스 데이터 원본에는 다음과 같은 제한이 있습니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

Amazon RDS (MySQL) 데이터 원본에 대한 사용자 컨텍스트 필터링

Amazon RDS (MySQL) 데이터 원본을 사용하는 경우 원본 테이블의 열에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. 콘솔에서 이 열을 지정하거나 TemplateConfiguration객체를 CreateDataSourceAPI의 일부로 사용하여 지정합니다.

Amazon RDS (MySQL) 데이터베이스 데이터 원본에는 다음과 같은 제한이 있습니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

Amazon RDS (Oracle) 데이터 소스에 대한 사용자 컨텍스트 필터링

Amazon RDS (Oracle) 데이터 원본을 사용하는 경우 원본 테이블의 열에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. 콘솔에서 이 열을 지정하거나 TemplateConfiguration객체를 CreateDataSourceAPI의 일부로 사용하여 지정합니다.

Amazon RDS (Oracle) 데이터베이스 데이터 원본에는 다음과 같은 제한이 있습니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

Amazon RDS (PostgreSQL) 데이터 소스의 사용자 컨텍스트 필터링

Amazon RDS (PostgreSQL) 데이터 원본을 사용하는 경우 원본 Amazon Kendra 테이블의 열에서 사용자 및 그룹 정보를 가져옵니다. 콘솔에서 이 열을 지정하거나 TemplateConfiguration객체를 API의 일부로 사용하여 지정합니다. CreateDataSource

Amazon RDS (PostgreSQL) 데이터베이스 데이터 원본에는 다음과 같은 제한이 있습니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

Amazon S3 데이터 소스의 사용자 컨텍스트 필터링

문서와 연결된 메타데이터 파일을 사용하여 Amazon S3 데이터 소스의 문서에 사용자 컨텍스트 필터링을 추가합니다. JSON 문서의 AccessControlList 필드에 정보를 추가합니다. Amazon S3 데이터 소스에서 인덱싱된 문서에 메타데이터를 추가하는 방법에 대한 자세한 내용은 S3 문서 메타데이터를 참조하세요.

다음과 같은 세 가지 정보를 제공합니다.

  • 개체가 가져야 하는 액세스 권한. ALLOW 또는 DENY라고 말할 수 있습니다.

  • 개체의 유형입니다. USER 또는 GROUP라고 말할 수 있습니다.

  • 개체의 이름입니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Amazon WorkDocs 데이터 소스의 사용자 컨텍스트 필터링

Amazon WorkDocs 데이터 원본을 사용하는 경우 Amazon WorkDocs 인스턴스에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다.

Amazon WorkDocs 그룹 및 사용자 ID는 다음과 같이 매핑됩니다.

  • _group_ids—그룹 ID는 액세스 권한이 설정된 파일에 존재합니다 Amazon WorkDocs . 에 있는 그룹 이름을 기반으로 매핑됩니다. Amazon WorkDocs

  • _user_id—액세스 권한이 설정된 파일에 사용자 ID가 있습니다. Amazon WorkDocs 의 사용자 이름에서 매핑됩니다. Amazon WorkDocs

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Box 데이터 소스의 사용자 컨텍스트 필터링

Box 데이터 소스를 사용하는 경우 Box 인스턴스에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다.

Box 그룹 및 사용자 ID는 다음과 같이 매핑됩니다.

  • _group_ids - Box에는 설정된 액세스 권한이 있는 파일의 그룹 ID가 있습니다. Box에서 그룹의 이름을 기반으로 매핑됩니다.

  • _user_id - Box에는 설정된 액세스 권한이 있는 파일의 사용자 ID가 있습니다. 사용자 이메일에서 Box의 사용자 ID로 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Confluence 데이터 소스의 사용자 컨텍스트 필터링

Confluence 데이터 소스를 사용하는 경우 Confluence 인스턴스에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다.

스페이스 권한 페이지를 사용하여 스페이스에 대한 사용자 및 그룹 액세스를 구성합니다. 페이지와 블로그의 경우 제한 페이지를 사용합니다. 스페이스 권한에 대한 자세한 내용은 Confluence 지원 웹 사이트의 스페이스 권한 개요를 참조하세요. 페이지 및 블로그 제한에 대한 자세한 내용은 Confluence 지원 웹 사이트의 페이지 제한을 참조하세요.

Confluence 그룹 및 사용자 이름은 다음과 같이 매핑됩니다.

  • _group_ids - 그룹 이름은 제한이 있는 스페이스, 페이지 및 블로그에 표시됩니다. Confluence에서 그룹의 이름을 기반으로 매핑됩니다. 그룹 이름은 항상 소문자입니다.

  • _user_id - 사용자 이름은 제한이 있는 스페이스, 페이지 및 블로그에 표시됩니다. 사용 중인 Confluence 인스턴스 유형에 따라 매핑됩니다.

    Confluence 커넥터 v1.0의 경우

    • 서버 - _user_id는 사용자 이름입니다. 사용자 이름은 항상 소문자입니다.

    • 클라우드 - _user_id는 사용자의 계정 ID입니다.

    Confluence 커넥터 v2.0의 경우

    • 서버 - _user_id는 사용자 이름입니다. 사용자 이름은 항상 소문자입니다.

    • 클라우드 - _user_id는 사용자의 이메일 ID입니다.

    중요

    Confluence 커넥터에서 사용자 컨텍스트 필터링이 제대로 작동하려면 Confluence 페이지에 대한 액세스 권한이 부여된 사용자의 표시 여부를 모두로 설정해야 합니다. 자세한 내용은 Atlassian 개발자 설명서에서 이메일 표시 여부 설정을 참조하세요.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Dropbox 데이터 소스의 사용자 컨텍스트 필터링

Dropbox 데이터 소스를 사용하는 경우 Dropbox 인스턴스에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다.

그룹 및 사용자 ID는 다음과 같이 매핑됩니다.

  • _group_ids - Dropbox에는 설정된 액세스 권한이 있는 파일의 그룹 ID가 있습니다. Box에서 그룹의 이름을 기반으로 매핑됩니다.

  • _user_id - Dropbox에는 설정된 액세스 권한이 있는 파일의 사용자 ID가 있습니다. 사용자 이메일에서 Dropbox의 사용자 ID로 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Drupal 데이터 소스의 사용자 컨텍스트 필터링

Drupal 데이터 소스를 사용하는 경우 Drupal 인스턴스에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다.

그룹 및 사용자 ID는 다음과 같이 매핑됩니다.

  • _group_ids - Drupal에는 설정된 액세스 권한이 있는 파일의 그룹 ID가 있습니다. Drupal에서 그룹의 이름을 기반으로 매핑됩니다.

  • _user_id - Drupal에는 설정된 액세스 권한이 있는 파일의 사용자 ID가 있습니다. 사용자 이메일에서 Drupal의 사용자 ID로 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

데이터 소스의 사용자 컨텍스트 필터링 GitHub

GitHub 데이터 원본을 사용하는 경우 GitHub 인스턴스에서 사용자 정보를 Amazon Kendra 가져옵니다.

GitHub 사용자 ID는 다음과 같이 매핑됩니다.

  • _user_id—액세스 권한이 설정된 파일에 사용자 ID가 존재합니다. GitHub 사용자 이메일에서 ID로 매핑됩니다. GitHub

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Gmail 데이터 소스의 사용자 컨텍스트 필터링

Gmail 데이터 소스를 사용하는 경우 Gmail 인스턴스에서 사용자 정보를 Amazon Kendra 가져옵니다.

사용자 ID는 다음과 같이 매핑됩니다.

  • _user_id - Gmail에는 설정된 액세스 권한이 있는 파일의 사용자 ID가 있습니다. 사용자 이메일에서 Gmail의 사용자 ID로 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Google Drive 데이터 소스의 사용자 컨텍스트 필터링

Google Workspace Drive 데이터 소스는 Google Drive 사용자 및 그룹의 사용자 및 그룹 정보를 반환합니다. 그룹 및 도메인 멤버십은 _group_ids 인덱스 필드에 매핑됩니다. Google Drive 사용자 이름이 _user_id 필드에 매핑됩니다.

Query API에 사용자 이메일 주소를 하나 이상 입력하면 해당 이메일 주소와 공유된 문서만 반환됩니다. 다음 AttributeFilter 파라미터는 “martha@example.com”과 공유한 문서만 반환합니다.

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

쿼리에 그룹 이메일 주소를 하나 이상 입력하면 그룹과 공유된 문서만 반환됩니다. 다음 AttributeFilter 파라미터는 “hr@example.com” 그룹과 공유한 문서만 반환합니다.

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

쿼리에 도메인을 입력하면 도메인과 공유된 모든 문서가 반환됩니다. 다음 AttributeFilter 파라미터는 “example.com” 도메인과 공유된 문서를 반환합니다.

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

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

IBM DB2 데이터 소스의 사용자 컨텍스트 필터링

IBM DB2 데이터 소스를 사용하는 경우 소스 테이블의 열에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. 콘솔에서 이 열을 지정하거나 TemplateConfiguration객체를 CreateDataSourceAPI의 일부로 사용하여 지정합니다.

IBM DB2 데이터베이스 데이터 소스에는 다음과 같은 제한 사항이 적용됩니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

Jira 데이터 소스의 사용자 컨텍스트 필터링

Jira 데이터 소스를 사용하는 경우 Jira 인스턴스에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다.

Jira 사용자 ID는 다음과 같이 매핑됩니다.

  • _user_id - Jira에는 설정된 액세스 권한이 있는 파일의 사용자 ID가 있습니다. 사용자 이메일에서 Jira의 사용자 ID로 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Microsoft Exchange 데이터 소스에 대한 사용자 컨텍스트 필터링

Microsoft Exchange 데이터 원본을 사용하는 경우 Microsoft Exchange 인스턴스에서 사용자 정보를 Amazon Kendra 가져옵니다.

Microsoft Exchange 사용자 ID는 다음과 같이 매핑됩니다.

  • _user_id—Microsoft Exchange 권한에는 사용자가 특정 콘텐츠에 액세스할 수 있는 사용자 ID가 있습니다. 이들은 Microsoft Exchange의 사용자 이름에서 ID로 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Microsoft OneDrive 데이터 원본에 대한 사용자 컨텍스트 필터링

Amazon Kendra 사이트에서 문서를 OneDrive 인덱싱할 때 Microsoft로부터 사용자 및 그룹 정보를 검색합니다. 사용자 및 그룹 정보는 호스팅하는 기본 Microsoft SharePoint 사이트에서 가져옵니다 OneDrive.

OneDrive 사용자 또는 그룹을 사용하여 검색 결과를 필터링하는 경우 다음과 같이 ID를 계산하십시오.

  1. 사이트 이름을 변경합니다. 예제: https://host.onmicrosoft.com/sites/siteName.

  2. 사이트 이름의 MD5 해시를 가져오세요. 예를 들어 430a6b90503eef95c89295c8999c7981입니다.

  3. MD5 해시를 세로 막대(|)와 ID로 연결하여 사용자 이메일 또는 그룹 ID를 생성합니다. 예를 들어, 그룹 이름이 "localGroupName“인 경우 그룹 ID는 다음과 같습니다.

    "430a6b90503eef95c89295c8999c7981 | localGroupName"

    참고

    세로 막대 앞과 뒤에 공백을 포함하세요. 세로 막대는 MD5 localGroupName 해시를 식별하는 데 사용됩니다.

    사용자 이름 “someone@host.onmicrosoft.com”의 경우 사용자 ID는 다음과 같습니다.

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

Query API를 호출할 Amazon Kendra 때 사용자 _user_id 또는 그룹 ID를 or _group_id 속성으로 보내십시오. 예를 들어 그룹을 사용하여 검색 결과를 필터링하는 AWS CLI 명령은 다음과 같습니다.

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

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Microsoft OneDrive v2.0 데이터 소스에 대한 사용자 컨텍스트 필터링

Microsoft OneDrive v2.0 데이터 소스는 OneDrive 액세스 제어 목록 (ACL) 엔티티로부터 섹션 및 페이지 정보를 반환합니다. Amazon Kendra OneDrive 테넌트 도메인을 사용하여 OneDrive 인스턴스에 연결한 다음 섹션 및 파일 이름에 대한 사용자 또는 그룹 액세스를 기반으로 검색 결과를 필터링할 수 있습니다.

표준 객체의 경우 _user_id_group_id는 다음과 같이 사용됩니다.

  • _user_id— Microsoft OneDrive 사용자 이메일 ID가 _user_id 필드에 매핑됩니다.

  • _group_id— Microsoft OneDrive 그룹 이메일이 _group_id 필드에 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Microsoft SharePoint 데이터 원본에 대한 사용자 컨텍스트 필터링

Amazon Kendra 사이트 문서를 SharePoint 인덱싱할 때 Microsoft로부터 사용자 및 그룹 정보를 검색합니다. 사용자 또는 그룹 액세스를 기준으로 검색 결과를 필터링하려면 API를 호출할 때 사용자 및 그룹 정보를 제공하십시오. Query

사용자 이름을 사용하여 필터링하려면 사용자의 이메일 주소를 사용합니다. 예: johnstiles@example.com.

SharePoint 그룹을 사용하여 검색 결과를 필터링하는 경우 다음과 같이 그룹 ID를 계산하십시오.

로컬 그룹의 경우

  1. 사이트 이름을 변경합니다. 예제: https://host.onmicrosoft.com/sites/siteName.

  2. 사이트 이름의 SHA256 해시를 가져옵니다. 예를 들어 430a6b90503eef95c89295c8999c7981입니다.

  3. SHA256 해시를 세로 막대(|)와 그룹 이름으로 연결하여 그룹 ID를 생성합니다. 예를 들어, 그룹 이름이 "localGroupName“인 경우 그룹 ID는 다음과 같습니다.

    "430a6b90503eef95c89295c8999c7981 | localGroupName"

    참고

    세로 막대 앞과 뒤에 공백을 포함하세요. 세로 막대는 SHA256 해시를 식별하는 localGroupName 데 사용됩니다.

쿼리 API를 호출할 Amazon Kendra 때 그룹 ID를 _group_id 속성으로 전송하십시오. 예를 들어, AWS CLI 명령은 다음과 같습니다.

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

AD 그룹의 경우

  1. AD 그룹 ID를 사용하여 검색 결과 필터링을 구성할 수 있습니다.

쿼리 API를 호출할 Amazon Kendra 때 그룹 ID를 _group_id 속성으로 전송하십시오. 예를 들어, AWS CLI 명령은 다음과 같습니다.

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

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Microsoft SQL Server 데이터 소스에 대한 사용자 컨텍스트 필터링

Microsoft SQL Server 데이터 원본을 사용하는 경우 원본 테이블의 열에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. 콘솔에서 이 열을 지정하거나 TemplateConfiguration객체를 CreateDataSourceAPI의 일부로 사용하여 지정합니다.

Microsoft SQL Server 데이터베이스 데이터 소스에는 다음과 같은 제한 사항이 적용됩니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

Microsoft Teams 데이터 소스에 대한 사용자 컨텍스트 필터링

Amazon Kendra 문서를 인덱싱할 때 Microsoft Teams에서 사용자 정보를 검색합니다. 사용자 정보는 기본 Microsoft Teams 인스턴스에서 가져옵니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Microsoft Yammer 데이터 소스에 대한 사용자 컨텍스트 필터링

Amazon Kendra 문서를 인덱싱할 때 Microsoft Yammer에서 사용자 정보를 검색합니다. 사용자 및 그룹 정보는 기본 Microsoft Yammer 인스턴스에서 가져옵니다.

Microsoft Yammer 사용자 ID는 다음과 같이 매핑됩니다.

  • _email_id_user_id 필드에 매핑된 Microsoft 이메일 ID입니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

MySQL 데이터 소스의 사용자 컨텍스트 필터링

MySQL 데이터 원본을 사용하는 경우 원본 테이블의 열에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. 콘솔에서 이 열을 지정하거나 TemplateConfiguration객체를 CreateDataSourceAPI의 일부로 사용하여 지정합니다.

MySQL 데이터베이스 데이터 소스에는 다음과 같은 제한 사항이 적용됩니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

Oracle Database 데이터 소스에 대한 사용자 컨텍스트 필터링

Oracle Database 데이터 원본을 사용하는 경우 원본 테이블의 열에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. 콘솔에서 이 열을 지정하거나 TemplateConfiguration객체를 CreateDataSourceAPI의 일부로 사용하여 지정합니다.

Oracle Database 데이터 소스에는 다음과 같은 제한 사항이 적용됩니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

PostgreSQL 데이터 소스에 대한 사용자 컨텍스트 필터링

PostgreSQL 데이터 원본을 사용하는 경우 원본 Amazon Kendra 테이블의 열에서 사용자 및 그룹 정보를 가져옵니다. 콘솔에서 이 열을 지정하거나 TemplateConfiguration객체를 API의 일부로 사용하여 지정합니다. CreateDataSource

PostgreSQL 데이터베이스 데이터 소스에는 다음과 같은 제한 사항이 적용됩니다.

  • 데이터베이스 데이터 소스의 허용 목록만 지정할 수 있습니다. 거부 목록을 지정할 수 없습니다.

  • 그룹만 지정할 수 있습니다. 허용 목록에 개별 사용자를 지정할 수는 없습니다.

  • 데이터베이스 열은 세미콜론으로 구분된 그룹 목록을 포함하는 문자열이어야 합니다.

Quip 데이터 소스의 사용자 컨텍스트 필터링

Quip 데이터 소스를 사용하는 경우 Quip 인스턴스에서 사용자 정보를 Amazon Kendra 가져옵니다.

Quip 사용자 ID는 다음과 같이 매핑됩니다.

  • _user_id - Quip에는 설정된 액세스 권한이 있는 파일의 사용자 ID가 있습니다. 사용자 이메일에서 Quip의 사용자 ID로 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Salesforce 데이터 소스의 사용자 컨텍스트 필터링

Salesforce 데이터 소스는 Salesforce 액세스 제어 목록(ACL) 개체로부터 사용자 및 그룹 정보를 반환합니다. 사용자 컨텍스트 필터링을 Salesforce 표준 객체 및 채터 피드에 적용할 수 있습니다. Salesforce 지식 문서에는 사용자 컨텍스트 필터링을 사용할 수 없습니다.

Salesforce 필드를 Amazon Kendra 문서 제목 및 문서 본문 필드에 매핑하는 경우 Amazon Kendra는 검색 응답에서 문서 제목 및 본문 필드의 데이터를 사용합니다.

표준 객체의 경우 _user_id_group_ids는 다음과 같이 사용됩니다.

  • _user_id - Salesforce 사용자의 사용자 이름입니다.

  • _group_ids

    • Salesforce Profile의 이름

    • Salesforce Group의 이름

    • Salesforce UserRole의 이름

    • Salesforce PermissionSet의 이름

채터 피드의 경우 _user_id_group_ids는 다음과 같이 사용됩니다.

  • _user_id - Salesforce 사용자의 사용자 이름입니다. 항목이 사용자 피드에 게시된 경우에만 사용할 수 있습니다.

  • _group_ids - 그룹 ID는 다음과 같이 사용됩니다. 피드 항목이 채터 또는 공동 작업 그룹에 게시된 경우에만 사용할 수 있습니다.

    • 채터 또는 공동 작업 그룹의 이름.

    • 그룹이 공개 그룹인 경우 PUBLIC:ALL.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

ServiceNow 데이터 소스의 사용자 컨텍스트 필터링

사용자 컨텍스트 ServiceNow 필터링은 API 및 커넥터 v2.0에서만 지원됩니다. TemplateConfiguration ServiceNow ServiceNowConfigurationAPI 및 ServiceNow 커넥터 v1.0은 사용자 컨텍스트 필터링을 지원하지 않습니다.

ServiceNow 데이터 소스를 사용하는 경우 인스턴스에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다. ServiceNow

그룹 및 사용자 ID는 다음과 같이 매핑됩니다.

  • _group_ids—그룹 ID는 액세스 권한이 설정된 파일에 존재합니다 ServiceNow . 이들은 in의 sys_ids 역할 이름에서 매핑됩니다. ServiceNow

  • _user_id—액세스 권한이 설정된 파일에 사용자 ID가 존재합니다. ServiceNow 사용자 이메일에서 ID로 매핑됩니다. ServiceNow

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Slack 데이터 소스의 사용자 컨텍스트 필터링

Slack 데이터 소스를 사용하는 경우 Slack 인스턴스에서 사용자 정보를 Amazon Kendra 가져옵니다.

Slack 사용자 ID는 다음과 같이 매핑됩니다.

  • _user_id - Slack에서 액세스 권한이 설정된 메시지 및 채널의 사용자 ID가 존재합니다. 사용자 이메일에서 Slack의 사용자 ID로 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.

Zendesk 데이터 소스의 사용자 컨텍스트 필터링

Zendesk 데이터 소스를 사용하는 경우 Zendesk 인스턴스에서 사용자 및 그룹 정보를 Amazon Kendra 가져옵니다.

그룹 및 사용자 ID는 다음과 같이 매핑됩니다.

  • _group_ids - 그룹 ID는 액세스 권한이 설정된 Zendesk 티켓 및 문서에 있습니다. Zendesk에서 그룹의 이름을 기반으로 매핑됩니다.

  • _user_id - 그룹 ID는 액세스 권한이 설정된 Zendesk 티켓 및 문서에 있습니다. 사용자 이메일에서 Zendesk의 사용자 ID로 매핑됩니다.

AccessControlList 필드에 개체를 200개까지 추가할 수 있습니다.