View a markdown version of this page

Protección de datos en AWS Clean Rooms - AWS Clean Rooms

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Protección de datos en AWS Clean Rooms

El modelo de responsabilidad compartida de AWS se aplica a la protección de datos en AWS Clean Rooms. Como se describe en este modelo, AWS es responsable de proteger la infraestructura global que ejecuta todo el Nube de AWS. Eres responsable de mantener el control sobre el contenido alojado en esta infraestructura. También eres responsable de las tareas de administración y configuración de seguridad para los Servicios de AWS que utiliza. Para obtener más información sobre la privacidad de los datos, consulte las Preguntas frecuentes sobre la privacidad de los datos y las condiciones legales de la región de . Para obtener más información sobre la protección de datos en Europa, consulte el Centro del Reglamento General de Protección de Datos (RGPD).

Con fines de protección de datos, le recomendamos que proteja Cuenta de AWS las credenciales y configure los usuarios individuales con AWS IAM Identity Center o AWS Identity and Access Management (IAM). De esta manera, solo se otorgan a cada usuario los permisos necesarios para cumplir sus obligaciones laborales. También recomendamos proteger sus datos de la siguiente manera:

  • Utiliza la autenticación multifactor (MFA) en cada cuenta.

  • Úselo SSL/TLS para comunicarse con AWS los recursos. Exigimos TLS 1.2 y recomendamos TLS 1.3.

  • Configure el registro de actividad de los usuarios y de la API con AWS CloudTrail. Para obtener información sobre el uso de CloudTrail rutas para capturar AWS actividades, consulte Cómo trabajar con CloudTrail rutas en la Guía del AWS CloudTrail usuario.

  • Utilice soluciones de AWS cifrado, junto con todos los controles de seguridad predeterminados que contiene Servicios de AWS.

  • Utiliza servicios de seguridad administrados avanzados, como Amazon Macie, que lo ayuden a detectar y proteger la información confidencial almacenada en Amazon S3.

  • Si necesita módulos criptográficos validados por la FIPS 140-3 para acceder a AWS través de una interfaz de línea de comandos o una API, utilice un punto final FIPS. Para obtener más información sobre los puntos de conexión de FIPS disponibles, consulte Estándar de procesamiento de la información federal (FIPS) 140-3.

Se recomienda encarecidamente no introducir nunca información confidencial o sensible, como por ejemplo, direcciones de correo electrónico de clientes, en etiquetas o campos de formato libre, tales como el campo Nombre. Esto incluye trabajar con la consola, la API AWS Clean Rooms o los Servicios de AWS SDK o utilizarlos de otro modo. AWS CLI AWS Cualquier dato que introduzca en etiquetas o campos de formato libre utilizados para los nombres se pueden emplear para los registros de facturación o diagnóstico. Si proporciona una URL a un servidor externo, recomendamos encarecidamente que no incluya la información de las credenciales en la URL para validar la solicitud para ese servidor.

Cifrado en reposo

AWS Clean Rooms siempre cifra todos los metadatos del servicio en reposo sin necesidad de ninguna configuración adicional. Este cifrado es automático cuando se usa AWS Clean Rooms.

Clean Rooms ML cifra todos los datos almacenados en el servicio inactivo. AWS KMS Si decide proporcionar su propia clave KMS, el contenido de sus modelos similares y de los trabajos de generación de segmentos similares se cifra en reposo con su clave KMS.

Cuando se utilizan modelos de aprendizaje automático AWS Clean Rooms personalizados, el servicio cifra todos los datos almacenados en reposo con. AWS KMS AWS Clean Rooms admite el uso de claves simétricas administradas por el cliente que usted crea, posee y administra para cifrar los datos en reposo. Si no se especifican las claves administradas por el cliente, Claves propiedad de AWS se utilizan de forma predeterminada.

AWS Clean Rooms usa políticas de concesión y clave para acceder a las claves administradas por el cliente. Puede revocar el acceso a la concesión o eliminar el acceso del servicio a la clave administrada por el cliente en cualquier momento. Si lo hace, AWS Clean Rooms no podrá acceder a ninguno de los datos cifrados por la clave gestionada por el cliente, lo que afectará a las operaciones que dependen de esos datos. Por ejemplo, si intentas crear un modelo entrenado a partir de un canal de entrada de aprendizaje automático cifrado al que no AWS Clean Rooms puedes acceder, la operación generará un ValidationException error.

nota

Puede utilizar las opciones de cifrado de Amazon S3 para proteger sus datos en reposo.

Para obtener más información, consulte Especificación del cifrado de Amazon S3 en la Guía del usuario de Amazon S3.

Cuando se utiliza una tabla de mapeo de ID interna AWS Clean Rooms, el servicio cifra todos los datos almacenados en reposo con AWS KMS ella. Si decides proporcionar tu propia clave de KMS, el contenido de la tabla de asignación de ID se cifra en reposo con tu clave de KMS mediante AWS Entity Resolution. Para obtener más información sobre los permisos necesarios para trabajar con cifrados con un flujo de trabajo de asignación de ID, consulte Crear un rol de trabajo del flujo de trabajo para AWS Entity Resolution en la Guía del usuario de AWS Entity Resolution .

Cifrado en tránsito

AWS Clean Rooms usa Transport Layer Security (TLS) para el cifrado en tránsito. La comunicación siempre AWS Clean Rooms se realiza a través de HTTPS, por lo que sus datos siempre están cifrados en tránsito, independientemente de si están almacenados en Amazon S3, Amazon Athena o Snowflake. Esto incluye todos los datos en tránsito cuando se utiliza Clean Rooms ML.

Cifrado de datos subyacentes

Para obtener más información sobre cómo cifrar sus datos subyacentes, consulte Computación criptográfica para Clean Rooms.

Política de claves

Las políticas de clave controlan el acceso a la clave administrada por el cliente. Cada clave administrada por el cliente debe tener exactamente una política de clave, que contiene instrucciones que determinan quién puede usar la clave y cómo puede utilizarla. Cuando crea la clave administrada por el cliente, puede especificar una política de clave. Para obtener más información, consulte Administrar el acceso a las claves administradas por los clientes en la AWS Key Management Service Guía para desarrolladores.

Para usar la clave gestionada por el cliente con los modelos de aprendizaje automático AWS Clean Rooms personalizados, la política de claves debe permitir las siguientes operaciones de API:

  • kms:DescribeKey— Proporciona los detalles de la clave gestionada por el cliente AWS Clean Rooms para permitir la validación de la clave.

  • kms:Decrypt— Proporciona acceso AWS Clean Rooms para descifrar los datos cifrados y utilizarlos en trabajos relacionados.

  • kms:CreateGrant- Clean Rooms ML cifra las imágenes de entrenamiento e inferencia en reposo en Amazon ECR mediante la creación de subvenciones para Amazon ECR. Para obtener más información, consulte Cifrado en reposo en Amazon ECR. Clean Rooms ML también usa Amazon SageMaker AI para ejecutar trabajos de entrenamiento e inferencia, y otorga subvenciones para que la SageMaker IA cifre los volúmenes de Amazon EBS adjuntos a las instancias, así como los datos de salida de Amazon S3. Para obtener más información, consulte Proteger los datos en reposo mediante el cifrado en Amazon AI. SageMaker

  • kms:GenerateDataKey- Clean Rooms ML cifra los datos en reposo almacenados en Amazon S3 mediante el cifrado del lado del servidor con. AWS KMS keys Para obtener más información, consulte Uso del cifrado del lado del servidor con AWS KMS keys () SSE-KMS en Amazon S3.

Los siguientes son ejemplos de declaraciones de políticas que puede agregar AWS Clean Rooms para los siguientes recursos:

Canal de entrada ML con datos sintéticos

{ "Version":"2012-10-17", "Statement": [ { "Sid": "Allow access to principals authorized to use AWS Clean Rooms ML", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::666666666666:role/ExampleRole" }, "Action": [ "kms:GenerateDataKey", "kms:CreateGrant", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "cleanrooms-ml.us-east-1.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "Encrypt", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "CreateGrant", "DescribeKey", "RetireGrant", "GenerateDataKey" ] }, "BoolIfExists": { "kms:GrantIsForAWSResource": true } } }, { "Sid": "Allow describe key for principals authorized to use AWS Clean Rooms ML", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:role/ExampleRole" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "cleanrooms-ml.us-east-1.amazonaws.com" } } }, { "Sid": "Allow grant operations for AWS Clean Rooms ML service principal", "Effect": "Allow", "Principal": { "Service": "cleanrooms-ml.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:CreateGrant", "kms:Decrypt" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "Encrypt", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "CreateGrant", "DescribeKey", "RetireGrant", "GenerateDataKey" ] } } }, { "Sid": "Allow describe key for AWS Clean Rooms ML service principal", "Effect": "Allow", "Principal": { "Service": "cleanrooms-ml.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*" } ] }

Canal de entrada ML sin datos sintéticos

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Allow access to principals authorized to use AWS Clean Rooms ML", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::666666666666:role/ExampleRole" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "cleanrooms-ml.us-east-1.amazonaws.com" } } }, { "Sid": "Allow access to AWS Clean Rooms ML service principal", "Effect": "Allow", "Principal": { "Service": "cleanrooms-ml.amazonaws.com" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }

Trabajo modelo capacitado o trabajo de inferencia modelo capacitado

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Allow grant operations for principals authorized to use AWS Clean Rooms ML", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::666666666666:role/ExampleRole" }, "Action": [ "kms:GenerateDataKey", "kms:CreateGrant", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "cleanrooms-ml.us-east-1.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "Encrypt", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "CreateGrant", "DescribeKey", "RetireGrant", "GenerateDataKey" ] }, "BoolIfExists": { "kms:GrantIsForAWSResource": true } } }, { "Sid": "Allow describe key for principals authorized to use AWS Clean Rooms ML", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:role/ExampleRole" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "cleanrooms-ml.us-east-1.amazonaws.com" } } }, { "Sid": "Allow grant operations for AWS Clean Rooms ML service principal", "Effect": "Allow", "Principal": { "Service": "cleanrooms-ml.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:CreateGrant", "kms:Decrypt" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "Encrypt", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "CreateGrant", "DescribeKey", "RetireGrant", "GenerateDataKey" ] } } }, { "Sid": "Allow describe key for AWS Clean Rooms ML service principal", "Effect": "Allow", "Principal": { "Service": "cleanrooms-ml.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*" } ] }

Clean Rooms ML no permite especificar el contexto de cifrado del servicio o el contexto de origen en las políticas de claves administradas por el cliente. El contexto de cifrado utilizado internamente por el servicio es visible para los clientes en CloudTrail.

Cifrado para tablas intermedias

Cuando se utilizan tablas intermedias en ellas AWS Clean Rooms, el servicio cifra todos los datos almacenados en reposo con AWS Key Management Service (AWS KMS). De forma predeterminada, el servicio cifra los datos de la tabla intermedia con una clave administrada por el servicio. Si decides proporcionar tu propia clave de KMS, el servicio cifra la tabla intermedia en reposo con esa clave. Esto usa el cifrado del lado del servidor con AWS KMS keys (). SSE-KMS

AWS Clean Rooms utiliza políticas clave y principios de servicio para acceder a las claves administradas por el cliente para las tablas intermedias. El servicio cifra los datos de la tabla intermedia en el momento de la escritura cuando la tabla está llena y descifra los datos de forma transparente cuando la tabla intermedia se utiliza en un análisis posterior.

El ARN de la clave de KMS se proporciona en el momento de la creación de la tabla intermedia y se aplica a todas las versiones de la tabla. Puede actualizar la clave de KMS mediante la acción Editar de la página de detalles de la tabla intermedia. La nueva clave surtirá efecto la próxima vez que se complete, es decir, cada versión se cifra con la clave que se especificó en el momento de rellenarla.

nota

La eliminación de una tabla intermedia no requiere ninguna AWS KMS operación. El servicio de almacenamiento gestionado elimina los datos cifrados de Amazon S3.

AWS KMS Permisos necesarios para las tablas intermedias

Para usar la clave gestionada por el cliente con tablas intermedias, la política de claves debe permitir las siguientes operaciones de API:

  • kms:DescribeKey— Valida el estado de la clave al crear o actualizar una tabla intermedia.

  • kms:GenerateDataKey— Cifra los datos de la tabla intermedia cuando la tabla está llena. Amazon S3 llama AWS KMS en nombre del servicio para generar claves de datos para el SSE-KMS cifrado.

  • kms:Decrypt— Descifra los datos de la tabla intermedia cuando se hace referencia a la tabla en un análisis posterior. Amazon S3 llama AWS KMS en nombre del servicio para descifrar los datos de forma transparente.

Ejemplo de política clave para tablas intermedias

El siguiente es un ejemplo de política de claves para usar una clave gestionada por el cliente con tablas intermedias:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Clean Rooms to encrypt and decrypt intermediate table data", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:cleanrooms:intermediateTableArn": "arn:aws:cleanrooms:us-east-1:666666666666:membership/membership-id/intermediatetable/intermediate-table-id" }, "ForAnyValue:ArnEquals": { "aws:SourceArn": [ "arn:aws:cleanrooms:us-east-1:666666666666:membership/member-1-membership-id", "arn:aws:cleanrooms:us-east-1::membership/member-2-membership-id" ] } } }, { "Sid": "Allow Clean Rooms to describe key", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow caller to validate key via Clean Rooms", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::666666666666:role/ExampleRole" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "cleanrooms.us-east-1.amazonaws.com", "kms:CallerAccount": "666666666666" } } } ] }

La primera declaración otorga al principal del AWS Clean Rooms servicio acceso para cifrar los datos durante el proceso de rellenado y descifrar los datos durante el análisis. La kms:EncryptionContext:aws:cleanrooms:intermediateTableArn condición restringe las tablas intermedias que pueden usar la clave. La aws:SourceArn condición proporciona una protección confusa para los diputados al restringir el acceso a los ARN de membresía específicos de la colaboración.

La segunda afirmación permite al servicio describir la clave con fines de validación.

La tercera afirmación permite que una función de IAM específica de la cuenta del cliente lleve a cabo la validación de la clave. AWS Clean Rooms Las acciones permitidas son DescribeKey GenerateDataKey, y Decrypt. El acceso está sujeto a usos kms:ViaService y kms:CallerAccount condiciones. Esta función suele ser la función de IAM con la que se interactúa. AWS Clean Rooms

Contexto de cifrado

AWS Clean Rooms utiliza el siguiente contexto de cifrado al cifrar los datos de la tabla intermedia:

{ "aws:cleanrooms:intermediateTableArn": "arn:aws:cleanrooms:us-east-1:123456789012:membership/membership-id/intermediatetable/intermediate-table-id" }

Todas las AWS KMS operaciones se registran CloudTrail con el ARN de la tabla intermedia, lo que proporciona un registro de auditoría claro de qué recurso activó cada llamada de cifrado o descifrado. Puede usar la clave de kms:EncryptionContext condición en su política de claves para restringir las tablas intermedias que pueden usar la clave.