En este reportaje especial, Balaji Ganesan, director general y cofundador de Privacera, el líder de seguridad y gobierno de datos en la nube, y de XA Secure, adquirida por Hortonworks, habla de la verdad que hay detrás de la evolución del Apache Ranger. Balaji es un comisionado de Apache Ranger™ y miembro de su comité de gestión de proyectos (PMC).
A medida que las empresas de todos los tamaños migran sus cargas de datos y de trabajo analítico para aprovechar el menor costo de capital de las nubes y la utilización eficiente de los recursos, se enfrentan a problemas de seguridad de los datos y de control de acceso similares a los que se plantearon cuando comenzaron a construir lagos de datos en las instalaciones de Hadoop a mediados del decenio de 2000. A fin de satisfacer esta necesidad, Apache Ranger surgió como una importante plataforma centralizada para administrar las políticas de control de acceso a través de una serie de aplicaciones de código abierto, entre ellas Apache Hive, Apache Spark y Apache Kafka, por nombrar sólo algunas.
Considerado un proyecto de código abierto de gran éxito que se utiliza en cientos de empresas de todo el mundo, Apache Ranger comenzó como un proyecto de software comercial. Mi socio Don Bosco Durai, Selvamohan Neethiraj, y yo fundamos XA Secure en 2013 con el objetivo de desarrollar una plataforma centralizada lista para la empresa, construida desde cero para definir y administrar los controles de acceso a los datos para los lagos de datos de Hadoop en las instalaciones. En el transcurso del año, XA Secure fue adquirida por Hortonworks, que rápidamente donó toda la base de código de XA Secure, que comprende aproximadamente 440.000 líneas a la Fundación de Software Apache (ASF).
Al liberar el código, Hortonworks sentó las bases del Apache Ranger como un proyecto de Incubadora, cuya primera versión será liberada en noviembre de 2014. Avanzando rápidamente hasta 2017, el Ranger fue reconocido como un proyecto de alto nivel (TLP) – un testamento a la creciente comunidad y adopción del proyecto. De hecho, hasta el momento de escribir esto, Apache Ranger ha tenido más de 15 versiones mayores y menores.
Ranger es un marco centralizado para definir, administrar y gestionar las políticas de control de acceso. Gracias a la comunidad Ranger, la plataforma proporciona la más completa cobertura de seguridad en todo Hadoop y otros componentes de Big Data, todo desde una única interfaz, incluyendo:
- Arquitectura ligera basada en plugins que autoriza el acceso a los datos en el contexto de los recursos que se autorizan. Estos complementos son agentes distribuidos y ligeros que actúan como guardianes del acceso a varios proyectos de datos grandes como Apache Spark o Apache Kafka. Cuando un usuario ejecuta una consulta SQL o lee un archivo, el plugin Ranger realiza una rápida comprobación de autorización con respecto a los recursos a los que el usuario solicita acceso. Si el usuario tiene los permisos necesarios, el plugin permite entonces esencialmente que el grupo Hadoop se haga cargo del procesamiento de la consulta. La arquitectura del plugin también ofrece la posibilidad de ampliar su modelo de autorización a sistemas que no forman parte del ecosistema Hadoop.
- Ubicación central de la auditoría que autoriza las solicitudes en todos los componentes. El marco de auditorías exhaustivas proporciona una rica información junto con metadatos contextuales como la clasificación de los recursos, el IP, la localización, la política específica y su versión para cada solicitud de acceso.
- Características de seguridad avanzadas incluyen el enmascaramiento dinámico de la columna y el filtrado de filas. La capacidad de enmascaramiento dinámico de datos permite que sólo los usuarios autorizados vean los datos que se les permite ver, mientras que para los demás usuarios los mismos datos se enmascaran o se anonimizan. La seguridad a nivel de filas del Ranger es una condición de filtro predeterminada que permite a los administradores presentar un número limitado de filas filtradas de una tabla de la colmena sin necesidad de añadirlas manualmente como predicciones o crear múltiples vistas.
- Servicio de Gestión de Claves (KMS) almacena y gestiona las claves de cifrado para el cifrado de datos transparente de HDFS. Ranger KMS es compatible con el API nativo de KMS de Hadoop.
A pesar de que para muchos es un pilar de la comunidad de código abierto, hay una serie de conceptos erróneos relacionados con los Apache Ranger:
- Mito #1: El Apache Ranger es exclusivamente una solución RBAC para servicios de datos heterogéneos – Es un concepto erróneo común que el Ranger se basa exclusivamente en el enfoque de control de acceso basado en funciones (RBAC) para aplicar las políticas de control de acceso. La realidad es que Ranger comenzó su andadura como un proyecto de código abierto basado en el enfoque de control de acceso basado en atributos (ABAC). Además de facultar a los administradores de datos para definir políticas de acceso basadas en funciones y usuarios, Ranger también ofrece la flexibilidad de autorizar políticas basadas en una combinación del sujeto, la acción, el recurso y el entorno. Utilizando atributos descriptivos como el grupo de directorio activo (AD), etiquetas o clasificaciones basadas en el Atlas Apache, geo-localización, etc., Ranger ofrece un enfoque holístico de la gestión de datos que abarca tanto el enfoque ABAC como el RBAC.
- Mito #2: El Apache Ranger sigue un enfoque basado en el rechazo para el control de acceso – El segundo concepto erróneo es que el Ranger sigue un enfoque de control de acceso basado en el rechazo. De hecho es todo lo contrario, ya que Apache Ranger sigue la mejor práctica de la industria para escribir políticas de acceso con el menor privilegio. Según este enfoque, se niega explícitamente a los usuarios a menos que exista una política que les conceda específicamente acceso a los datos solicitados. Por ejemplo, un usuario sólo puede tener privilegios de selección pero no de actualización.
- Mito #3: El Apache Ranger produce un gran número de políticas de acceso que son difíciles de mantener – El Apache Ranger aprovecha las mejores prácticas de las condiciones de Acceso y Denegación para ofrecer un nivel preciso de control de acceso a las empresas. La capacidad de soportar condiciones de denegación/permiso junto con condiciones específicas de exclusión/inclusión permite a los administradores de seguridad y cumplimiento conseguir un control de acceso a un nivel muy preciso mediante la redacción de un pequeño conjunto de políticas fácilmente comprensibles. En algunos casos, lo que hubiera requerido una docena de funciones y permisos para especificar una política, puede hacerse ahora con una sola política sencilla en el marco normativo general de Apache Ranger.
Avance rápido cuatro años después de que Apache Ranger se convirtiera en un TLP y ahora es un marco de gestión de datos comúnmente utilizado para los lagos de datos on-prem. Desplegado en miles de empresas de todo el mundo y gestionando petabytes de datos, ha demostrado ser el marco de gobierno de datos escalable y flexible necesario para resolver el problema de la gestión de los datos almacenados en entornos de Big Data dispares y heterogéneos.
Mirando hacia el futuro, las plataformas de nubes distribuidas utilizadas por las empresas hoy en día han dado lugar a un problema similar a los entornos de Big Data del pasado. Es difícil asegurar los datos distribuidos en diferentes entornos de nubes debido a los dispares mecanismos de control de acceso que ofrecen los proveedores de servicios de nubes. Para las empresas que migran a la nube, hay lecciones históricas que se pueden aprender de 7 años de desarrollo comunitario y del apoyo de Apache Ranger que ahora se pueden aplicar a la nube.
El corolario de los mitos antes mencionados puede considerarse como las mejores prácticas para la gestión responsable de los datos en la nube. Concretamente, al seleccionar una solución de gobierno de datos para la nube, las empresas deben considerar un método de control de acceso que pueda: a.) proporcionar una plataforma centralizada para definir y gestionar las políticas de control de acceso en los entornos de las instalaciones y de la nube y en los servicios nativos de la nube; b.) aprovechar tanto el control de acceso basado en atributos como el basado en funciones; c.) crear políticas de acceso basadas en el mínimo privilegio; y d.) maximizar la seguridad de grano fino sin el dolor de cabeza que supone gestionar un número exponencial de políticas. Aplicando las mejores prácticas cultivadas a partir de mi experiencia en el desarrollo de Apache Ranger y aplicando los pasos anteriores, usted estará bien encaminado para optimizar su infraestructura de gobierno y privacidad de datos en la nube.
Suscríbete al boletín de noticias gratuito de InsideBIGDATA.