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.
Algunas rotaciones de claves de cuentas de servicio pueden tardar más tiempo, ya que se requiere volver a crear los nodos:
Clave de cuenta de servicio Es necesario volver a crear nodos Acceso a los componentes Sí Registros de auditoría Sí 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/