La entrega de datos e información casi en tiempo real permite a las empresas responder rápidamente a las necesidades de sus clientes. Los datos en tiempo real pueden provenir de una variedad de fuentes, que incluyen redes sociales, dispositivos IoT, monitoreo de infraestructura, monitoreo de centros de llamadas y más. Debido a la amplitud y profundidad de los datos que se incorporan de múltiples fuentes, las empresas buscan soluciones para proteger la privacidad de sus clientes y evitar que se acceda a datos confidenciales desde los sistemas finales. Anteriormente, tenía que confiar en motores de reglas de información de identificación personal (PII) que podían marcar falsos positivos o perder datos, o tenía que crear y mantener modelos personalizados de aprendizaje automático (ML) para identificar PII en sus datos de transmisión. También necesitaba implementar y mantener la infraestructura necesaria para admitir estos motores o modelos.
Para ayudar a agilizar este proceso y reducir costos, puede utilizar Amazon Comprehend, un servicio de procesamiento de lenguaje natural (NLP) que usa ML para encontrar información y relaciones como personas, lugares, sentimientos y temas en texto no estructurado. Ahora puede usar las capacidades de Amazon Comprehend ML para detectar y redactar PII en correos electrónicos de clientes, tickets de soporte, reseñas de productos, redes sociales y más. No se requiere experiencia en ML. Por ejemplo, puede analizar tickets de soporte y artículos de conocimientos para detectar entidades PII y redactar el texto antes de indexar los documentos. Después de eso, los documentos están libres de entidades PII y los usuarios pueden consumir los datos. La redacción de entidades de PII lo ayuda a proteger la privacidad de su cliente y cumplir con las leyes y regulaciones locales.
En esta publicación, aprenderá cómo implementar Amazon Comprehend en sus arquitecturas de transmisión para redactar entidades PII casi en tiempo real usando Manguera de bomberos de datos de Amazon Kinesis AWS Lambda.
Esta publicación se centra en la redacción de datos de campos seleccionados que se incorporan a una arquitectura de transmisión mediante Kinesis Data Firehose, donde desea crear, almacenar y mantener copias derivadas adicionales de los datos para el consumo de los usuarios finales o las aplicaciones posteriores. si estás usando Secuencias de datos de Amazon Kinesis o tiene casos de uso adicionales fuera de la redacción de PII, consulte Traduzca, redacte y analice datos de transmisión mediante funciones SQL con Amazon Kinesis Data Analytics, Amazon Translate y Amazon Comprehend, donde mostramos cómo puedes usar Estudio de análisis de datos de Amazon Kinesis creado por Zepelín apache y Apache Flink para analizar, traducir y redactar de forma interactiva campos de texto en datos de transmisión.
Resumen de la solución
La siguiente figura muestra una arquitectura de ejemplo para realizar la redacción de PII de datos de transmisión en tiempo real, utilizando Servicio de almacenamiento simple de Amazon (Amazon S3), Transformación de datos de Kinesis Data Firehose, Amazon Comprehendy AWS Lambda. Además, utilizamos el AWS SDK para Python (Boto3) para las funciones Lambda. Como se indica en el diagrama, el depósito sin procesar de S3 contiene datos no redactados y el depósito redactado de S3 contiene datos redactados después de usar Amazon Comprehend DetectPiiEntities
API dentro de una función Lambda.
Costos involucrados
Además de los costos de Kinesis Data Firehose, Amazon S3 y Lambda, esta solución generará costos de uso de Amazon Comprehend. El monto que paga es un factor de la cantidad total de registros que contienen PII y los caracteres que procesa la función Lambda. Para obtener más información, consulte Precios de Amazon Kinesis Data Firehose, Precios de Amazon Comprehendy Precios de AWS Lambda.
Como ejemplo, supongamos que tiene 10,000 500 registros y el valor clave del que desea redactar la PII es de 10,000 caracteres. De los 50 XNUMX registros, se identifica que XNUMX contienen PII. El detalle de los costos es el siguiente:
Contiene PII Costo:
- Tamaño de cada valor clave = 500 caracteres (1 unidad = 100 caracteres)
- Número de unidades (100 caracteres) por registro (el mínimo es 3 unidades) = 5
- Unidades totales = 10,000 5 (registros) x 1 (unidades por registro) x 50,000 (solicitudes de Amazon Comprehend por registro) = XNUMX XNUMX
- Precio por unidad = $ 0.000002
- Costo total para identificar registros de registro con PII mediante la API de ContainersPiiEntities = 0.1 USD [50,000 0.000002 unidades x XNUMX USD]
Redactar PII Costo:
- Unidades totales que contienen PII = 50 (registros) x 5 (unidades por registro) x 1 (solicitudes de Amazon Comprehend por registro) = 250
- Precio por unidad = $ 0.0001
- Costo total para identificar la ubicación de PII mediante la API de DetectPiiEntities = [número de unidades] x [costo por unidad] = 250 x 0.0001 USD = 0.025 USD
Costo total de identificación y redacción:
- Costo total: $0.1 (validación si el campo contiene PII) + $0.025 (redactar campos que contienen PII) = $0.125
Implemente la solución con AWS CloudFormation
Para esta publicación, proporcionamos un Formación en la nube de AWS redacción de datos de transmisión plantilla, que proporciona los detalles completos de la implementación para permitir implementaciones repetibles. Tras la implementación, esta plantilla crea dos depósitos S3: uno para almacenar los datos de muestra sin procesar recopilados de Amazon Kinesis Data Generator (KDG) y otro para almacenar los datos redactados. Además, crea un flujo de entrega de Kinesis Data Firehose con DirectPUT
como entrada, y una función Lambda que llama a Amazon Comprehend Contiene entidades Pii y Detectar entidades Pii API para identificar y redactar datos PII. La función de Lambda se basa en la entrada del usuario en las variables de entorno para determinar qué valores clave deben inspeccionarse en busca de PII.
La función Lambda en esta solución tiene tamaños de carga útil limitados a 100 KB. Si se proporciona una carga útil en la que el texto es superior a 100 KB, la función de Lambda la omitirá.
Para implementar la solución, complete los siguientes pasos:
- Lanzar la pila de CloudFormation en EE. UU. Este (Norte de Virginia)
us-east-1
: - Ingrese un nombre de pila y deje otros parámetros en su valor predeterminado
- Seleccione Reconozco que AWS CloudFormation podría crear recursos de IAM con nombres personalizados.
- Elige Crear pila.
Implementar recursos manualmente
Si prefiere construir la arquitectura manualmente en lugar de utilizar AWS CloudFormation, complete los pasos de esta sección.
Crea los cubos de S3
Cree sus cubos S3 con los siguientes pasos:
- En la consola de Amazon S3, elija cubos en el panel de navegación.
- Elige Crear cubeta.
- Cree un depósito para sus datos sin procesar y otro para sus datos redactados.
- Anote los nombres de los cubos que acaba de crear.
Crear la función Lambda
Para crear e implementar la función Lambda, complete los siguientes pasos:
- En la consola Lambda, elija Crear función.
- Elige Autor desde cero.
- Nombre de la función, introduzca
AmazonComprehendPII-Redact
. - Runtime, escoger 3.9 Python.
- Arquitectura, seleccione x86_64.
- Rol de ejecución, seleccione Cree un nuevo rol con permisos de Lambda.
- Después de crear la función, ingrese el siguiente código:
- Elige Despliegue.
- En el panel de navegación, elija Configuración.
- Navegue hasta Variables de entorno.
- Elige Editar.
- Clave, introduzca
keys
. - Valor, ingrese los valores clave de los que desea eliminar la PII, separados por una coma y un espacio. Por ejemplo, ingrese
Tweet1
,Tweet2
si está utilizando los datos de prueba de muestra proporcionados en la siguiente sección de esta publicación. - Elige Guardar.
- Navegue hasta Configuración general.
- Elige Editar.
- Cambiar el valor de Tiempo de espera a 1 minuto.
- Elige Guardar.
- Navegue hasta Permisos.
- Elija el nombre de la función en Rol de ejecución.
Eres redirigido a Gestión de identidades y accesos de AWS (IAM) consola. - Agregar permisos, escoger Adjuntar políticas.
- Participar
Comprehend
en la barra de búsqueda y elija la políticaComprehendFullAccess
. - Elige Adjuntar políticas.
Crear el flujo de entrega de Firehose
Para crear su flujo de entrega de Firehose, complete los siguientes pasos:
- En la consola de Kinesis Data Firehose, elija Crear flujo de entrega.
- Fuente, seleccione PUT directa.
- Destino, seleccione Amazon S3.
- Nombre del flujo de entrega, introduzca
ComprehendRealTimeBlog
. - under Transforme los registros de origen con AWS Lambda, seleccione implante.
- Función AWS Lambda, ingrese el ARN para la función que creó, o busque la función
AmazonComprehendPII-Redact
. - Tamaño del búfer, establezca el valor en 1 MB.
- Intervalo de búfer, déjalo como 60 segundos.
- under Configuración de destino, seleccione el depósito de S3 que creó para los datos redactados.
- under Configuración de copia de seguridad, seleccione el depósito de S3 que creó para los registros sin procesar.
- under Permiso, cree o actualice una función de IAM, o elija una función existente con los permisos adecuados.
- Elige Crear flujo de entrega.
Implemente la solución de transmisión de datos con Kinesis Data Generator
Puede usar Kinesis Data Generator (KDG) para incorporar datos de muestra a Kinesis Data Firehose y probar la solución. Para simplificar este proceso, proporcionamos una función Lambda y una plantilla de CloudFormation para crear un Cognito Amazonas usuario y asigne los permisos apropiados para usar el KDG.
- En Página del generador de datos de Amazon Kinesis, escoger Crear un usuario de Cognito con CloudFormation.Se le redirigirá a la consola de AWS CloudFormation para crear su pila.
- Proporcione un nombre de usuario y una contraseña para el usuario con el que inicia sesión en el KDG.
- Deje las otras configuraciones en sus valores predeterminados y cree su pila.
- En Salidas pestaña, seleccione el enlace de la interfaz de usuario de KDG.
- Introduzca su nombre de usuario y contraseña para iniciar sesión.
Envíe registros de prueba y valide la redacción en Amazon S3
Para probar la solución, complete los siguientes pasos:
- Inicie sesión en la URL de KDG que creó en el paso anterior.
- Elija la región donde se implementó la pila de AWS CloudFormation.
- Flujo/flujo de entrega, elige el flujo de entrega que creaste (si usaste la plantilla, tiene el formato
accountnumber-awscomprehend-blog
). - Deje las otras configuraciones en sus valores predeterminados.
- Para la plantilla de registro, puede crear sus propias pruebas o usar la siguiente plantilla. Si está usando los datos de muestra proporcionados a continuación para realizar pruebas, debe tener variables de entorno actualizadas en el
AmazonComprehendPII-Redact
función lambda aTweet1
,Tweet2
. Si se implementa a través de CloudFormation, actualice las variables de entorno paraTweet1
,Tweet2
dentro de la función Lambda creada. Los datos de prueba de muestra están a continuación: - Elige Enviar datosy espere unos segundos para que los registros se envíen a su transmisión.
- Después de unos segundos, detenga el generador KDG y verifique los archivos entregados en sus cubos S3.
El siguiente es un ejemplo de los datos sin procesar en el depósito de S3 sin procesar:
El siguiente es un ejemplo de los datos redactados en el depósito de S3 redactado:
La información confidencial se eliminó de los mensajes redactados, lo que brinda la confianza de que puede compartir estos datos con los sistemas finales.
Limpiar
Cuando termine de experimentar con esta solución, limpie sus recursos mediante la consola de AWS CloudFormation para eliminar todos los recursos implementados en este ejemplo. Si siguió los pasos manuales, deberá eliminar manualmente los dos cubos, el AmazonComprehendPII-Redact
función, la ComprehendRealTimeBlog
flujo, el grupo de registro para el ComprehendRealTimeBlog
stream y cualquier rol de IAM que se haya creado.
Conclusión
Esta publicación le mostró cómo integrar la redacción de PII en su arquitectura de transmisión casi en tiempo real y reducir el tiempo de procesamiento de datos al realizar la redacción en vuelo. En este escenario, usted proporciona los datos redactados a sus usuarios finales y un administrador del lago de datos protege el depósito sin procesar para su uso posterior. También puede crear un procesamiento adicional con Amazon Comprehend para identificar el tono o el sentimiento, identificar entidades dentro de los datos y clasificar cada mensaje.
Brindamos pasos individuales para cada servicio como parte de esta publicación y también incluimos una plantilla de CloudFormation que le permite aprovisionar los recursos necesarios en su cuenta. Esta plantilla debe usarse solo para pruebas de concepto o escenarios de prueba. Consulte las guías para desarrolladores para Amazon Comprehend, lambday Manguera de incendios de datos de Kinesis para cualquier límite de servicio.
Para comenzar con la identificación y redacción de PII, consulte Información de identificación personal (PII). Con la arquitectura de ejemplo de esta publicación, podría integrar cualquiera de las API de Amazon Comprehend con datos casi en tiempo real mediante la transformación de datos de Kinesis Data Firehose. Para obtener más información sobre lo que puede crear con sus datos casi en tiempo real con Kinesis Data Firehose, consulte la Guía para desarrolladores de Amazon Kinesis Data Firehose. Esta solución está disponible en todas las regiones de AWS donde están disponibles Amazon Comprehend y Kinesis Data Firehose.
Sobre los autores
joe morotti es un arquitecto de soluciones en Amazon Web Services (AWS), que ayuda a los clientes empresariales en todo el medio oeste de EE. UU. Ha ocupado una amplia gama de funciones técnicas y disfruta mostrando el arte de lo posible de los clientes. En su tiempo libre, disfruta pasar tiempo de calidad con su familia explorando nuevos lugares y analizando en exceso el rendimiento de su equipo deportivo.
Sriharsh Adari es arquitecto sénior de soluciones en Amazon Web Services (AWS), donde ayuda a los clientes a trabajar hacia atrás a partir de los resultados comerciales para desarrollar soluciones innovadoras en AWS. A lo largo de los años, ha ayudado a varios clientes en la transformación de plataformas de datos en verticales de la industria. Su área principal de especialización incluye estrategia tecnológica, análisis de datos y ciencia de datos. En su tiempo libre, le gusta jugar al tenis, ver programas de televisión en exceso y jugar a la tabla.
- AI
- arte ai
- generador de arte ai
- robot ai
- Kinesis amazónica
- Analytics
- inteligencia artificial
- certificación de inteligencia artificial
- inteligencia artificial en banca
- robots de inteligencia artificial
- robots de inteligencia artificial
- software de inteligencia artificial
- Aprendizaje automático de AWS
- blockchain
- conferencia blockchain ai
- Coingenius
- inteligencia artificial conversacional
- criptoconferencia ai
- de dall
- deep learning
- google ai
- Intermedio (200)
- Manguera de incendios de datos de Kinesis
- máquina de aprendizaje
- Platón
- platón ai
- Inteligencia de datos de Platón
- Juego de Platón
- PlatónDatos
- juego de platos
- escala ia
- sintaxis
- zephyrnet