🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónPolíticas personalizadas y sus pruebas
5 tareas · 38 min · Principiante
Los catálogos gestionados cubren lo común. Lo propio de una empresa (sus etiquetas, sus nombres, sus regiones, sus excepciones) hay que escribirlo, y una regla escrita a mano es código que puede tener errores como cualquier otro. La diferencia es que un error en una regla de seguridad rara vez hace ruido: la regla deja de bloquear y nadie se entera. Por eso una política personalizada sin pruebas es una promesa sin comprobar. En Quincha Retail el equipo escribió una política de etiquetas obligatorias con sus pruebas. Lees la política, las pruebas, el historial y los resultados de la integración continua, y buscas cuándo y por qué la regla dejó de proteger.
Objetivo de la sala
Los catálogos gestionados cubren lo común. Lo propio de una empresa (sus etiquetas, sus nombres, sus regiones, sus excepciones) hay que escribirlo, y una regla escrita a mano es código que puede tener errores como cualquier otro. La diferencia es que un error en una regla de seguridad rara vez hace ruido: la regla deja de bloquear y nadie se entera. Por eso una política personalizada sin pruebas es una promesa sin comprobar. En Quincha Retail el equipo escribió una política de etiquetas obligatorias con sus pruebas. Lees la política, las pruebas, el historial y los resultados de la integración continua, y buscas cuándo y por qué la regla dejó de proteger.Una regla de seguridad puede fallar de dos maneras. Puede dar un falso positivo (bloquea algo legítimo) y entonces alguien protesta y se arregla. O puede dar un falso negativo (deja pasar lo que debía bloquear) y entonces no ocurre nada visible: el recurso se crea, el panel sigue verde y el hueco queda.
Las pruebas de una política están para cazar el segundo caso. Fijan, con ejemplos concretos, qué debe pasar y qué debe bloquearse; si alguien cambia la regla y deja de cumplirse un ejemplo, la integración continua se pone en rojo antes de fusionar el cambio.
Responde para continuar
¿Qué riesgo cubren sobre todo las pruebas de una regla de seguridad?
Ver pista de ayuda
Un error que bloquea molesta; un error que deja pasar no hace ruido. Piensa en cuál es más peligroso.
En Open Policy Agent las pruebas son reglas cuyo nombre empieza por test_, y se ejecutan con opa test. Dentro de una prueba, la palabra with permite sustituir input por un dato de ejemplo, de modo que se prueba la política contra un plan inventado sin necesitar ninguna nube.
Una buena suite no se queda en el caso feliz. Incluye el caso conforme (que pase), cada caso no conforme importante (que se deniegue, con el mensaje esperado) y los bordes: lo exento, lo que falta, lo mal escrito. Una política que solo se probó con un recurso bueno no ha demostrado que bloquee nada.
Responde para continuar
¿Qué debe incluir una suite de pruebas de una política?
Ver pista de ayuda
Piensa en lo que demuestra cada caso: lo conforme prueba que no estorba; lo no conforme, que bloquea.
Abre resultado-ci.txt. Contiene lo que imprimió opa test -v en cuatro cambios sucesivos del repositorio. Cada línea es una prueba con su resultado y al final hay un recuento. Una prueba en rojo no es una molestia: es la suite diciendo que algo que antes se cumplía ya no se cumple.
Responde para continuar
¿Qué prueba falló en el cambio en que la suite se puso en rojo? Escribe su nombre completo, sin la ruta del paquete.
Ver pista de ayuda
Busca la única línea con FAIL en resultado-ci.txt.
La política exime a ciertos tipos de recurso de llevar etiquetas, porque no las admiten. Una exención es justo el tipo de borde que conviene probar: es lo que más fácilmente se amplía por error, y cada tipo que se añade a la lista es un tipo que la política deja de vigilar.
Compara la lista de tipos exentos de politica.rego con los casos de politica_test.rego y decide qué tipo exento no ejercita ninguna prueba.
Responde para continuar
¿Qué tipo de recurso exime la política de llevar etiquetas sin que ninguna prueba lo ejercite? Escríbelo tal cual.
Ver pista de ayuda
Mira tipos_sin_etiquetas en la política y busca cada tipo dentro de las pruebas.
La suite no hizo daño: avisó. Lo que hizo daño fue lo que pasó después. historial.txt cuenta, cambio a cambio, qué se hizo con la regla y con sus pruebas, y resultado-ci.txt muestra el efecto de cada uno. Hay un cambio que relajó la regla y otro que, en lugar de arreglar el problema, tapó el aviso.
Aquí se pide el primero: el cambio con el que la regla empezó a proteger menos.
Responde para continuar
¿Qué cambio dejó la suite en rojo por primera vez? Escribe su identificador.
Ver pista de ayuda
Cruza la fecha de cada cambio del historial con el primer resultado que contiene un FAIL.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.