En esta página, se describe cómo rotar claves para las siguientes cuentas de servicio:
- Acceso a los componentes
- Registro de Connect
- Registro y supervisión
- Registros de auditoría
- Medición de uso
Para rotar las claves de tu cuenta de servicio, sigue estos pasos:
Crea un directorio para almacenar una copia de seguridad de los secretos actuales:
mkdir backup
Ten en cuenta la siguiente información para la cuenta de servicio relevante:
Acceso a los componentes
Clúster Secret Espacio de nombres Administrador admin-cluster-creds kube-system Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Admin private-registry-creds kube-system Usuario private-registry-creds kube-system - Si no usas un registro privado, el Secret
private-registry-creds
contiene la clave para tu cuenta de servicio de acceso a los componentes. - Si usas un registro privado, el secreto
private-registry-creds
contiene las credenciales de tu registro privado, no la clave de la cuenta de servicio de acceso a los componentes.
Registro de Connect
Clúster Secret Espacio de nombres Administrador admin-cluster-creds kube-system Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Registro y supervisión
Clúster Secret Espacio de nombres Administrador admin-cluster-creds kube-system Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Usuario google-cloud-credentials kube-system Usuario stackdriver-service-account-key knative-serving Registros de auditoría
Clúster Secret Espacio de nombres Administrador admin-cluster-creds kube-system Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Admin kube-apiserver CLUSTER_NAME Medición de uso
Clúster Secret Espacio de nombres Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Usuario usage-metering-bigquery-service-account-key kube-system Stackdriver
Clúster Secret Espacio de nombres Administrador admin-cluster-creds kube-system Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Usuario google-cloud-credentials kube-system Usuario stackdriver-service-account-key knative-serving - Si no usas un registro privado, el Secret
Crea una copia de seguridad de cada secreto con el siguiente comando:
kubectl get secret SECRET --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/SECRET-NAMESPACE.json
Reemplaza lo siguiente:
NAMESPACE
: es el espacio de nombres en el que se encuentra el secreto. Por ejemplo,kube-system
KUBECONFIG
: es la ruta al archivo kubeconfig para el clúster de administrador o del usuario.SECRET
: nombre del Secret. Por ejemplo,admin-cluster-creds
Por ejemplo, ejecuta los siguientes comandos para la cuenta de servicio de registro de auditoría:
kubectl get secret admin-cluster-creds --namespace kube-system \ --kubeconfig KUBECONFIG -o json > backup/admin-cluster-creds-kube-system.json kubectl get secret user-cluster-creds --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/user-cluster-creds-NAMESPACE.json kubectl get secret kube-apiserver --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/kube-apiserver-NAMESPACE.json
Para crear un nuevo archivo de claves de cuenta de servicio, ejecuta el siguiente comando:
gcloud iam service-accounts keys create NEW_KEY_FILE --iam-account IAM_ACCOUNT
Reemplaza lo siguiente:
NEW_KEY_FILE
: es el nombre del archivo de claves de tu cuenta de servicio nueva.IAM_ACCOUNT
: La dirección de correo electrónico de la cuenta de servicio
En el archivo de configuración del clúster de administrador, busca el campo
componentAccessServiceAccountKeyPath
y las seccionesgkeConnect
,stackdriver
ycloudAuditLogging
. En esos lugares, reemplaza las rutas de acceso a los archivos de claves de la cuenta de servicio.En el archivo de configuración del clúster de usuario, busca el campo
componentAccessServiceAccountKeyPath
y las seccionesgkeConnect
,stackdriver
,cloudAudigLogging
yusageMetering
. En esos lugares, reemplaza las rutas de acceso a los archivos de claves de la cuenta de servicio.Guarda los cambios que hiciste con los siguientes comandos:
gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG \ --admin-cluster gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
Reemplaza lo siguiente:
COMPONENT
: uno decomponentaccess
,register
,cloudauditlogging
,usagemetering
ostackdriver
.ADMIN_CLUSTER_KUBECONFIG
: la ruta al archivo kubeconfig para el clúster de administrador.ADMIN_CLUSTER_CONFIG
: la ruta al archivo de configuración del clúster de administrador.USER_CLUSTER_CONFIG
: la ruta de acceso al archivo de configuración del clúster de usuario.
Recreación de nodos
Algunas rotaciones de claves de cuentas de servicio pueden tardar más tiempo porque se requiere volver a crear el nodo:
Cuenta de servicio | Es necesario volver a crear nodos |
---|---|
Acceso a los componentes | Si usas Container Registry: Sí Si usas un registro privado: No |
Registros de auditoría | Clúster de administrador: Sí Clúster de usuario con Contrlplane V2 habilitado: Sí, pero solo los nodos del plano de control |
Registro y supervisión | No. |
Registro de Connect | No. |
Medición de uso | No. |
Restablecer las copias de seguridad
Si necesitas restablecer las copias de seguridad de los Secrets que creaste antes, ejecuta el siguiente comando:
kubectl apply -f backup/