What is service account token?

What is service account token? Service Account Token is one of the authorization methods in the Kubernetes API, an alternative to the Static Token File and client certificates. To obtain the token, you need to create a service account (ServiceAccount) and associate it with the cluster role.

Can a pod have multiple service accounts? Use Multiple Service Accounts

To use a non-default service account, set the spec. serviceAccountName field of a pod to the name of the service account you wish to use. The service account has to exist at the time the pod is created, or it will be rejected.

Where is service account token? If a long-running service is created as a pod in your cluster, the service account token is mounted on the pod. You can use this service account token that is available in the pod to access the API server. For more information, see Obtaining the service account token from the pod.

Do service account tokens expire? A ServiceAccountToken acquired from kube-apiserver via TokenRequest API. It will expire after 1 hour by default or when the pod is deleted. It is bound to the pod and has kube-apiserver as the audience.

What is service account token? – Additional Questions

Can a service account impersonate another service account?

For example, if a principal has the Service Account User role on a service account, and the service account has the Cloud SQL Admin role ( roles/cloudsql. admin ) on the project, then the principal can impersonate the service account to create a Cloud SQL instance.

Why do we need service account in Kubernetes?

In Kubernetes, service accounts are used to provide an identity for pods. Pods that want to interact with the API server will authenticate with a particular service account. By default, applications will authenticate as the default service account in the namespace they are running in.

How do I create a Kubernetes service account?

How To Create Kubernetes Service Account For API Access
  1. Use Cases.
  2. Setup Kubernetes API Access Using Service Account.
  3. Step 1: Create service account in a namespace.
  4. Step 2: Create a Cluster Role.
  5. Step 3: Create a CluserRole Binding.
  6. Step 4: Validate Service Account Access Using kubectl.

What is the default service account in Kubernetes?

Service accounts are associated with pods that make internal calls to the API server. Every Kubernetes installation has a service account called default that is associated with every running pod. Similarly, to enable pods to make calls to the internal API Server endpoint, there is a ClusterIP service called Kubernetes.

How do I check my Kubernetes service account?

Kubernetes check serviceaccount permissions
  1. kubectl auth can-i list deployment –as=tiller.
  2. kubectl auth can-i list deployment –as=staging:tiller.

What is kubectl service account?

Overview. Kubernetes service accounts are Kubernetes resources, created and managed using the Kubernetes API, meant to be used by in-cluster Kubernetes-created entities, such as Pods, to authenticate to the Kubernetes API server or external services.

What is service in Kubernetes?

A Kubernetes service is a logical abstraction for a deployed group of pods in a cluster (which all perform the same function). Since pods are ephemeral, a service enables a group of pods, which provide specific functions (web services, image processing, etc.) to be assigned a name and unique IP address (clusterIP).

Are service accounts namespace specific?

Service accounts are per namespace, so when done on a service account, any pods in that namespace that use this account will be affected by that setting.