기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon S3
Amazon S3는 데이터를 버킷 내의 객체로 저장하는 객체 스토리지 서비스입니다. Amazon S3 버킷을 관리형 지식 기반의 데이터 소스로 연결하여 여기에 저장하는 객체를 수집할 수 있습니다.
지원되는 기능
-
별도의 메타데이터 파일을 통해 메타데이터 필드 문서화
-
파일 패턴 및 S3 키 접두사를 사용한 포함 및 제외 콘텐츠 필터
-
추가, 업데이트 및 삭제된 콘텐츠에 대한 증분 콘텐츠 동기화
-
교차 계정 Amazon S3 버킷 액세스
-
고객 제공 ACLs 파일을 사용한 문서 수준 액세스 제어(ACL)
사전 조건
Amazon S3에서 다음 사항을 확인하세요.
-
Amazon S3 버킷 이름과 버킷 소유자의 AWS 계정 ID를 기록해 둡니다. 버킷은 지식 기반과 동일한 AWS 리전의 범용 버킷이어야 하며 액세스 권한이 있어야 합니다.
-
버킷이 지식 기반과 다른 AWS 계정에 있거나 고객 관리형 KMS 키로 암호화된 경우 지식 기반 서비스 역할에서 액세스를 허용하도록 버킷 정책 및 (해당하는 경우) KMS 키 정책을 구성합니다. 교차 계정 및 KMS 암호화 액세스를 위한 버킷 정책을(를) 참조하세요.
AWS 계정에서 다음을 확인합니다.
-
지식 기반에 대한 AWS Identity and Access Management (IAM) 역할/권한 정책에 데이터 소스에 연결하는 데 필요한 권한을 포함합니다. 필요한 권한에 대한 자세한 내용은 섹션을 참조하세요데이터 소스에 액세스할 수 있는 권한.
교차 계정 및 KMS 암호화 액세스를 위한 버킷 정책
Amazon S3 버킷이 지식 기반과 다른 AWS 계정에 있거나 고객 관리형 KMS 키로 암호화된 경우 리소스 기반 정책을 추가하여 지식 기반 서비스 역할에 액세스 권한을 부여합니다. 다음 예제에서는 필요한 최소 문을 보여줍니다.
교차 계정 버킷 정책
Amazon S3 버킷을 소유한 계정에서 버킷 정책에 다음 문을 추가합니다. kb-account-id를 지식 기반이 생성된 계정 ID로, kb-service-role을 지식 기반 서비스 역할의 이름으로, bucket-name을 버킷 이름으로 바꿉니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBedrockKnowledgeBaseAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::kb-account-id:role/kb-service-role" }, "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }
일반적인 지침은 Amazon S3 버킷에 대한 액세스 구성을 참조하세요.
암호화된 버킷에 대한 KMS 키 정책
Amazon S3 버킷이 고객 관리형 KMS 키로 암호화된 경우 키 정책에 다음 문을 추가합니다. 교차 계정 버킷 정책에서와 동일한 자리 표시자를 사용합니다. 키 정책 변경 사항이 전파될 때까지 몇 분 정도 기다립니다.
{ "Sid": "AllowBedrockKnowledgeBaseKmsAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::kb-account-id:role/kb-service-role" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" }
"Resource": "*" 여기서는 정책이 연결된 키의 범위입니다.
Amazon S3 데이터 소스를 설정하는 방법
Amazon S3 데이터 소스 설정에는 다음 단계가 포함됩니다.
-
버킷을 준비합니다. 버킷 이름, 계정 ID 및 버킷 정책(교차 계정 액세스의 경우)을 확인합니다. 문서 메타데이터를 사용하려는 경우
.metadata.json파일이 있는 Amazon S3 접두사를 결정합니다. -
데이터 소스를 연결합니다. AWS Management Console 또는 API를 사용하여 지식 기반에서 Amazon S3 데이터 소스를 생성합니다. 데이터 소스 생성을(를) 참조하세요.
-
(선택 사항) 문서 수준 액세스 제어를 활성화합니다. 고객 제공 ACL 파일에 정의된 사용자 권한을 기준으로 쿼리 결과를 필터링합니다. 문서 수준 액세스 제어을(를) 참조하세요.
데이터 소스 생성
커넥터 파라미터
데이터 소스 구성은 다음 커넥터 파라미터를 사용합니다. Amazon S3에 연결하려면에서 커넥터 유형S3으로를 지정합니다connectorParameters. 래핑되는 필드connectorParameters(예: deletionProtectionConfiguration 및 mediaExtractionConfiguration)는 섹션을 참조하세요데이터 소스 연결.
| Field | 필수 | 설명 |
|---|---|---|
bucketName |
예 | Amazon S3 버킷의 이름입니다. |
bucketOwnerAccountId |
조건부 | 버킷 소유자의 AWS 계정 ID입니다. 교차 계정 액세스에 필요합니다. |
| Field | 필수 | 설명 |
|---|---|---|
inclusionPrefixes |
아니요 | 포함할 Amazon S3 키 접두사 목록(예: documents/). |
exclusionPrefixes |
아니요 | 제외할 Amazon S3 키 접두사 목록(예: archive/). |
inclusionPatterns |
아니요 | 정규식 목록입니다. 키가 하나 이상의 패턴과 일치하는 객체만 수집됩니다. |
exclusionPatterns |
아니요 | 정규식 목록입니다. 키가 패턴과 일치하는 객체는 수집되지 않습니다. |
maxFileSizeInMegaBytes |
아니요 | 커넥터가 수집하는 단일 파일의 최대 크기입니다. 를 숫자 문자열로 입력합니다(예: "500"). 기본값은 "500"입니다. |
| Field | 필수 | 설명 |
|---|---|---|
metadataFilesPrefix |
아니요 | 문서 메타데이터 파일(.metadata.json)이 저장되는 Amazon S3 접두사입니다. |
aclEnabled |
아니요 | 문서 수준 액세스 제어를 활성화true하려면 로 설정합니다. 데이터 소스를 생성한 후에는이 설정을 변경할 수 없습니다. 자세한 내용은 문서 수준 액세스 제어을 참조하세요. |
aclConfiguration |
조건부 | 포함 globalAccessControlListS3Uri- 키 접두사를 액세스 제어 항목에 매핑하는 JSON 파일의 Amazon S3 URI입니다. aclEnabled가 인 경우 필수true이고 aclEnabled가 인 경우 무시됩니다false. 문서 수준 액세스 제어을(를) 참조하세요. |
문서 메타데이터 파일
각 문서와 함께 사이드카 파일을 업로드하여 메타데이터를 각 문서에 연결할 수 있습니다. 각 문서에 대해 동일한 Amazon S3 경로에 라는 파일을 생성합니다. 메타데이터 파일은 10KB를 초과해서는 안 됩니다. 예를 들어 filename.extension.metadata.jsonreport.pdf와 함께 다음 콘텐츠report.pdf.metadata.json와 함께 업로드합니다.
{ "metadataAttributes": { "company": { "value": { "type": "STRING", "stringValue": "BioPharm Innovations" } }, "created_date": { "value": { "type": "NUMBER", "numberValue": 20221205 } }, "author": { "value": { "type": "STRING", "stringValue": "Lisa Thompson" } } } }
지원되는 속성 데이터 유형 및 쿼리 시 적용할 수 있는 필터링 연산자에 대한 자세한 내용은 메타데이터 및 필터링을 참조하세요.