S3 Vectors에서 암호화 설정하기

S3 Vectors에서 암호화 설정하기 (Setting encryption in S3 Vectors)

이 주제에서는 S3 벡터 버킷과 인덱스의 암호화 구성을 설정하는 방법을 설명해요. 시작하기 전에 다음을 갖추었는지 확인하세요.

  • 버킷 및 인덱스 속성을 볼 수 있는 적절한 권한.

출처: 문서

본문

벡터 버킷의 암호화 구성하기 (To configure encryption for a vector bucket)

  1. Amazon S3 콘솔을 엽니다: https://console.aws.amazon.com/s3/

  2. 탐색 창에서 Vector buckets를 선택해요.

  3. Create vector bucket을 선택해요.

  4. Bucket name에 버킷 이름을 입력해요.

    • 버킷 이름은 이 AWS 리전의 계정 안에서 고유해야 해요.
    • 3~63자 길이여야 해요.
    • 소문자, 숫자, 하이픈(-)으로만 구성되어야 해요.
  5. Encryption에서 Specify encryption type을 선택해 특정 암호화 방법을 골라요.

    • Server-side encryption with Amazon S3 managed keys (SSE-S3) — SSE-S3를 사용하면 Amazon S3가 암호화 키의 생성, 교체, 관리를 자동으로 처리해요.
    • Server-side encryption with AWS Key Management Service keys (SSE-KMS) — SSE-S3와 비슷하지만 AWS KMS의 고객 관리형 키(CMK)를 사용해 키에 대한 더 많은 제어를 제공해요. 고객 관리형 키에 대한 자세한 내용은 AWS Key Management Service Developer Guide의 Customer managed keys를 참고하세요.

    이 옵션을 선택하면 AWS KMS key 아래에서 다음 중 하나를 골라요.

    참고: KMS 키에는 다음 요구사항이 적용돼요.

    • AWS KMS 키 ID는 비어 있으면 안 돼요.
    • KMS 키는 이 버킷이 생성되는 리전과 같은 리전에 있어야 해요.
    • AWS KMS 키 ARN은 "arn:aws:kms:"로 시작해야 해요.

    중요: 벡터 버킷을 만든 뒤에는 암호화 설정을 변경할 수 없어요.

  6. Create vector bucket을 선택해요.

중요: KMS 암호화를 사용할 때는 버킷의 객체에 접근해야 하는 IAM 보안 주체가 선택한 KMS 키에 대해 필요한 KMS 권한(kms:Decrypt)을 갖추었는지 확인하세요.

벡터 인덱스의 암호화 구성하기 (To configure encryption for a vector index)

  1. Amazon S3 콘솔을 엽니다: https://console.aws.amazon.com/s3/

  2. 탐색 창에서 Vector buckets을 선택해요.

  3. 벡터 버킷 목록에서 벡터 인덱스를 만들 버킷 이름을 선택해요.

  4. Create vector index를 선택해요.

  5. Vector index name에 벡터 인덱스 이름을 입력해요.

    • 벡터 인덱스 이름은 벡터 버킷 안에서 고유해야 해요.
    • 인덱스 이름은 3~63자여야 하고, 유효한 문자는 소문자(a-z), 숫자(0-9), 하이픈(-), 점(.)이에요. 벡터 인덱스 이름 규칙에 대한 자세한 내용은 벡터 버킷 이름 규칙을 참고하세요.
  6. Dimension에 각 벡터의 값 개수를 입력해요.

    • Dimension 값은 각 벡터에 몇 개의 수치 값을 담을지 결정해요.
    • 이 인덱스에 추가되는 모든 벡터는 정확히 이 개수의 값을 가져야 해요.
    • Dimension은 1에서 4096 사이여야 해요.
    • 차원이 클수록 더 많은 저장 공간이 필요해요.
    • 임베딩 모델의 출력 차원에 맞춰 선택하세요.
    • 차원 요구사항에 대한 자세한 내용은 제한 사항을 참고하세요.
  7. Distance metric에서 다음 중 하나를 선택해요.

    • Cosine — 벡터 사이 각도의 코사인 값을 측정해요. 정규화된 벡터에 가장 적합하며 방향이 크기보다 더 중요할 때 유용해요.
    • Euclidean — 벡터 사이의 직선 거리를 측정해요. 방향과 크기 모두가 중요할 때 가장 적합해요.
  8. (선택) Non-filterable metadata 아래에서 저장되지만 필터링에는 사용되지 않는 메타데이터 키를 구성해요.

    • 필터링 불가능한 메타데이터 키를 추가하려면:
      • Add key를 선택해요.
      • 키 이름을 입력해요(1~63자, 이 벡터 인덱스 안에서 고유).
      • 추가 키를 더 추가하려면 반복해요(최대 10개 키).

    참고: 벡터 인덱스를 만든 뒤 벡터 데이터를 삽입할 때 각 벡터에 키-값 쌍으로 필터링 가능한 메타데이터를 붙일 수 있어요. 기본적으로 벡터에 붙는 모든 메타데이터 키는 필터링 가능하며 유사도 검색의 필터로 사용할 수 있어요. 벡터 인덱스를 만들 때 필터링 불가능으로 지정한 메타데이터 키만 필터링에서 제외돼요. 총 메타데이터 및 필터링 가능한 메타데이터 제약을 포함한 벡터당 메타데이터 크기 제한에 대한 자세한 내용은 제한 사항을 참고하세요.

  9. Encryption에서 Specify encryption type을 선택하고 다음 중 하나를 골라요.

    • Use bucket settings for encryption — Amazon S3가 벡터 버킷의 암호화 설정을 적용해 벡터 인덱스의 벡터 데이터를 암호화해요.

    • Override bucket settings for encryption — 벡터 인덱스에 특정 암호화 타입을 지정해요.

      • SSE-S3 — Amazon S3가 암호화 키의 생성, 교체, 관리를 자동으로 처리해요.
      • SSE-KMS — SSE-S3와 비슷하지만 AWS KMS의 고객 관리형 키(CMK)를 사용해 더 많은 제어를 제공해요.

      이 옵션을 선택하면 AWS KMS key 아래에서 다음 중 하나를 골라요.

      • Choose from your AWS KMS keys — 드롭다운 목록에서 기존 KMS 키를 선택.
      • Enter AWS KMS key ARN — KMS 키의 ARN을 입력.
      • Create a KMS key — AWS KMS 콘솔에서 새 고객 관리형 키 생성.

      참고: KMS 키에는 다음 요구사항이 적용돼요.

      • AWS KMS 키 ID는 비어 있으면 안 돼요.
      • KMS 키는 이 버킷이 생성되는 리전과 같은 리전에 있어야 해요.
      • AWS KMS 키 ARN은 "arn:aws:kms:"로 시작해야 해요.

      중요: 벡터 인덱스를 만든 뒤에는 암호화 설정을 변경할 수 없어요.

      • Enter AWS KMS key ARN을 선택했다면 제공된 텍스트 필드에 ARN을 입력해요.
      • Create a KMS key를 선택했다면 콘솔이 새 탭에서 AWS KMS 콘솔을 열어요.

      중요: KMS 암호화를 사용할 때는 버킷의 객체에 접근해야 하는 IAM 보안 주체가 선택한 KMS 키에 대해 필요한 KMS 권한(kms:Decrypt)을 갖추었는지 확인하세요.

  10. (선택) Tags (Optional) 아래에서 키-값 쌍으로 태그를 추가해 AWS Billing and Cost Management를 사용해 벡터 인덱스 비용을 추적·조직화할 수 있어요. Key와 Value를 입력하고, 태그를 더 추가하려면 Add Tag를 선택해요. 벡터 인덱스에는 최대 50개 태그를 입력할 수 있어요. 자세한 내용은 S3 벡터 버킷에 태그 사용하기를 참고하세요.

  11. 구성을 신중히 검토해요.

참고: 이 설정들은 생성 후 변경할 수 없어요.

  1. Create vector index를 선택해요.

다음 예시는 AWS CLI로 SSE-S3 암호화 구성을 사용해 벡터 버킷을 만드는 방법을 보여줘요. 이 예시를 사용하려면 user input placeholders를 여러분의 정보로 바꿔주세요.

aws s3vectors create-vector-bucket \
        --vector-bucket-name "amzn-s3-demo-vector-bucket" \
        --encryption-configuration '{"sseType": "AES256"}'

다음 예시는 고객 관리형 키와 함께 SSE-KMS 암호화 구성을 사용해 벡터 버킷을 만드는 방법을 보여줘요. 이 예시를 사용하려면 user input placeholders를 여러분의 정보로 바꿔주세요.

aws s3vectors create-vector-bucket \
        --vector-bucket-name "amzn-s3-demo-vector-bucket" \
        --encryption-configuration '{"sseType": "aws:kms", "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"}'

다음 예시는 AWS CLI로 SSE-S3 암호화 구성을 사용해 벡터 인덱스를 만드는 방법을 보여줘요. 이 예시를 사용하려면 user input placeholders를 여러분의 정보로 바꿔주세요.

aws s3vectors create-index \
        --vector-bucket-name "amzn-s3-demo-vector-bucket" \
        --index-name "amzn-s3-demo-vector-index" \
        --encryption-configuration '{"sseType": "AES256"}'

다음 예시는 고객 관리형 키와 함께 SSE-KMS 암호화 구성을 사용해 벡터 인덱스를 만드는 방법을 보여줘요. 이 예시를 사용하려면 user input placeholders를 여러분의 정보로 바꿔주세요.

aws s3vectors create-index \
        --vector-bucket-name "amzn-s3-demo-vector-bucket" \
        --index-name "amzn-s3-demo-vector-index" \
        --encryption-configuration '{"sseType": "aws:kms", "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890abc"}'

다음 예시는 벡터 버킷의 암호화 설정을 사용해 벡터 인덱스를 만드는 방법을 보여줘요. 이 예시를 사용하려면 user input placeholders를 여러분의 정보로 바꿔주세요.

aws s3vectors create-index \
        --vector-bucket-name "amzn-s3-demo-vector-bucket" \
        --index-name "amzn-s3-demo-vector-index" \

더 알아보기 (Learn more)