More Info:
Disable Client Certificates, Which Require Certificate Rotation, For Authentication. Instead, Use Another Authentication Method Like Openid Connect.Risk Level
LowAddress
SecurityCompliance Standards
- CIS GKE
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On any machine with
gcloudconfigured for the project, gather the current setting for client certificates:Review:.masterAuth.clientKey.masterAuth.clientCertificate.masterAuth.clusterCaCertificate
-
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.
- GCP IAM‑based authentication (
-
If
.masterAuth.clientKeyisnulland.masterAuth.clientCertificateisnull:- Record that the cluster is already compliant; no further change is needed.
- Optionally re‑run:
to confirm both values are
null.
-
If
.masterAuth.clientKeyor.masterAuth.clientCertificateis 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.
-
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.
- Preferable: create a replacement cluster without client certificates:
-
After migration, verify the new cluster is compliant:
Confirm both values are
nulland that all administrative access works via the chosen alternative authentication method (e.g., IAM/OIDC).
Using kubectl
Using kubectl
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.
Automation
Automation

