🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónPolíticas sobre planes, manifiestos y SBOM
5 tareas · 40 min · Principiante
El mismo lenguaje sirve para tres documentos de forma muy distinta: el plan de infraestructura en JSON, el manifiesto de un despliegue y la lista de componentes de un software. Cada uno tiene su raíz, sus listas y sus trampas, y una política que funciona bien con uno puede quedar ciega ante el siguiente. En Bahareque Constructora lees tres políticas y los tres documentos sobre los que corren: un despliegue de pagos, el inventario de componentes de una aplicación y el plan de un bucket. Buscas lo que cada política deja pasar sin quererlo.
Objetivo de la sala
El mismo lenguaje sirve para tres documentos de forma muy distinta: el plan de infraestructura en JSON, el manifiesto de un despliegue y la lista de componentes de un software. Cada uno tiene su raíz, sus listas y sus trampas, y una política que funciona bien con uno puede quedar ciega ante el siguiente. En Bahareque Constructora lees tres políticas y los tres documentos sobre los que corren: un despliegue de pagos, el inventario de componentes de una aplicación y el plan de un bucket. Buscas lo que cada política deja pasar sin quererlo.Un manifiesto de despliegue es un documento con listas anidadas, y la política necesita recorrer la lista de contenedores y mirar cada uno. La condición típica es una ausencia: «no declara límites de recursos». Se escribe con not, y recuerda lo visto en la primera sala: not es verdadero cuando el campo falta, de modo que una política de límites denuncia a quien no los escribió.
Lee la política de límites y el despliegue de pagos.
Responde para continuar
Escribe el nombre del contenedor del despliegue de pagos que la política de límites deniega.
Ver pista de ayuda
Con la terminal, `cat politicas/limites.rego` y `cat entrada/deployment-pagos.yaml`. Revisa los límites de cada contenedor de la lista.
Un SBOM en formato CycloneDX lista los componentes de un software. Cada componente puede declarar su licencia de dos maneras: con un identificador (license.id), un nombre libre (license.name) o con una expresión (expression) que combina varias. Una política que solo lee license.id no ve las otras dos formas, y un componente cuya licencia aparece como expresión puede ofrecer una opción prohibida sin que la política lo note.
Lee la política de licencias y el inventario, y busca el componente que ella no puede evaluar pese a mencionar una licencia prohibida.
Responde para continuar
Escribe el nombre del componente cuya licencia incluye una opción prohibida pero que la política de licencias no detecta.
Ver pista de ayuda
Compara el campo que lee `politicas/licencias.rego` con los campos de licencia de cada componente de `entrada/sbom.cdx.json`.
Una política también puede exigir que el documento tenga cierta forma: que cada componente traiga su identificador de paquete (purl), por ejemplo, para poder cruzarlo con una base de avisos. Sin identificador, el componente no se puede relacionar con nada fuera del SBOM. Contarlos es una medida de la calidad del inventario, no solo de su contenido.
Cuenta los componentes del inventario que no traen purl.
Responde para continuar
¿Cuántos componentes del inventario no traen el campo purl?
Ver pista de ayuda
Recorre `entrada/sbom.cdx.json` componente por componente.
El plan de infraestructura en JSON lista cada cambio de recurso en resource_changes. Dentro de change, after guarda los valores que tendrá el recurso, y after_unknown marca los que no se conocen hasta aplicar, porque dependen de algo que todavía no existe. Una política que compara after.acl con un valor concreto no puede juzgar un campo desconocido: la condición es indefinida y el recurso pasa.
Lee la política de acceso y el resumen del plan, y busca el cambio que ella no puede evaluar.
Responde para continuar
Escribe la dirección del recurso del plan cuyo valor de acl es desconocido y por eso la política no lo juzga.
Ver pista de ayuda
Abre `entrada/plan-resumen.json` y busca el recurso del tipo que revisa `politicas/acl.rego` cuyo `acl` aparece en `after_unknown`.
Cuando una política no puede decidir porque falta información, hay tres salidas: dejar pasar, denegar o avisar. Dejar pasar es lo que ocurre por defecto, y es la peor: convierte «no sé» en «está bien». Denegar todo lo desconocido frena al equipo con un falso positivo por cada valor calculado. Lo razonable es hacer explícito el caso, con una regla propia que lo marque y que alguien pueda leer.
Responde para continuar
¿Cómo debe tratar la política de acceso un valor que el plan no conoce todavía?
Ver pista de ayuda
Busca la que no convierte «no sé» en «está bien» ni frena a todos por una falta de información.
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.