Service accounts can be a useful tool in Kubernetes, but they could become a security risk if their permissions are too broad. In this lab, you will practice your Kubernetes security skills by restricting permissions for a service account to only those that are necessary.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Create a Service Account with Appropriate Permissions for the pod-watch Pod
The
pod-watch
Pod in theauth
namespace needs to be able to get and list Pods and Pod logs in theauth
namespace.Create a service account called
pod-monitor
and assign it appropriate RBAC permissions for thepod-watch
Pod.Modify the
pod-watch
Pod to use the new service account. Note that you will need to delete and re-create the Pod to do this. A manifest for the Pod can be found in/home/cloud_user
.- Create a Service Account with Appropriate Permissions for the svc-watch Pod
The
svc-watch
Pod in theauth
namespace needs to be able to get and list Services and Endpoints in theauth
namespace.Create a service account called
svc-monitor
in theauth
namespace and assign it appropriate RBAC permissions for thesvc-watch
Pod.Modify the
svc-watch
Pod to use the new service account. Note that you will need to delete and re-create the Pod to this. A manifest for the Pod can be found in/home/cloud_user
.- Delete the Old Shared Service Account
Delete the old
auth-sa
service account that these Pods were using previously.