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 Amazon Cognito
El modelo de responsabilidad AWS https://aws.amazon.com/compliance/shared-responsibility-model/ se aplica a la protección de datos en Amazon Cognito (Amazon Cognito). Como se describe en este modelo, AWS es responsable de proteger la infraestructura global que gestiona toda la AWS nube. Eres responsable de mantener el control sobre el contenido alojado en esta infraestructura. Este contenido incluye las tareas de administración y configuración de seguridad para los AWS servicios que utiliza. Para obtener más información sobre la privacidad de datos, consulte Preguntas frecuentes sobre la privacidad de datos.
Por motivos de protección de datos, le recomendamos que proteja las credenciales de las AWS cuentas y configure cuentas de usuario individuales con AWS Identity and Access Management (IAM). De esta manera, cada usuario recibe únicamente los permisos necesarios para cumplir con sus obligaciones laborales. También recomendamos proteger sus datos de las siguientes maneras:
-
Utiliza la autenticación multifactor (MFA) en cada cuenta.
-
SSL/TLS Utilízalo para comunicarte con AWS los recursos.
-
Configure el registro de actividad de los usuarios y de la API con AWS CloudTrail.
-
Utilice soluciones de AWS cifrado, junto con todos los controles de seguridad predeterminados de AWS
los servicios.
-
Utilice avanzados servicios de seguridad administrados, como Amazon Macie, que lo ayuden a detectar y proteger los datos personales almacenados en Amazon S3.
Le recomendamos encarecidamente que nunca introduzca información de identificación confidencial, como, por ejemplo, números de cuenta de sus clientes, en los campos de formato libre, como el campo Nombre. Esto incluye cuando trabaja con Amazon Cognito u otros AWS
servicios mediante la consola, la API o los AWS SDK. AWS CLI Es posible que cualquier dato que ingrese en Amazon Cognito o en otros servicios se incluya en los registros de diagnóstico. Cuando proporcione una URL a un servidor externo, no incluya información de credenciales en la URL para validar la solicitud para ese servidor.
Cifrado de datos
El cifrado de datos normalmente se divide en dos categorías: el cifrado en reposo y el cifrado en tránsito.
Cifrado en reposo
Los datos de los grupos de usuarios y grupos de identidades de Amazon Cognito se cifran en reposo de acuerdo con los estándares del sector.
-
Amazon Cognito cifra los datos de los clientes en grupos de identidades con AWS claves propias. No puede cambiar este comportamiento.
-
De forma predeterminada, Amazon Cognito también cifra los datos de los clientes en grupos de usuarios con claves AWS propias. También puede configurar sus grupos de usuarios para, en su lugar, cifrar la información de sus clientes con claves administradas por los clientes.
- AWS clave propia
-
Amazon Cognito cifra los datos de su grupo de usuarios o de identidades con una clave de KMS AWS propia. Las claves de este tipo no están visibles en. AWS KMS
- Clave administrada por el cliente
-
Amazon Cognito cifra los datos de su grupo de usuarios con una clave gestionada por el cliente. Usted es el propietario de la administración de las políticas de claves gestionadas por los clientes, la rotación y la eliminación programada.
Es posible que el cifrado con claves administradas por el cliente no esté disponible en algunos grupos de usuarios. Newly-created los grupos de usuarios siempre tienen a su disposición esta forma de cifrado.
Lo que debe saber sobre el cifrado de grupos de usuarios con claves administradas por el cliente
-
Todos los datos de los clientes de los grupos de usuarios se cifran en reposo, incluso si no realizas ninguna acción para configurar los ajustes de cifrado.
-
Amazon Cognito solo admite claves de KMS simétricas en el Región de AWS mismo grupo de usuarios para el cifrado del grupo de usuarios en reposo. No puede configurar el cifrado de grupos de usuarios en reposo con claves asimétricas. Puede configurar el cifrado en reposo con claves de una sola región y con claves de varias regiones que estén en la misma región que su grupo de usuarios.
-
Puede configurar el cifrado del grupo de usuarios únicamente con un ARN de clave de KMS, no con un alias.
Cifrado PII
Amazon Cognito garantiza la confidencialidad, la integridad y la disponibilidad de la información de identificación personal (PII) en las búsquedas de atributos de usuario mediante un cifrado con capacidad de búsqueda. Estas funciones del código de autenticación de Hash-based mensajes (HMAC), con un rendimiento optimizado para los conjuntos de datos de grupos de usuarios, se asignan entre los valores cifrados y en texto plano de los atributos de usuario. Amazon Cognito calcula los valores del HMAC con la clave de KMS que cifra su grupo de usuarios. Esta protección se aplica a los siguientes atributos:
-
sub
-
email
-
phone_number
-
given_name
-
family_name
-
name
-
username
-
preferred_username
-
cognito:user_status
Los procedimientos siguientes configuran el cifrado en reposo en su grupo de usuarios. Para obtener más información sobre las políticas de claves de KMS que delegan el acceso a Servicios de AWS empresas como Amazon Cognito, consulte la sección Permisos de Amazon Cognito en las políticas de claves.
- Set customer managed key policy
-
Para utilizar una clave gestionada por el cliente, su clave debe confiar en que un director de servicio de Amazon Cognito realizará las operaciones de cifrado y descifrado de la clave. Configure la política de claves de su clave de KMS como se muestra en el siguiente ejemplo. El director de IAM que redacta esta política debe tener acceso de escritura a su clave de KMS, con kms:PutKeyPolicy permiso.
{
"Id": "cognito-cmk-policy",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow Amazon Cognito service access",
"Effect": "Allow",
"Principal": {
"Service": [
"cognito-idp.amazonaws.com",
"identitystore.amazonaws.com"
]
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKeyWithoutPlainText"
],
"Resource": "*",
"Condition": {
"ArnEquals": {
"aws:SourceArn": [
"arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE"
]
},
"StringEquals": {
"aws:SourceAccount": [
"111122223333"
]
},
"StringLike": {
"kms:EncryptionContext:aws:cognito-idp:userpool-arn": "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE"
}
}
},
{
"Sid": "Allow Amazon Cognito service DescribeKey access",
"Effect": "Allow",
"Principal": {
"Service": [
"cognito-idp.amazonaws.com",
"identitystore.amazonaws.com"
]
},
"Action": [
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"ArnEquals": {
"aws:SourceArn": [
"arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE"
]
},
"StringEquals": {
"aws:SourceAccount": [
"111122223333"
]
}
}
},
{
"Sid": "Allow access through Amazon Cognito for all principals in account that are authorized to use Amazon Cognito",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:ViaService": [
"cognito-idp.us-east-1.amazonaws.com"
]
}
}
},
{
"Sid": "Allow access through Amazon Cognito for all principals in account that are authorized to use Amazon Cognito",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKeyWithoutPlainText"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:ViaService": [
"cognito-idp.us-east-1.amazonaws.com"
]
},
"StringLike": {
"kms:EncryptionContext:aws:cognito-idp:userpool-arn": "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE"
}
}
},
{
"Sid": "Allow administrators to manage the key",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:*",
"Resource": "*"
}
]
}
- Set customer managed key policy with permissions for encryption of
exported logs
-
Aplique esta política a su clave de KMS cuando haya configurado la exportación de registros. Esta política permite a Amazon Cognito cifrar los registros a medida que los exporta y al servicio intermedio descifrarlos antes de escribirlos en su grupo de CloudWatch registros de Logs. Configure la política de claves de su clave de KMS como se muestra en el siguiente ejemplo. El director de IAM que redacta esta política debe tener acceso de escritura a su clave de KMS, con kms:PutKeyPolicy permiso.
{
"Id": "cognito-cmk-policy",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow Amazon Cognito service access",
"Effect": "Allow",
"Principal": {
"Service": [
"cognito-idp.amazonaws.com",
"identitystore.amazonaws.com"
]
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKeyWithoutPlainText"
],
"Resource": "*",
"Condition": {
"ArnEquals": {
"aws:SourceArn": [
"arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE"
]
},
"StringEquals": {
"aws:SourceAccount": [
"111122223333"
]
},
"StringLike": {
"kms:EncryptionContext:aws:cognito-idp:userpool-arn": "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE"
}
}
},
{
"Sid": "Allow Amazon Cognito service DescribeKey access",
"Effect": "Allow",
"Principal": {
"Service": [
"cognito-idp.amazonaws.com",
"identitystore.amazonaws.com"
]
},
"Action": [
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"ArnEquals": {
"aws:SourceArn": [
"arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE"
]
},
"StringEquals": {
"aws:SourceAccount": [
"111122223333"
]
}
}
},
{
"Sid": "Allow access through Amazon Cognito for all principals in account that are authorized to use Amazon Cognito",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:ViaService": [
"cognito-idp.us-east-1.amazonaws.com"
]
}
}
},
{
"Sid": "Allow access through Amazon Cognito for all principals in account that are authorized to use Amazon Cognito",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKeyWithoutPlainText"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:ViaService": [
"cognito-idp.us-east-1.amazonaws.com"
]
},
"StringLike": {
"kms:EncryptionContext:aws:cognito-idp:userpool-arn": "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE"
}
}
},
{
"Sid": "Allow Amazon Cognito service log delivery access",
"Effect": "Allow",
"Principal": {
"Service": [
"cognito-idp.amazonaws.com"
]
},
"Action": [
"kms:GenerateDataKey",
"kms:Encrypt"
],
"Resource": "*",
"Condition": {
"StringLike": {
"kms:EncryptionContext:SourceArn": "arn:aws:logs:us-east-1:111122223333:*"
}
}
},
{
"Sid": "Allow IngestionHub service log delivery access",
"Effect": "Allow",
"Principal": {
"Service": [
"delivery.logs.amazonaws.com"
]
},
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*",
"Condition": {
"StringLike": {
"kms:EncryptionContext:SourceArn": "arn:aws:logs:us-east-1:111122223333:*"
}
}
},
{
"Sid": "Allow administrators to manage the key",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:*",
"Resource": "*"
}
]
}
- Configure encryption at rest in the console
-
Para configurar el cifrado en reposo en un grupo de usuarios
-
Diríjase a la consola de Amazon Cognito. Es posible que se le soliciten sus credenciales de AWS
.
-
Elija User Pools (Grupos de usuarios).
-
Elija un grupo de usuarios existente en la lista o cree un grupo de usuarios.
-
Seleccione el menú Configuración y navegue hasta la pestaña de seguridad del grupo de usuarios. Busque Encryption at rest y seleccione Editar.
-
En Tipo de clave, seleccione la clave propia o la clave AWS gestionada por el cliente.
-
Si seleccionó la AWS clave propia, no se requiere ninguna configuración adicional.
-
Si seleccionó la clave gestionada por el cliente, introduzca el ARN de una clave de KMS en el ARN de la clave gestionada por el cliente. También puede elegir Crear una AWS KMS clave y abrir una nueva ventana en la AWS KMS consola para crear una nueva clave de KMS.
-
Seleccione Save changes (Guardar cambios).
- Configure encryption at rest with the API
-
Defina la configuración de su clave en una CreateUserPool solicitud de UpdateUserPool API. El siguiente ejemplo parcial del cuerpo de la solicitud establece un grupo de usuarios para usar la clave gestionada por el cliente proporcionada. Para ver un ejemplo de solicitud completo, consulte Ejemplos.
"KeyConfiguration": {
"KeyType": "CUSTOMER_MANAGED_KEY",
"KmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"
},
En el siguiente ejemplo parcial, el cuerpo de la solicitud configura un grupo de usuarios para que utilice AWS una clave propia.
"KeyConfiguration": {
"KeyType": "AWS_OWNED_KEY"
},
Si tu DescribeUserPool respuesta no incluye ningún KeyConfiguration parámetro, tu grupo de usuarios está configurado para cifrar los datos en reposo con una clave AWS propia.
Cifrado en tránsito
Como servicio gestionado, Amazon Cognito está protegido por la seguridad de red AWS global. Para obtener información sobre los servicios de AWS seguridad y cómo AWS protege la infraestructura, consulte AWS Cloud Security. Para diseñar su AWS
entorno utilizando las mejores prácticas de seguridad de la infraestructura, consulte Infrastructure Protection in Security Pillar AWS Well‐Architected Framework.
Utiliza las llamadas a la API AWS publicadas para acceder a Amazon Cognito a través de la red. Los clientes deben admitir lo siguiente:
-
Seguridad de la capa de transporte (TLS). Exigimos TLS 1.2 y recomendamos TLS 1.3.
-
Conjuntos de cifrado con un secreto directo perfecto (PFS), como el DHE (efímero) o el ECDHE (efímero con curva Diffie-Hellman elíptica). Diffie-Hellman La mayoría de los sistemas modernos como Java 7 y posteriores son compatibles con estos modos.
Los grupos de usuarios y grupos de identidades de Amazon Cognito tienen operaciones de API no autenticadas y autorizadas mediante tokens. IAM-authenticated Algunas son operaciones de tipo plano de control para operaciones administrativas, como la configuración de un dominio de grupo de usuarios, y otras son operaciones de tipo plano de datos para la autenticación. Para obtener más información, consulte Lista de operaciones de API agrupadas por modelo de autorización. Todas las clases de operaciones de la API de Amazon Cognito comparten un espacio de nombres (cognito-idppara grupos de usuarios y grupos de identidades) y puntos de enlace de cognito-identity servicio. AWS Los puntos de enlace de servicio requieren el cifrado en tránsito con una versión TLS mínima de 1.2.
Los grupos de usuarios de Amazon Cognito alojan el inicio de sesión gestionado y la interfaz de usuario alojada clásica en los dominios web operados por distribuciones de Amazon propiedad del servicio. CloudFront Amazon Cognito administra la configuración del cifrado en tránsito en esas distribuciones. Para obtener más información sobre la configuración de cifrado para el inicio de sesión administrado, consulte la versión TLS en el capítulo sobre el inicio de sesión administrado.