I want to allow only listing of resources and not the manifest content.
Example,
NAME READY STATUS RESTARTS AGE
airflow-redis-0 1/1 Running 0 32h
airflow-postgresql-0 1/1 Running 0 32h
airflow-scheduler-9416ddfd6f-n7jcr 2/2 Running 0 32h
airflow-webserver-9bf7f3c95c-kf1fx 1/1 Running 0 32h
airflow-worker-0 2/2 Running 0 4h8m
With GET
permission users can see the manifest of the pod individually. For example, kubectl describe pod airflow-worker-0 -n airflow
Similarly, with LIST
permission users can see the manifest of all the pods with commands like – kubectl get pod --output=json
Is it possible to restrict manifest access and just allow the listing of resources in K8 RBAC?
2
Answers
Showing only a listing of resources and not the object content is not possible by using any of the RBAC request verbs.
list
can't be used. It provides the listing but will also allow accessing full object content.If you want to restrict users to only list resources, you should create a role with get verb.
Role example in official documentations shows it quite well
So, to restrict to e.g. only
get pods
– changeverbs
toIf you want to also allow listing e.g. deployments – change
resources
toAs you already noticed,
list
gives permission to full object content.