Skip to main content

More Info:

Disable Client Certificates, Which Require Certificate Rotation, For Authentication. Instead, Use Another Authentication Method Like Openid Connect.

Risk Level

Low

Address

Security

Compliance Standards

  • CIS GKE

Triage and Remediation

Remediation

Manual Steps

  1. On any machine with gcloud configured for the project, gather the current setting for client certificates:
    Review:
    • .masterAuth.clientKey
    • .masterAuth.clientCertificate
    • .masterAuth.clusterCaCertificate
  2. Decide on an alternative authentication mechanism if you will disable client certificates. For GKE, review and plan to use one or more of:
    • GCP IAM‑based authentication (gcloud auth, gke-gcloud-auth-plugin)
    • OpenID Connect (OIDC)–based authentication
    • Other supported identity providers tied to IAM / RBAC
      Ensure your admins and automation can authenticate without client certificates.
  3. If .masterAuth.clientKey is null and .masterAuth.clientCertificate is null:
    • Record that the cluster is already compliant; no further change is needed.
    • Optionally re‑run:
      to confirm both values are null.
  4. If .masterAuth.clientKey or .masterAuth.clientCertificate is non‑null, assess impact:
    • Identify any users, scripts, or tools currently using these client certs to access the API server.
    • Locate their kubeconfig files (typically ~/.kube/config) and check for embedded client certs/keys for this cluster:
    • Plan migration of these clients to IAM/OIDC authentication before you disable or stop relying on client certificates.
  5. Because existing GKE clusters cannot be toggled to --no-issue-client-certificate, plan a remediation approach:
    • Preferable: create a replacement cluster without client certificates:
    • Migrate workloads, users, and automation from the old cluster to the new one using IAM/OIDC auth only.
    • Decommission the old cluster once all dependencies on client certificates are removed.
  6. After migration, verify the new cluster is compliant:
    Confirm both values are null and that all administrative access works via the chosen alternative authentication method (e.g., IAM/OIDC).
kubectl cannot disable client certificate authentication for the GKE control plane; this setting is managed only via GCP APIs/Console/CLI/IaC at the cluster configuration level. Refer to the Manual Steps section for how to review and change the cluster’s authentication settings.

Additional Reading: