S3 Vectors 中的資料保護和加密 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

S3 Vectors 中的資料保護和加密

Amazon S3 Vectors 為您的向量資料提供 99.999999999% (11 個 9) 的耐久性,可確保向量儲存需求的卓越可靠性。此耐久性以經實證的 Amazon S3 基礎設施為後盾,即使在硬體故障或其他作業中斷的情況下,也能維持資料完整性和可用性。

S3 Vectors 中的資料保護包含多層安全控制,旨在保護靜態的和傳輸中的向量資料。

根據預設,Amazon S3 Vectors 向量儲存貯體中的所有新向量,均使用 Amazon S3 管理的金鑰進行伺服器端加密 (SSE-S3)。當您使用 SSE-S3 加密建立向量儲存貯體時,儲存貯體上的所有後續操作都會自動使用加密。

S3 Vectors 也與 AWS Key Management Service (KMS) 整合,以提供靈活的加密金鑰管理選項,可讓您選擇客戶受管金鑰以進行許可控制和稽核。

在向量儲存貯體中建立向量索引時,您可以選擇覆寫向量儲存貯體層級加密設定,並在向量索引層級提供加密組態 (SSE-S3 或 KMS)。如果向量索引建立時未指定特定加密,則索引會從其所屬的向量儲存貯體繼承加密組態。

設定 Amazon S3 向量儲存貯體和索引的伺服器端加密行為

S3 Vectors 中的加密組態是基本安全設定,可指定您建立向量儲存貯體的時機。此設計可確保儲存貯體中儲存的所有向量資料,會從建立的那一刻開始加密。根據預設,加密組態會套用至儲存貯體中的所有向量、向量索引和中繼資料,為向量儲存貯體中的整個向量資料集提供一致的保護。您也可以選擇覆寫向量儲存貯體層級加密設定,並在向量索引層級提供專用加密組態 (SSE-S3 或 AWS KMS)。

重要

向量儲存貯體的加密設定,在建立向量儲存貯體後便無法變更。在建立儲存貯體的過程中,您必須仔細考量您的加密要求,包括合規要求、金鑰管理偏好設定,以及與現有安全基礎設施整合。

當您在向量儲存貯體層級設定 SSE-S3 或 SSE-KMS 加密類型時,預設會套用至儲存貯體中的所有向量索引和向量。加密組態不僅適用於向量資料本身,也適用於所有相關聯的中繼資料。

您也可以選擇覆寫向量儲存貯體層級加密設定,並在向量索引層級提供專用加密組態 (SSE-S3 或 KMS)。在建立向量索引之後,無法變更向量索引的加密設定。

使用 SSE-S3 加密

使用 Amazon S3 受管金鑰 (SSE-S3) 的伺服器端加密為向量儲存貯體提供簡單且有效的加密解決方案,其中 AWS 管理加密程序的所有層面。此加密方法使用 AES-256 加密,旨在以最低的操作負荷提供強大的安全性,為組織提供強大的加密功能,而不需要管理加密金鑰的複雜性。

透過 SSE-S3,Amazon S3 會自動處理加密金鑰的產生、輪換和管理。SSE-S3 提供強大的安全性,無需額外的組態,也沒有持續的管理要求。加密和解密程序由服務自動處理,而且使用 SSE-S3 加密不會產生超出標準 S3 Vectors 定價的額外費用。

使用 SSE-KMS 加密

使用 AWS Key Management Service 金鑰 (SSE-KMS) 的伺服器端加密可增強對加密金鑰的控制,並啟用金鑰用量的詳細稽核記錄。此加密方法非常適用於具有嚴格合規要求的組織、需要實作自訂金鑰輪換政策的組織,或者需要詳細資料存取之稽核軌跡的環境。

SSE-KMS 可讓您使用客戶自管金鑰 (CMK) 為向量資料加密。客戶自管金鑰提供最高層級的控制,可讓您定義金鑰政策、啟用或停用金鑰,以及透過 AWS CloudTrail 監控金鑰使用情況。此控制層級使 SSE-KMS 特別適用於具有特定資料治理要求的受管制產業或組織。

搭配客戶自管金鑰使用 SSE-KMS 時,您可以完全控制誰可以使用金鑰來加密和解密資料。您可以建立詳細的金鑰政策,指定哪些使用者、角色或服務可以存取金鑰。

SSE-KMS 的重要考量事項

  • KMS 金鑰格式要求:S3 Vectors 要求您使用完整的 Amazon Resource Name (ARN) 格式指定 KMS 金鑰。不支援金鑰 ID 或金鑰別名。

  • 服務主體許可:當您搭配 S3 Vectors 使用客戶自管金鑰時,必須明確授予許可權給 S3 Vectors 服務主體,才能使用 KMS 金鑰。此要求可確保服務能代替您加密和解密資料。需要存取的服務主體為 indexing.s3vectors.amazonaws.com

範例:S3 Vectors 的 KMS 金鑰政策

若要搭配 S3 Vectors 使用客戶自管 KMS 金鑰,您必須更新金鑰政策,以包含 S3 Vectors 服務主體的許可權。以下是完整的金鑰政策範例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3VectorsServicePrincipal", "Effect": "Allow", "Principal": { "Service": "indexing.s3vectors.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3vectors:aws-region:123456789012:bucket/*" }, "StringEquals": { "aws:SourceAccount": "123456789012" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": ["aws:s3vectors:arn", "aws:s3vectors:resource-id"] } } }, { "Sid": "AllowApplicationAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam:123456789012:role/VectorApplicationRole", "arn:aws:iam:123456789012:user/DataScientist" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "s3vectors.aws-region.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": ["aws:s3vectors:arn", "aws:s3vectors:resource-id"] } } } ] }
  • 必要的 KMS 許可:

    • S3 Vectors 服務主體許可:

      • kms:Decrypt – 客戶自管金鑰上的 S3 Vectors 服務主體 (indexing.s3vectors.amazonaws.com) 需要許可,如此才能在背景操作中維護和最佳化索引

    • IAM 主體許可

  • 跨帳戶存取權考量:使用 SSE-KMS 實作跨帳戶存取模式時,必須確保 KMS 金鑰政策允許來自其他帳戶中適當主體的存取。金鑰 ARN 格式在跨帳戶案例中變得特別重要,因為該格式能提供明確的金鑰參考,無論其存取的帳戶內容為何。