S3 Vectors의 Identity and Access Management
참고
Amazon S3 Vectors는 Amazon Simple Storage Service의 미리 보기 릴리스이며 변경될 수 있습니다.
S3 Vectors의 액세스 관리는 AWS 보안 모범 사례를 따르며, 승인된 사용자와 애플리케이션만 벡터 데이터에 액세스할 수 있도록 여러 계층의 제어를 제공합니다. 이 서비스는 IAM과 통합되며 ID 기반 정책과 리소스 기반 정책을 모두 지원하므로 조직 전체에서 권한을 구성하고 관리하는 방법에 유연성을 제공합니다.
요청 인증 및 권한 부여
S3 Vectors는 AWS 표준 인증 및 권한 부여 메커니즘을 사용하여 벡터 버킷 및 해당 콘텐츠에 대한 액세스를 보호합니다. S3 Vectors에 대한 모든 요청은 유효한 AWS 자격 증명을 사용하여 인증되어야 하며 서비스는 ID 기반 정책, 리소스 기반 정책 및 해당 서비스 제어 정책의 조합을 기반으로 권한을 평가합니다.
인증 프로세스는 클라이언트가 AWS 자격 증명(액세스 키, AWS STS의 임시 자격 증명 또는 IAM 역할)을 사용하여 S3 Vectors에 요청할 때 시작됩니다. 서비스는 이러한 자격 증명을 검증한 다음 요청된 작업 및 대상 리소스를 기준으로 인증된 ID와 연결된 권한을 평가합니다. 이 평가 프로세스는 여러 정책 유형을 고려하고 최소 권한 원칙을 적용하여 요청을 허용할지 또는 거부할지를 결정합니다.
S3 Vectors의 권한 부여는 여러 수준의 세부 수준에서 작동합니다. 벡터 버킷 수준, 개별 벡터 인덱스 수준 또는 인덱스 내의 특정 작업에서도 액세스를 제어할 수 있습니다. 이 계층적 권한 모델을 사용하면 조직 구조 및 데이터 거버넌스 요구 사항에 맞는 정교한 액세스 제어 체계를 구현할 수 있습니다.
벡터 버킷에 대해 정의된 리소스 유형
S3 Vectors는 IAM 정책 및 리소스 기반 정책에서 참조할 수 있는 특정 리소스 유형을 정의합니다. 이러한 리소스 유형을 이해하는 것은 올바른 사용자 및 애플리케이션에 적절한 수준의 액세스를 제공하는 효과적인 액세스 제어 정책을 만드는 데 필수적입니다.
다음 테이블에서는 S3 Vectors에서 사용할 수 있는 리소스 유형을 설명합니다.
리소스 유형 | ARN 형식 | 설명 |
---|---|---|
VectorBucket | arn:aws:s3vectors:region :123456789012 :bucket/bucket-name |
벡터 버킷을 나타내며 버킷 만들기, 삭제 또는 구성과 같은 버킷 수준 작업에 사용됩니다. |
인덱스 | arn:aws:s3vectors:region :123456789012 :bucket/bucket-name /index/index-name |
버킷 내의 벡터 인덱스를 나타내며 벡터 쿼리 또는 인덱스 콘텐츠 관리와 같은 인덱스별 작업에 사용됩니다. |
벡터 버킷에 대한 정책 작업
S3 Vectors는 벡터 버킷 및 인덱스에서 수행할 수 있는 다양한 작업에 해당하는 포괄적인 정책 작업 세트를 제공합니다. 이러한 작업은 특정 작업을 수행할 수 있는 사용자를 세밀하게 제어하도록 설계되어 최소 권한 원칙을 효과적으로 구현할 수 있습니다.
다음 표에는 S3 Vectors 리소스에 사용할 수 있는 모든 정책 작업이 나열되어 있습니다.
리소스 유형 | API 작업 | 정책 작업 | 정책 작업 설명 | 액세스 레벨 | 조건 키 |
---|---|---|---|---|---|
Account | ListVectorBuckets | s3vectors:ListVectorBuckets | 계정 및 리전의 모든 벡터 버킷을 나열할 수 있는 권한을 부여합니다. | 나열 | |
VectorBucket | CreateVectorBucket | s3vectors:CreateVectorBucket | 지정된 구성으로 새 벡터 버킷을 만들 수 있는 권한을 부여합니다. | 쓰기 | s3vectors:sseType, s3vectors:kmsKeyArn |
VectorBucket | GetVectorBucket | s3vectors:GetVectorBucket | 벡터 버킷 속성 및 구성을 검색할 수 있는 권한을 부여합니다. | 읽기 | |
VectorBucket | DeleteVectorBucket | s3vectors:DeleteVectorBucket | 빈 벡터 버킷을 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |
VectorBucket | ListIndexes | s3vectors:ListIndexes | 벡터 버킷 내의 모든 인덱스를 나열할 수 있는 권한을 부여합니다. | 나열 | |
VectorBucket | PutVectorBucketPolicy | s3vectors:PutVectorBucketPolicy | 벡터 버킷에 리소스 기반 정책을 적용하거나 업데이트할 수 있는 권한을 부여합니다. | 권한 관리 | |
VectorBucket | GetVectorBucketPolicy | s3vectors:GetVectorBucketPolicy | 벡터 버킷에 연결된 리소스 기반 정책을 검색할 수 있는 권한을 부여합니다. | 읽기 | |
VectorBucket | DeleteVectorBucketPolicy | s3vectors:DeleteVectorBucketPolicy | 벡터 버킷에서 리소스 기반 정책을 제거할 수 있는 권한을 부여합니다. | 권한 관리 | |
인덱스 | CreateIndex | s3vectors:CreateIndex | 지정된 차원 및 메타데이터 구성으로 새 벡터 인덱스를 만들 수 있는 권한을 부여합니다. | 쓰기 | |
인덱스 | GetIndex | s3vectors:GetIndex | 벡터 인덱스 속성 및 구성을 검색할 수 있는 권한을 부여합니다. | 읽기 | |
인덱스 | DeleteIndex | s3vectors:DeleteIndex | 벡터 인덱스와 모든 해당 콘텐츠를 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |
인덱스 | QueryVectors | (필수) s3vectors:QueryVectors | 인덱스의 벡터를 기준으로 유사성 쿼리를 수행할 수 있는 권한을 부여합니다. |
읽기 | |
(조건부 필수): s3vectors:GetVectors | 메타데이터 필터를 설정하고 요청에서 |
읽기 | |||
인덱스 | PutVectors | s3vectors:PutVectors | 인덱스에서 벡터를 추가하거나 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |
인덱스 | GetVectors | s3vectors:GetVectors | 벡터 키로 특정 벡터와 해당 메타데이터를 검색할 수 있는 권한을 부여합니다. | 읽기 | |
인덱스 | ListVectors | (필수) s3vectors:ListVectors | 인덱스의 벡터 키를 나열할 수 있는 권한을 부여합니다.
|
읽기 | |
(조건부 필수): s3vectors:GetVectors | 요청에서 |
읽기 | |||
인덱스 | DeleteVectors | s3vectors:DeleteVectors | 인덱스에서 특정 벡터를 삭제할 수 있는 권한을 부여합니다. | 쓰기 |
이러한 작업은 다양한 방식으로 결합하여 특정 액세스 요구 사항에 맞는 정책을 만들 수 있습니다. 예를 들어 s3vectors:GetVectorBucket
, s3vectors:ListIndexes
, s3vectors:QueryVectors
및 s3vectors:GetVectors
작업을 포함하는 읽기 전용 정책 또는 쿼리 및 벡터 검색 권한을 포함하지만 인덱스 만들기 또는 삭제와 같은 관리 작업은 제외하는 정책을 만들 수 있습니다.
벡터 버킷에 사용되는 조건 키
조건 키 | 설명 | 형식 | |
---|---|---|---|
1 | s3vectors:sseType | 서버 측 암호화 유형을 기준으로 액세스를 필터링합니다. 유효한 값: AES256 | aws:kms |
문자열 |
2 | s3vectors:kmsKeyArn | 벡터 버킷을 암호화하는 데 사용되는 키의 AWS AWS KMS 키 ARN을 기준으로 액세스를 필터링합니다. | ARN |