本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
S3 Vectors 中的資料保護和加密
注意
Amazon S3 Vectors 為 Amazon Simple Storage Service 的預覽版本,可能會有所變更。
Amazon S3 Vectors 為您的向量資料提供 99.999999999% (11 9s) 的耐久性,可確保向量儲存需求的卓越可靠性。此耐用性由經過驗證的 Amazon S3 基礎設施提供支援,即使在硬體故障或其他中斷的情況下,也能維持資料完整性和可用性。
S3 Vectors 中的資料保護包含多層安全控制,旨在保護靜態和傳輸中的向量資料。
根據預設,Amazon S3 Vectors 向量儲存貯體中的所有新向量都會使用伺服器端加密搭配 Amazon S3 受管金鑰 (SSE-S3)。當您使用 SSE-S3 加密建立向量儲存貯體時,儲存貯體上的所有後續操作會自動使用加密。
S3 Vectors 也與 AWS Key Management Service (KMS) 整合,以提供靈活的加密金鑰管理選項,讓您選擇客戶受管金鑰以進行許可控制和稽核。
設定 Amazon S3 向量儲存貯體的伺服器端加密行為
S3 Vectors 中的加密組態是基本的安全設定,可讓您在建立向量儲存貯體時指定 。此設計可確保儲存貯體中存放的所有向量資料在建立時都會加密。加密組態適用於儲存貯體中的所有向量、向量索引和中繼資料,可在向量儲存貯體中的整個向量資料集提供一致的保護。
重要
建立向量儲存貯體後,無法變更向量儲存貯體的加密設定。在儲存貯體建立過程中,您必須仔細考慮您的加密要求,包括合規要求、金鑰管理偏好設定,以及與現有安全基礎設施的整合。
SSE-S3 或 SSE-KMS 加密類型是在向量儲存貯體層級設定,並套用至儲存貯體中的所有向量索引和向量。您無法變更為儲存貯體中個別索引的不同加密設定。加密組態不僅適用於向量資料本身,也適用於所有相關聯的中繼資料。
使用 SSE-S3 加密
使用 Amazon S3 受管金鑰 (SSE-S3) 的伺服器端加密為向量儲存貯體提供簡單且有效的加密解決方案,其中 AWS 管理加密程序的所有層面。此加密方法使用AES-256
加密,旨在以最少的操作負荷提供強大的安全性,為組織提供強大的加密,而不需要管理加密金鑰的複雜性。
透過 SSE-S3,Amazon S3 會自動處理加密金鑰的產生、輪換和管理。SSE-S3 提供強大的安全性,無需額外的組態或持續的管理需求。加密和解密程序由 服務自動處理,除了標準 SSE-S3S3 加密無需額外付費。
使用 SSE-KMS 加密
使用 AWS Key Management Service 金鑰 (SSE-KMS) 的伺服器端加密可增強對加密金鑰的控制,並啟用金鑰用量的詳細稽核記錄。此加密方法非常適合具有嚴格合規要求的組織、需要實作自訂金鑰輪換政策的組織,或需要詳細資料存取稽核線索的環境。
SSE-KMS 可讓您使用客戶受管金鑰 (CMKs) 來加密向量資料。客戶受管金鑰提供最高層級的控制,可讓您定義金鑰政策、啟用或停用金鑰,以及透過 AWS CloudTrail 監控金鑰用量。此控制層級使 SSE-KMS 特別適合具有特定資料控管需求的受管制產業或組織。
搭配客戶受管金鑰使用 SSE-KMS 時,您可以完全控制誰可以使用金鑰來加密和解密資料。您可以建立詳細的金鑰政策,指定哪些使用者、角色或服務可以存取金鑰。
SSE-KMS 的重要考量事項
-
KMS 金鑰格式要求:S3 Vectors 要求您使用完整的 Amazon Resource Name (ARN) 格式指定 KMS 金鑰。不支援金鑰 IDs 或金鑰別名。
-
服務主體許可:當您搭配 S3 Vectors 使用客戶受管金鑰時,您必須明確授予許可給 S3 Vectors 服務主體,才能使用 KMS 金鑰。此要求可確保服務可以代表您加密和解密您的資料。需要存取的服務主體為
indexing.s3vectors.amazonaws.com
。
範例:S3 向量的 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..amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": ["aws:s3vectors:arn", "aws:s3vectors:resource-id"] } } } ] }
aws-region
-
必要的 KMS 許可:
-
S3 Vectors 服務主體許可:
-
kms:Decrypt
– 客戶受管金鑰上的 S3 Vectors 服務主體 (indexing.s3vectors.amazonaws.com
) 需要,以在背景操作中維護和最佳化索引
-
-
IAM 主體許可:
-
kms:Decrypt
– 所有向量層級操作 (PutVectors、GetVectors、QueryVectors、DeleteVectors、ListVectors) 都需要 -
kms:GenerateDataKey
– 使用客戶受管金鑰建立向量儲存貯體時需要
-
-
-
跨帳戶存取考量:使用 SSE-KMS 實作跨帳戶存取模式時,您必須確保 KMS 金鑰政策允許來自其他帳戶中適當主體的存取。金鑰 ARN 格式在跨帳戶案例中變得特別重要,因為它提供金鑰的明確參考,無論其存取的帳戶內容為何。