Intento diseñar un sistema que lee eventos provenientes de dispositivos, los almacena y expone la API a varias aplicaciones. Originalmente quería introducir un módulo traductor de identificación , por lo que almacenaría solo una identificación de dispositivo anónima en una base de datos. Luego se protegerá de la recolección de datos no autorizada.
Luego quise tener otro módulo llamado Roles Registry responsable de manejar los permisos de API para cada aplicación. Tenía una idea en mente que la aplicación que desea trabajar con un ID de dispositivo concreto necesitaría un permiso diferente al de la aplicación que usa identificadores anónimos.
Otro módulo API de acceso a eventos sería un punto de entrada único para el acceso a datos y evaluaría si el permiso de API se otorgó a la aplicación.
Pero cuando empiezo a pensar en ello, creo que este concepto es débil. Es difícil de explicar porque hay miles de preguntas ¿Qué pasa si llegan a mi mente? Considero que algunas son probables, rechazo otras, etc. Necesito especificar claramente mis requisitos y encontrar consecuencias.
Quiero
- base de datos anónima para que ninguno de los administradores pueda buscar datos de id de evento específico
- la búsqueda por el ID de dispositivo concreto requeriría un conjunto de permisos diferente al de la búsqueda anónima por otros criterios
Pero veo el problema principal con los datos devueltos:
- Si la API devuelve una identificación artificial, la persona que llama puede guardarla y luego puede usar la API anónima la próxima vez
- Si la API devuelve la identificación real del dispositivo, entonces la API necesita acceso a la base de datos de Id Translator (realmente big data, acceso rápido) y luego el administrador puede asociar fácilmente los datos anónimos con la identificación del dispositivo concreto
Puede que no sea resuelto y solo debo omitir el primer requisito (protección de administrador).
Le agradecería
- Cualquier información sobre cómo diseñar dicho sistema y API
- ¿Cuál es la mejor práctica?
- ¿Se anonimizarán los datos en la base de datos?
- ¿La API devolverá el identificador de db anónimo o la identificación del dispositivo real?
Gracias.