Saltar al contenido

El criterio: mínimo privilegio, en la práctica

El principio se enuncia en una frase y se aplica mal casi siempre. Las tres preguntas que lo convierten en decisiones concretas, y por qué «lo mínimo» no es lo mismo que «lo que funcione hoy».

Por qué se aplica mal

El ciclo que produce la deriva es este, y le pasa a todo el mundo:

El paso 4 es el que hace el daño, y no es de seguridad sino de información: el permiso no se quita porque nadie sabe si hace falta. La corrección, por tanto, no es más disciplina en el paso 2 — es dejar constancia.

Las tres preguntas

Para cada permiso que concedas, en orden:

Las tres tardan cinco minutos juntas y solo la tercera exige pensar. Y las tres se contestan mejor en el momento que seis meses después, que es exactamente el argumento del paso 4.

El procedimiento

Cuatro reglas que evitan la deriva sin ralentizar el desarrollo:

1 · Empezar cerrado. La capability inicial concede lo mínimo del núcleo y nada más. Todo lo demás se añade cuando falla, que es al revés de como suele hacerse.

2 · Escribir por qué, junto al permiso. El fichero de capabilities admite comentarios en algunos formatos, y si no, un fichero al lado. Una línea por permiso:

TXT
dialog:allow-open      → el usuario elige el proyecto a importar (pantalla de importación)fs:allow-app-read      → leer las plantillas del directorio de datosshell:allow-open       → abrir la documentación en el navegador del sistema

Con eso, la pregunta de dentro de seis meses —«¿esto hace falta?»— tiene respuesta y se puede comprobar. Es la corrección del paso 4 y cuesta una línea.

3 · Conceder para depurar es temporal, y se anota como tal. Si en medio de otra cosa concedes algo ancho para seguir, que quede escrito con la palabra «temporal» y con la fecha. Buscar esa palabra antes de publicar es un paso de treinta segundos.

4 · Revisar en un momento fijo. Antes de cada versión, o cada mes. No «cuando haya tiempo»: eso no llega. Nivel 33.

Mínimo de hoy frente a mínimo de verdad

La distinción que hace que el ejercicio no sea teatro:

  • El mínimo de hoy es lo que hace que la aplicación funcione con las funcionalidades que tiene ahora.
  • El mínimo de verdad es lo mismo, comprobado: se quita el permiso y se verifica que algo deja de funcionar.

La diferencia entre los dos son los permisos que están porque alguna vez hicieron falta y ya no. Y la única forma de encontrarlos es la incómoda: quitarlos y ver qué se rompe.

Por eso la revisión del nivel 33 no es leer la lista: es quitar y probar. Con una prueba de extremo a extremo que recorra la aplicación —nivel 73— eso pasa de ser una tarde a ser un minuto.