S3 Vectors의 ID 및 접근 관리

S3 Vectors의 ID 및 접근 관리 (Identity and Access management in S3 Vectors)

S3 Vectors의 접근 관리는 AWS 보안 모범 사례를 따르며, 승인된 사용자와 애플리케이션만 벡터 데이터에 접근할 수 있도록 여러 계층의 제어를 제공해요. 이 서비스는 IAM과 통합되며 ID 기반 정책(ID-based policy)과 리소스 기반 정책(resource-based policy)을 모두 지원해 조직 전체에서 권한을 구조화하고 관리하는 데 유연성을 줘요.

요청 인증 및 권한 부여 (Authenticating and authorizing requests)

S3 Vectors는 AWS 표준 인증 및 권한 부여 메커니즘을 사용해 벡터 버킷과 그 내용물에 대한 접근을 보호해요. S3 Vectors에 대한 모든 요청은 유효한 AWS 자격 증명으로 인증되어야 하며, 서비스는 ID 기반 정책, 리소스 기반 정책, 적용 가능한 서비스 제어 정책(service control policy)의 조합에 따라 권한을 평가해요.

인증 과정은 클라이언트가 AWS 자격 증명(액세스 키, AWS STS의 임시 자격 증명, 또는 IAM 역할)을 사용해 S3 Vectors에 요청할 때 시작돼요. 서비스는 이 자격 증명을 검증한 다음, 인증된 ID와 연결된 권한을 요청된 작업과 대상 리소스에 대해 평가해요. 이 평가 과정은 여러 정책 유형을 고려하고 최소 권한(principle of least privilege) 원칙을 적용해 요청 허용 여부를 결정해요.

S3 Vectors의 권한 부여는 여러 세분화 수준에서 작동해요. 벡터 버킷 수준, 개별 벡터 인덱스 수준, 또는 인덱스 안의 특정 작업 수준까지 접근을 제어할 수 있어요. 이 계층적 권한 모델을 사용하면 조직 구조와 데이터 거버넌스 요구사항에 맞는 정교한 접근 제어 체계를 구현할 수 있어요.

출처: 문서

본문

벡터 버킷에 정의된 리소스 유형 (Resource types defined for vector buckets)

S3 Vectors는 IAM 정책과 리소스 기반 정책에서 참조할 수 있는 특정 리소스 유형을 정의해요. 이 리소스 유형을 이해하는 것은 올바른 사용자와 애플리케이션에게 올바른 수준의 접근을 제공하는 효과적인 접근 제어 정책을 만드는 데 필수적이에요.

다음 표는 S3 Vectors에서 사용할 수 있는 리소스 유형을 설명해요.

S3 Vectors에서 사용할 수 있는 리소스 유형

리소스 유형 (Resource type) ARN 형식 (ARN format) 설명 (Description)
VectorBucket arn:aws:s3vectors:region:123456789012:bucket/bucket-name 벡터 버킷을 나타내며 버킷 생성, 삭제, 구성 같은 버킷 수준 작업에 사용돼요.
Index arn:aws:s3vectors:region:123456789012:bucket/bucket-name/index/index-name 버킷 안의 벡터 인덱스를 나타내며 벡터 검색이나 인덱스 내용 관리 같은 인덱스별 작업에 사용돼요.

벡터 버킷에 대한 정책 작업 (Policy actions for vector buckets)

S3 Vectors는 벡터 버킷과 인덱스에서 수행할 수 있는 다양한 작업에 해당하는 포괄적인 정책 작업 세트를 제공해요. 이 작업들은 특정 작업을 누가 수행할 수 있는지 세분화된 제어를 제공하도록 설계되어 최소 권한 원칙을 효과적으로 구현할 수 있게 해 줘요.

다음 표는 S3 Vectors 리소스에 사용할 수 있는 모든 정책 작업을 나열해요.

S3 Vectors 리소스에 대한 정책 작업

접근 수준 (Access level) 리소스 유형 (Resource type) API 작업 (API operations) 정책 작업 (Policy actions) 조건 키 (Condition keys) 계정 (Account) 정책 작업 설명 (Description of policy actions)
List VectorBucket ListVectorBuckets s3vectors:ListVectorBuckets 계정과 리전의 모든 벡터 버킷을 나열할 권한을 부여해요.
Write VectorBucket CreateVectorBucket s3vectors:CreateVectorBucket s3vectors:sseType, s3vectors:kmsKeyArn 지정된 구성으로 새 벡터 버킷을 만들 권한을 부여해요.
Read VectorBucket GetVectorBucket s3vectors:GetVectorBucket 벡터 버킷 속성과 구성을 가져올 권한을 부여해요.
Write VectorBucket DeleteVectorBucket s3vectors:DeleteVectorBucket 빈 벡터 버킷을 삭제할 권한을 부여해요.
List VectorBucket ListIndexes s3vectors:ListIndexes 벡터 버킷 안의 모든 인덱스를 나열할 권한을 부여해요.
Permissions management VectorBucket PutVectorBucketPolicy s3vectors:PutVectorBucketPolicy 벡터 버킷에 리소스 기반 정책을 적용하거나 업데이트할 권한을 부여해요.
Read VectorBucket GetVectorBucketPolicy s3vectors:GetVectorBucketPolicy 벡터 버킷에 연결된 리소스 기반 정책을 가져올 권한을 부여해요.
Permissions management VectorBucket DeleteVectorBucketPolicy s3vectors:DeleteVectorBucketPolicy 벡터 버킷에서 리소스 기반 정책을 제거할 권한을 부여해요.
Write Index CreateIndex s3vectors:CreateIndex 지정된 차원과 메타데이터 구성으로 새 벡터 인덱스를 만들 권한을 부여해요.
Read Index GetIndex s3vectors:GetIndex 벡터 인덱스 속성과 구성을 가져올 권한을 부여해요.
Write Index DeleteIndex s3vectors:DeleteIndex 벡터 인덱스와 그 모든 내용을 삭제할 권한을 부여해요.
Read (조건부 필수) Index QueryVectors (Required) s3vectors:QueryVectors 인덱스의 벡터에 대해 유사도 검색을 수행할 권한을 부여해요. s3vectors:QueryVectors만 있으면 대략적인 최근접 이웃의 벡터 키와 쿼리 벡터에서 계산된 거리를 가져올 수 있어요. 이 권한은 메타데이터 필터를 설정하지 않고 메타데이터를 요청하지 않는 경우(returnMetadata 파라미터를 false로 유지하거나 지정하지 않음)에만 충분해요.
Read (조건부 필수) Index QueryVectors (Conditionally required): s3vectors:GetVectors 요청에서 메타데이터 필터를 설정하거나 returnMetadata를 true로 설정하면 필요해요. s3vectors:QueryVectors와 s3vectors:GetVectors를 모두 가지면 메타데이터 기준으로 결과를 필터링하고 벡터 키와 관련 데이터, 메타데이터, 쿼리 벡터에서 계산된 거리를 가져올 수 있어요.
Write Index PutVectors s3vectors:PutVectors 인덱스에 벡터를 추가하거나 업데이트할 권한을 부여해요.
Read Index GetVectors s3vectors:GetVectors 벡터 키로 특정 벡터와 그 메타데이터를 가져올 권한을 부여해요.
Read (조건부 필수) Index ListVectors (Required) s3vectors:ListVectors 인덱스의 벡터 키를 나열할 권한을 부여해요. s3vectors:ListVectors만 있으면 returnData와 returnMetadata 파라미터가 모두 false이거나 지정되지 않았을 때 벡터 키를 나열할 수 있어요.
Read (조건부 필수) Index ListVectors (Conditionally required): s3vectors:GetVectors 요청에서 returnData 또는 returnMetadata 파라미터를 true로 설정하면 필요해요. s3vectors:ListVectors와 s3vectors:GetVectors를 모두 가지면 returnData와 returnMetadata를 true로 설정해 벡터 키와 관련 데이터·메타데이터를 가져올 수 있어요.
Write Index DeleteVectors s3vectors:DeleteVectors 인덱스에서 특정 벡터를 삭제할 권한을 부여해요.

이 작업들은 다양한 방식으로 결합해 여러분의 특정 접근 요구사항에 맞는 정책을 만들 수 있어요. 예를 들어 s3vectors:GetVectorBucket, s3vectors:ListIndexes, s3vectors:QueryVectors, s3vectors:GetVectors 작업을 포함하는 읽기 전용 정책을 만들거나, 검색과 벡터 검색 권한은 포함하되 인덱스 생성·삭제 같은 관리 작업은 제외하는 정책을 만들 수 있어요.

벡터 버킷에 대한 조건 키 (Condition keys for vector buckets)

벡터 버킷에 대한 조건 키

조건 키 (Condition keys) 설명 (Description) 타입 (Type)
s3vectors:sseType 서버 측 암호화 타입으로 접근을 필터링해요. 유효한 값: AES256 | aws:kms 문자열 (String)
s3vectors:kmsKeyArn 벡터 버킷을 암호화하는 데 사용된 키의 AWS KMS 키 ARN으로 접근을 필터링해요. ARN

더 알아보기 (Learn more)