Skip to content

The Kubernetes Service Account Trust Provider supports attestation of Client Workloads and Agent Controller identities in a Kubernetes environment (either self-hosted or managed by cloud providers - AWS EKS, Azure AKS, GCP GKE).

The following match rules are available for this Trust Provider type:

  • iss
  • kubernetes.io { namespace }
  • kubernetes.io { pod { name } }
  • kubernetes.io { serviceaccount { name } }
  • sub
DataDescriptionExample
issKubernetes Cluster Issuer URLhttps://kubernetes.default.svc.cluster.local
kubernetes.io { namespace }Pod namespacedefault
kubernetes.io { pod { name } }Pod nameexample-app
kubernetes.io { serviceaccount { name } }Service Account namedefault
subService Account token subjectsystem:serviceaccount:default:default

Aembit requires a Kubernetes cluster public key to validate the Service Account token used by this trusted provider.

The majority of cloud providers expose an OIDC endpoint that enables automatic retrieval of the Kubernetes cluster public key.

  • Ensure your AWS CLI is installed, configured, and authenticated.

  • Execute the following command:

Terminal window
aws eks describe-cluster --name \<cluster_name\> --query "cluster.identity.oidc.issuer" --output text
  • Paste the response in OIDC Endpoint field.
  • Ensure your GCP CLI is installed, configured, and authenticated.

  • Execute the following command:

Terminal window
gcloud container clusters describe \<cluster_name\> --region=\<cluster_region\> --format="value(selfLink)"
  • Paste the response in OIDC Endpoint field.
  • Ensure your Azure CLI is installed, configured, and authenticated.

  • Execute the following command:

Terminal window
az aks show --resource-group \<resource_group_name\> --name \<cluster_name\> --query "oidcIssuerProfile.issuerUrl" -o tsv
  • Paste the response in OIDC Endpoint field.