momius - Fotolia
¿Las bases de datos PaaS son más seguras que las aplicaciones IaaS?
Elegir entre una base de datos de PaaS y una base de datos de IaaS con grandes cantidades de datos puede ser un reto.
Si bien AWS tiene productos que funcionan con aplicaciones de Internet de las Cosas (IoT), he leído que las arquitecturas de bases de datos de PaaS pueden ser el mejor camino a seguir cuando se trata de grandes cantidades de datos. ¿Cuáles son las implicaciones de seguridad de las aplicaciones de base de datos de PaaS, y cuándo sería aconsejable usarlas para aplicaciones de IoT?
Hay implicaciones básicas de seguridad al utilizar una base de datos basada en la nube que son comunes en la infraestructura como servicio y plataforma como servicio; dos diferencias importantes son la responsabilidad compartida de la seguridad en el modelo PaaS, y la cuestión de varios inquilinos en las bases de datos de PaaS.
Cada vez que mueve una aplicación a la nube, estará compartiendo la responsabilidad de seguridad con un proveedor de la nube. Por ejemplo, si usted maneja sus propias bases de datos en instancias EC2 de AWS, usted dependerá de AWS para proporcionar seguridad física e implementar controles de acceso. Como cliente de IaaS, usted será responsable de asegurar los sistemas operativos y especificar las autorizaciones para los usuarios. Cuando se trabaja con PaaS, más responsabilidad se desplaza al proveedor de PaaS.
Los proveedores de PaaS presumiblemente manejarán los controles de seguridad de las bases de datos. En concreto, el proveedor aseguraría servidores, aplicaciones de bases de datos, archivos y otros mecanismos de almacenamiento. Esto es una ventaja para los desarrolladores de aplicaciones de IoT que pueden centrarse más en las características de la aplicación y la analítica que en la administración de base de datos.
Cuando se utiliza una base de datos de PaaS, es posible que desee considerar cómo se almacenan los datos con respecto a otros datos de usuario PaaS. Por ejemplo, si se utiliza una base de datos de valor clave, los datos pueden ser almacenados en una única base de datos lógica. En este escenario, la aplicación PaaS tendría que incluir un identificador específico del cliente con cada clave para evitar colisiones con los datos de otros clientes. Si una base de datos relacional se utiliza para almacenar datos de una aplicación específica –como las lecturas de los sensores de un coche– entonces los proveedores de PaaS pueden utilizar una sola base de datos y partición basada en la ID de cliente. Una pregunta clave para los clientes de PaaS es “¿cómo se almacenan los datos con respecto a los datos de otros clientes y acaso ese mecanismo crea vulnerabilidades potenciales para que otros puedan acceder a los datos de un cliente?”.
Los inquilinos múltiples también son un problema con respecto a las aplicaciones que se ejecutan en servidores virtuales. ¿Recibirá una sola instancia de una aplicación los datos de varios clientes? Por ejemplo, una cola de mensajería como Kafka o Kenesis podría ser utilizada para recibir datos de dispositivos de IoT; ¿es aceptable para usted compartir un servicio de mensajería o usted requiere su propio flujo de entrada aislado?
Los proveedores de PaaS pueden ofrecer servicios de bases de datos especializadas bien afinadas para cargas de trabajo de IoT. Es importante entender cómo se implementan múltiples usuarios en los servicios de carga de datos, el procesamiento de aplicaciones y el almacenamiento de datos.