Quiz Módulo 9 - Seguridad y RBAC
Instrucciones
Este quiz contiene 30 preguntas de opción múltiple.
Pregunta 1
¿Qué significa RBAC en Kubernetes?
Ver explicación
Respuesta correcta: Role-Based Access Control
Explicación: RBAC es el mecanismo de autorización de Kubernetes que controla quién puede hacer qué en el clúster mediante roles y bindings.
Pregunta 2
¿Qué es un Role en RBAC?
Ver explicación
Respuesta correcta: Una colección de permisos que se aplica a un namespace específico
Explicación: Un Role define un conjunto de permisos (verbs) sobre recursos en un namespace específico. Un ClusterRole se aplica a todo el clúster.
Pregunta 3
¿Qué es un RoleBinding?
Ver explicación
Respuesta correcta: Un recurso que enlaza un Role a un usuario, grupo o ServiceAccount en un namespace
Explicación: Un RoleBinding asocia un Role (o ClusterRole) a sujetos (usuarios, grupos, ServiceAccounts) en un namespace específico.
Pregunta 4
¿Cuál es la diferencia entre un Role y un ClusterRole?
Ver explicación
Respuesta correcta: Un Role se aplica a un namespace, un ClusterRole se aplica a todo el clúster
Explicación: Los Roles están limitados a un namespace, mientras que los ClusterRoles pueden definir permisos sobre recursos a nivel de clúster (nodos, PVs, etc.).
Pregunta 5
¿Qué es un ServiceAccount?
Ver explicación
Respuesta correcta: Una identidad para los Pods que se ejecutan en el clúster
Explicación: Un ServiceAccount proporciona una identidad para los Pods, permitiendo la autenticación y autorización al acceder al API Server.
Pregunta 6
¿Cuáles son los verbs (acciones) principales en RBAC?
Ver explicación
Respuesta correcta: get, list, create, update, patch, delete, watch
Explicación: Los verbs principales en RBAC son get (leer un objeto), list (listar), create, update, patch (modificar), delete y watch (observar cambios).
Pregunta 7
¿Cuál es el comando para ver los Roles?
Ver explicación
Respuesta correcta: kubectl get roles
Explicación: kubectl get roles muestra todos los Roles en el namespace actual. Use -A para todos los namespaces.
Pregunta 8
¿Qué es un ClusterRoleBinding?
Ver explicación
Respuesta correcta: Un recurso que enlaza un ClusterRole a un usuario, grupo o ServiceAccount a nivel de clúster
Explicación: Un ClusterRoleBinding asocia un ClusterRole a sujetos a nivel de clúster, otorgándoles permisos sobre todo el clúster.
Pregunta 9
¿Cuál es el comando para probar los permisos de un usuario?
Ver explicación
Respuesta correcta: kubectl auth can-i [verb] [resource] --as=[user] o kubectl auth can-i --list
Explicación: kubectl auth can-i permite verificar si un usuario puede realizar una acción específica. --list muestra todos los permisos.
Pregunta 10
¿Qué es un Pod Security Standard (PSS)?
Ver explicación
Respuesta correcta: Políticas de seguridad predefinidas (privileged, baseline, restricted) para los Pods
Explicación: Los Pod Security Standards definen tres niveles de seguridad para los Pods: privileged (todo permitido), baseline (restricciones mínimas) y restricted (restricciones máximas).
Pregunta 11
¿Cuál es el comando para ver los ServiceAccounts?
Ver explicación
Respuesta correcta: kubectl get serviceaccounts
Explicación: kubectl get serviceaccounts (o sa) muestra todos los ServiceAccounts en el namespace actual.
Pregunta 12
¿Qué es una Network Policy?
Ver explicación
Respuesta correcta: Un recurso que define las reglas de comunicación de red entre los Pods
Explicación: Las Network Policies actúan como un firewall a nivel de clúster, controlando el tráfico entrante y saliente de los Pods basado en selectores.
Pregunta 13
¿Cuál es la diferencia entre un RoleBinding y un ClusterRoleBinding?
Ver explicación
Respuesta correcta: RoleBinding enlaza un Role en un namespace, ClusterRoleBinding enlaza un ClusterRole a nivel de clúster
Explicación: Los RoleBindings están limitados a un namespace, mientras que los ClusterRoleBindings se aplican a todo el clúster.
Pregunta 14
¿Qué es un imagePullSecret?
Ver explicación
Respuesta correcta: Un Secret usado por un Pod para autenticarse ante un registro Docker privado
Explicación: imagePullSecrets permite a los Pods extraer imágenes desde registros privados proporcionando las credenciales de autenticación.
Pregunta 15
¿Cuál es el comando para ver los ClusterRoles?
Ver explicación
Respuesta correcta: kubectl get clusterroles
Explicación: kubectl get clusterroles muestra todos los ClusterRoles que se aplican a todo el clúster.
Pregunta 16
¿Qué es el principio de menor privilegio en RBAC?
Ver explicación
Respuesta correcta: Otorgar únicamente los permisos mínimos necesarios para realizar una tarea
Explicación: El principio de menor privilegio es una buena práctica de seguridad que consiste en conceder solo los permisos estrictamente necesarios, reduciendo la superficie de ataque.
Pregunta 17
¿Cuál es el comando para ver los RoleBindings?
Ver explicación
Respuesta correcta: kubectl get rolebindings
Explicación: kubectl get rolebindings (o rb) muestra todos los RoleBindings en el namespace actual.
Pregunta 18
¿Qué es un Pod Security Admission (PSA)?
Ver explicación
Respuesta correcta: Un Admission Controller que aplica los Pod Security Standards a los Pods
Explicación: Pod Security Admission es un Admission Controller integrado que aplica automáticamente los Pod Security Standards (privileged, baseline, restricted) a los Pods.
Pregunta 19
¿Cuál es la diferencia entre allow, audit y warn en Pod Security Standards?
Ver explicación
Respuesta correcta: allow autoriza, audit registra las violaciones, warn advierte pero autoriza
Explicación: allow autoriza los Pods conformes, audit registra las violaciones en los logs, warn muestra una advertencia pero permite igualmente.
Pregunta 20
¿Qué es una Network Policy con policyTypes: Ingress?
Ver explicación
Respuesta correcta: Una Network Policy que controla únicamente el tráfico entrante hacia los Pods seleccionados
Explicación: policyTypes define qué tipos de tráfico son controlados: Ingress (entrante), Egress (saliente) o ambos.
Pregunta 21
¿Cuál es el comando para crear un ServiceAccount?
Ver explicación
Respuesta correcta: kubectl create serviceaccount [name]
Explicación: kubectl create serviceaccount crea un nuevo ServiceAccount en el namespace actual.
Pregunta 22
¿Qué es un Role con resourceNames?
Ver explicación
Respuesta correcta: Un Role que limita los permisos a recursos específicos por nombre
Explicación: resourceNames permite restringir los permisos a recursos específicos por su nombre, ofreciendo un control granular.
Pregunta 23
¿Cuál es la buena práctica para los ServiceAccounts?
Ver explicación
Respuesta correcta: Crear un ServiceAccount dedicado para cada aplicación con permisos mínimos
Explicación: Cada aplicación debe tener su propio ServiceAccount con solo los permisos necesarios, siguiendo el principio de menor privilegio.
Pregunta 24
¿Qué es una Network Policy con from y to?
Ver explicación
Respuesta correcta: Una Network Policy que especifica las fuentes (from) y destinos (to) permitidos para el tráfico
Explicación: from define las fuentes permitidas para el tráfico entrante, to define los destinos permitidos para el tráfico saliente.
Pregunta 25
¿Cuál es el comando para ver los ClusterRoleBindings?
Ver explicación
Respuesta correcta: kubectl get clusterrolebindings
Explicación: kubectl get clusterrolebindings muestra todos los ClusterRoleBindings que se aplican a todo el clúster.
Pregunta 26
¿Qué es un Role con apiGroups?
Ver explicación
Respuesta correcta: Un Role que especifica los grupos de API de Kubernetes a los que se aplican los permisos
Explicación: apiGroups permite especificar qué grupos de API están involucrados (por ejemplo: "", "apps", "networking.k8s.io").
Pregunta 27
¿Cuál es la diferencia entre una Network Policy con y sin reglas?
Ver explicación
Respuesta correcta: Sin reglas, todo el tráfico está bloqueado. Con reglas, solo el tráfico especificado está permitido.
Explicación: Por defecto, las Network Policies bloquean todo el tráfico. Las reglas definen explícitamente qué tráfico está permitido (enfoque de lista blanca).
Pregunta 28
¿Qué es un Role con verbs: ["*"]?
Ver explicación
Respuesta correcta: Un Role que otorga todas las acciones (get, list, create, update, patch, delete, watch)
Explicación: El wildcard "*" en verbs otorga todas las acciones posibles sobre los recursos especificados, debe usarse con precaución.
Pregunta 29
¿Cuál es la buena práctica para las Network Policies?
Ver explicación
Respuesta correcta: Aplicar el principio de menor privilegio, permitir solo el tráfico necesario
Explicación: Las Network Policies deben seguir el principio de menor privilegio, permitiendo solo el tráfico estrictamente necesario entre los Pods.
Pregunta 30
¿Cuál es el comando para ver los permisos de un ServiceAccount?
Ver explicación
Respuesta correcta: kubectl describe serviceaccount [name] y kubectl get rolebindings,clusterrolebindings para ver los bindings
Explicación: Para ver los permisos de un ServiceAccount, examine los RoleBindings y ClusterRoleBindings que lo referencian, luego los Roles/ClusterRoles asociados.
Resultado del Quiz
¡Felicitaciones por haber completado el quiz del Módulo 9!
Puntaje:
- 25-30 respuestas correctas: ¡Excelente! Usted domina la seguridad y RBAC.
- 20-24 respuestas correctas: ¡Muy bien! Revise los conceptos donde tuvo dificultades.
- 15-19 respuestas correctas: ¡Bien! Revise los capítulos sobre RBAC y seguridad.
- Menos de 15: Se recomienda repasar el módulo antes de continuar.
Quiz creado el: Diciembre 2024