Kubernetes ServiceAccount Token Bilgisini Görüntüleme

Kubernetes ortamında bir ServiceAccount için oluşan token bilgisini kontrol etmek gerektiğinde, ilgili Secret nesnesi üzerinden inceleme yapılabilir.

Aşağıdaki örnek komut, belirli bir namespace içindeki ilgili Secret’ı bulup token bilgisini göstermeyi amaçlar:

export NAMESPACE="system-namespace"
export K8S_USER="read-only-user"

export NAMESPACE="system-namespace"
export K8S_USER="read-only-user"

kubectl -n ${NAMESPACE} describe secret $(
kubectl -n ${NAMESPACE} get secret | \
grep ${K8S_USER} | \
awk '{print $1}'
) | grep token: | awk '{print $2}'

Örnek Secret tanımı:

apiVersion: v1
kind: Secret
metadata:
  name: read-only-user-token
  namespace: system-namespace
  annotations:
    kubernetes.io/service-account.name: read-only-user
type: kubernetes.io/service-account-token

Bu yapı, Secret’ın ilgili ServiceAccount için üretildiğini gösterir.

Kısa Açıklama

  • NAMESPACE: İşlem yapılacak namespace
  • K8S_USER: İlgili ServiceAccount adı
  • get secret: Secret listesini getirir
  • describe secret: Secret detayını gösterir
  • grep token: Token bilgisini filtreler

Not

ServiceAccount token bilgileri hassastır. Bu nedenle bu tip kontroller yalnızca yetkili ve güvenli ortamlarda yapılmalıdır.

Bunlar da hoşunuza gidebilir...