E-RAK
rakkess
Plugin de kubectl que genera una matriz de acceso completa — cada tipo de recurso contra cada verbo — para la identidad actual o una suplantada.
Sitio oficialVolver al catálogo
RESUMEN
rakkess (corneliusweig/rakkess, "review access") es un plugin de kubectl que responde "qué puede hacer esta identidad" como una única matriz legible en vez de una larga lista de llamadas a kubectl auth can-i: consulta cada tipo de recurso que conoce el API server contra un conjunto fijo de verbos (get, list, create, update, delete y más) e imprime una cuadrícula de lo permitido, usando el mismo mecanismo de SelfSubjectAccessReview en el que se apoya kubectl auth can-i.
Con --as o --sa puede generar esa matriz para un usuario, grupo o service account distinto en vez de solo la identidad autenticada actual, lo que lo convierte en la forma rápida de comprobar hasta dónde podría llegar realmente un service account concreto tras encontrarlo vía kubectl-who-can o un token filtrado, sin correr a mano decenas de comprobaciones de permisos individuales.
CASOS DE USO
Casos de uso en un engagement
- 01
Obtener una vista completa de permisos para la credencial actual en un solo comando en vez de scriptear muchas llamadas a auth can-i.
- 02
Suplantar (--as, --sa) un service account o usuario descubierto para mapear exactamente hasta dónde podría llegar una credencial robada.
- 03
Acotar la matriz a un recurso específico (`rakkess resource <tipo>`) para ver, a nivel de clúster, quién puede tocar un recurso sensible como secrets o configmaps.
- 04
Comparar la matriz de acceso antes y después de un cambio de RBAC para confirmar que una corrección realmente redujo los permisos como se pretendía.
PRIMEROS PASOS
Tras descubrir un service account o usuario, para ver sus permisos efectivos completos sobre cada tipo de recurso en una sola cuadrícula legible.
- Confirma que kubectl está configurado contra el clúster en alcance con la credencial a revisar.
- Instala rakkess vía krew (`kubectl krew install access-matrix`) o un binario de las releases.
- Ejecútalo sin argumentos para la matriz completa de la identidad actual, o con --as/--sa para revisar otra distinta.
- Acótalo a un namespace o recurso específico una vez que la matriz completa señale algo que merezca una mirada más de cerca.
kubectl access-matrix --as=system:serviceaccount:default:defaultANTES DE USARLA
Qué revisar antes de lanzarla
Como cualquier herramienta que solo mira RBAC, su matriz refleja lo que permite el autorizador de Kubernetes — los admission controllers (OPA/Gatekeeper, Kyverno, Pod Security Admission) aún pueden bloquear una acción que la matriz marca como permitida, así que trata una celda en "yes" como algo a probar, no como acceso garantizado.
La suplantación vía --as requiere en sí misma el verbo impersonate en la credencial que ejecuta el comando — un token de bajo privilegio puede solo poder generar su propia matriz, no la de otra identidad.
Consultar cada tipo de recurso contra cada verbo genera una ráfaga de llamadas SelfSubjectAccessReview contra el API server; en un clúster muy grande o un API server con rate limiting estricto, acótalo a recursos específicos en vez de correr la matriz completa de forma repetida.