Protección y cifrado de datos en S3 Vectors
nota
Amazon S3 Vectors se encuentra en versión preliminar para Amazon Simple Storage Service y está sujeto a cambios.
Amazon S3 Vectors proporciona una durabilidad del 99,999999999 % (11 nueves) para los datos vectoriales, lo que garantiza una fiabilidad excepcional para las necesidades de almacenamiento vectorial. Esta durabilidad está respaldada por la infraestructura probada de Amazon S3, diseñada para mantener la integridad y la disponibilidad de los datos incluso ante errores de hardware u otras interrupciones.
La protección de datos en S3 Vectors abarca varias capas de controles de seguridad diseñados para proteger los datos vectoriales tanto en reposo como en tránsito.
De forma predeterminada, todos los vectores nuevos de los buckets de Amazon S3 Vectors utilizan el cifrado del servidor con claves administradas por Amazon S3 (SSE-S3). Cuando crea un bucket vectorial con cifrado SSE-S3, todas las operaciones posteriores en el bucket utilizan automáticamente el cifrado.
S3 Vectors también se integra con el servicio de administración de claves (KMS) de AWS para ofrecer opciones flexibles de administración de claves de cifrado, lo que le permite elegir claves administradas por el cliente para el control de permisos y la auditabilidad.
Establecimiento del comportamiento predeterminado del cifrado del servidor para los buckets de Amazon S3
La configuración del cifrado en S3 Vectors es una opción de seguridad fundamental que debe especificar al crear un bucket vectorial. Este diseño garantiza que todos los datos vectoriales almacenados en el bucket se cifren desde el momento de crearlos. La configuración del cifrado se aplica a todos los vectores, índices vectoriales y metadatos del bucket, lo que proporciona una protección coherente en todo el conjunto de datos vectoriales de un bucket vectorial.
importante
La configuración de cifrado para un bucket vectorial no se puede cambiar después de crearlo. Debe considerar detenidamente los requisitos de cifrado durante el proceso de creación del bucket, incluidos los requisitos de cumplimiento, las preferencias de administración de claves y la integración con la infraestructura de seguridad existente.
El tipo de cifrado SSE-S3 o SSE-KMS se establece en el bucket vectorial y se aplica a todos los índices vectoriales y vectores del bucket. No puede cambiar a otra configuración de cifrado para índices individuales dentro de un bucket. La configuración de cifrado se aplica no solo a los datos vectoriales en sí, sino también a todos los metadatos asociados.
Uso del cifrado SSE-S3
El cifrado del servidor con claves administradas por Amazon S3 (SSE-S3) proporciona una solución de cifrado sencilla y eficaz para buckets de vectores en la que AWS administra todos los aspectos del proceso de cifrado. Este método de cifrado utiliza el cifrado AES-256
y está diseñado para proporcionar seguridad sólida con una sobrecarga operativa mínima, lo que proporciona a las organizaciones un cifrado robusto sin la complejidad de tener que administrar claves de cifrado.
Con SSE-S3, Amazon S3 se encarga automáticamente de la generación, la rotación y la administración de las claves de cifrado. SSE-S3 proporciona una seguridad sólida sin requisitos adicionales de configuración o de administración continua. El servicio se encarga automáticamente de los procesos de cifrado y descifrado, y no hay cargos adicionales por utilizar el cifrado SSE-S3 más allá del precio estándar de Amazon S3 Vectors.
Uso del cifrado SSE-KMS
El cifrado del servidor con claves del servicio de administración de claves (SSE-KMS) de AWS proporciona un control mejorado con respecto a las claves de cifrado y habilita el registro de auditoría detallado del uso de claves. Este método de cifrado es ideal para organizaciones con requisitos de cumplimiento estrictos, las que necesitan implementar políticas de rotación de claves personalizadas o los entornos en los que se requieren registros de auditoría detallados del acceso a los datos.
SSE-KMS le permite utilizar claves administradas por el cliente (CMK) para cifrar los datos de vectores. Las claves administradas por el cliente proporcionan el máximo nivel de control, lo que le permite definir políticas de claves, habilitar o deshabilitar claves y supervisar el uso de las claves a través de AWS CloudTrail. Gracias a este nivel de control, SSE-KMS resulta especialmente adecuado para sectores regulados u organizaciones con requisitos específicos de gobernanza de datos.
Si utiliza SSE-KMS con claves administradas por el cliente, tendrá un control total sobre quién puede utilizar las claves para cifrar y descifrar datos. Puede crear políticas de claves detalladas que especifiquen qué usuarios, roles o servicios pueden acceder a las claves.
Consideraciones importantes para SSE-KMS
-
Requisitos de formato de claves de KMS: S3 Vectors requiere que especifique las claves de KMS mediante el formato completo de nombre de recurso de Amazon (ARN). No se admiten los ID ni los alias de clave.
-
Permisos de entidad principal de servicio: cuando utilice claves administradas por el cliente con S3 Vectors, debe conceder explícitamente permisos a la entidad principal del servicio de S3 Vectors para utilizar la clave de KMS. Este requisito garantiza que el servicio pueda cifrar y descifrar los datos en su nombre. La entidad principal del servicio que requiere acceso es
indexing.s3vectors.amazonaws.com
.
Ejemplo: política de claves de KMS para S3 Vectors
Para utilizar una clave de KMS administrada por el cliente con S3 Vectors, debe actualizar la política de claves a fin de incluir permisos para la entidad principal del servicio de S3 Vectors. A continuación, se muestra un ejemplo completo de política de claves.
{ "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
-
Permisos de KMS necesarios:
-
Permiso de entidad principal del servicio de S3 Vectors:
-
kms:Decrypt
: lo requiere la entidad principal del servicio de S3 Vectors (indexing.s3vectors.amazonaws.com
) en la clave administrada por el cliente para mantener y optimizar el índice en operaciones en segundo plano
-
-
Permisos de entidad principal de IAM:
-
kms:Decrypt
: necesario para todas las operaciones de vector (PutVectors, GetVectors, QueryVectors, DeleteVectors y ListVectors) -
kms:GenerateDataKey
: necesario para crear un bucket de vectores mediante la utilización de la clave administrada por el cliente
-
-
-
Consideraciones sobre el acceso entre cuentas: al implementar patrones de acceso entre cuentas con SSE-KMS, debe asegurarse de que la política de claves de KMS permita el acceso desde las entidades principales adecuadas en otras cuentas. El formato de ARN de la clave cobra especial importancia en escenarios entre cuentas, ya que proporciona una referencia inequívoca a la clave, independientemente del contexto de la cuenta desde la que se acceda a ella.