¿Qué es Compliance as code?
Generalmente, se entiende por compliance el cumplimiento normativo, es decir, aquellos procesos encargados de asegurarse de que una empresa, y sus empleados, desarrollen su actividad acorde con las leyes, reglamentos, normas y prácticas éticas aplicables en su sector de actividad. También es un concepto que puede ir más allá del cumplimiento legal, incluyendo otros códigos como el de conducta o ciertos reglamentos, por ejemplo.
En el sector TI, los requisitos regulatorios, estándares y normas de obligado cumplimiento para las empresas son múltiples y tienen una relevancia enorme, como, por ejemplo, el Reglamento General de Protección de Datos (RGPD), el Esquema nacional de seguridad (ENS) u otros estándares de seguridad como ISO 27001.
En general el cumplimiento en TI se refiere a todas las medidas, procedimientos y buenas prácticas relacionadas con la protección de los datos y de las propias infraestructuras que los almacenan, procesan y transmiten. Esto afecta a todas las empresas, con independencia de su tamaño y está muy relacionado con otro concepto que ya hemos visto, la soberanía del dato.
Compliance as code, ¿qué es?
Compliance as code pretende mejorar el proceso de desarrollo software demostrando de forma automatizada que el nuevo código cumple con las políticas y normativas pertinentes. El objetivo es definir las políticas de cumplimiento de forma que puedan escribirse en forma de test. De este modo, cualquier software que se quiera poner en producción debe superar esas pruebas.
El propósito de tratar las políticas como código (compliance as code se conoce también como policy as code) es, sencillamente, automatizar el cumplimiento para una aplicación coherente en toda la empresa y aplicar buenas prácticas de ingeniería de software como el control de versiones, por ejemplo, así como observar y supervisar el funcionamiento de las políticas.
Como es natural, se trata de un proceso continuo que se consigue ejecutando software para automatizar la aplicación, verificar, corregir, supervisar y elaborar informes sobre el estado del cumplimiento. Es decir, a modo de resumen, compliance as code se refiere a las herramientas y prácticas que permiten integrar las tres actividades fundamentales del cumplimiento: la prevención, la detección y el remedio. Es decir:
- Prevenir el incumplimiento comprobando automáticamente que los cambios previstos son conformes.
- Detectar el incumplimiento mediante la exploración automatizada del estado, notificando a las partes interesadas cuando se identifique una infraestructura que no cumple.
- Remediar el incumplimiento mediante los cambios necesarios inmediatos en la infraestructura, para así garantizar el máximo nivel de cumplimiento.
Beneficios del compliance as code
Adoptando el compliance as code obtenemos una serie de beneficios inmediatos.
- Normalización y coherencia: nos ayuda a establecer normas que se aplican de forma coherente, independientemente de las dimensiones de la infraestructura. Supervisar mil servidores no supone más esfuerzo que supervisar uno. Las auditorías de cumplimiento obligatorias no llegan al mismo nivel de coherencia o precisión, ya que pueden malinterpretarse y, en ocasiones, se pueden cometer errores involuntarios
- Cumplimiento escalable, permitiendo ampliar los esfuerzos sin problemas a medida que crecen los entornos de TI
-
Ahorro de costes de, al menos, dos maneras:
- Se pueden obtener mejores resultados con menos personal, por tanto, se puede magnificar el impacto del equipo de seguridad para que pueda centrarse en iniciativas con mayor valor añadido
- Se reduce significativamente el riesgo de multas y de exposición de datos en la empresa
- Cumplimiento al día. Las normas de cumplimiento cambian constantemente, pudiendo surgir nuevos marcos de cumplimiento, o actualizándose los existentes, por ejemplo. Las sentencias, además, pueden afectar a la manera en que se interpretan las normas existentes.
- Mejores sinergias entre los desarrolladores y los equipos de evaluación de riesgos: los equipos de entrega se alinean de forma natural con el proceso de cumplimiento. Además, se pueden integrar las normas en los procesos de entrega de sus equipos. En lugar de permitir que la ambigüedad y la mala interpretación socaven sus esfuerzos de cumplimiento, puede utilizar un vector común para permitir que la entrega sea conforme por defecto.
- Cumplimiento continuo, ya que, cuando las normas se definen como código y pueden aplicarse automáticamente, es posible detectar de manera continuada que la infraestructura sea o no conforme.
Mediante la adopción de la infraestructura como código combinada con el cumplimiento como código, es posible analizar los cambios pendientes en la nube y evitar que se apliquen cambios no conformes. Esto, combinado con la capacidad de analizar la infraestructura activa, nos permite mejorar el cumplimiento y su constante actualización.