Questa pagina descrive come ruotare le chiavi per i seguenti account di servizio:
- Accesso ai componenti
- Connetti-registrati
- Monitoraggio-logging
- Registrazione degli audit
- Misurazione dell'utilizzo
Per ruotare le chiavi degli account di servizio:
Crea una directory in cui archiviare un backup dei secret attuali:
mkdir backup
Prendi nota delle seguenti informazioni per l'account di servizio pertinente:
Accesso ai componenti
Cluster Secret Spazio dei nomi Amministratore admin-cluster-creds kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Amministratore private-registry-creds kube-system Utente private-registry-creds kube-system - Se non utilizzi un
private registry,
il secret
private-registry-creds
contiene la chiave per l'accesso al componente l'account di servizio. - Se utilizzi un registry privato, il secret
private-registry-creds
contiene le credenziali per il registry privato, non la chiave dell'account di servizio di accesso del componente.
Connetti-registrati
Cluster Secret Spazio dei nomi Amministratore admin-cluster-creds kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Monitoraggio-logging
Cluster Secret Spazio dei nomi Amministratore admin-cluster-creds kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Utente google-cloud-credentials kube-system Utente stackdriver-service-account-key knative-serving Log di controllo
Cluster Secret Spazio dei nomi Amministratore admin-cluster-creds kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Amministratore kube-apiserver CLUSTER_NAME Misurazione dell'utilizzo
Cluster Secret Spazio dei nomi Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Utente usage-metering-bigquery-service-account-key kube-system Stackdriver
Cluster Secret Spazio dei nomi Amministratore admin-cluster-creds kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Utente google-cloud-credentials kube-system Utente stackdriver-service-account-key knative-serving - Se non utilizzi un
private registry,
il secret
Crea un backup di ogni secret utilizzando il seguente comando:
kubectl get secret SECRET --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/SECRET-NAMESPACE.json
Sostituisci quanto segue:
NAMESPACE
: lo spazio dei nomi in cui si trova il secret. Ad esempio,kube-system
.KUBECONFIG
: il percorso del file kubeconfig per il cluster di amministrazione o utente.SECRET
: il nome del secret. Ad esempio,admin-cluster-creds
.
Ad esempio, esegui i seguenti comandi per l'account del servizio di logging di controllo:
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
Per creare un nuovo file di chiavi dell'account di servizio, esegui questo comando:
gcloud iam service-accounts keys create NEW_KEY_FILE --iam-account IAM_ACCOUNT
Sostituisci quanto segue:
NEW_KEY_FILE
: il nome del nuovo file della chiave dell'account di servizioIAM_ACCOUNT
: l'indirizzo email dell'account di servizio
Nel file di configurazione del cluster di amministrazione, campo
componentAccessServiceAccountKeyPath
, la sezionegkeConnect
estackdriver
e la sezionecloudAuditLogging
. In questi casi, sostituire i percorsi dei file delle chiavi dell'account di servizio.Nel file di configurazione del cluster utente, individua il campo
componentAccessServiceAccountKeyPath
, la sezionegkeConnect
, la sezionestackdriver
, la sezionecloudAudigLogging
e la sezioneusageMetering
. In questi punti, sostituisci i percorsi dei file delle chiavi dell'account di servizio.Salva le modifiche apportate eseguendo i seguenti comandi. Puoi ruotare le chiavi per un componente alla volta oppure puoi ruotare tutte le chiavi contemporaneamente imposta il componente su
sakeys
: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
Sostituisci quanto segue:
COMPONENT
: uno tra:componentaccess
register
cloudauditlogging
usagemetering
stackdriver
sakeys
(Ruota le chiavi per più componenti.)
ADMIN_CLUSTER_KUBECONFIG
: il percorso del file kubeconfig per il cluster di amministrazione.ADMIN_CLUSTER_CONFIG
: il percorso del file di configurazione del cluster di amministrazione.USER_CLUSTER_CONFIG
: il percorso del file di configurazione del cluster utente.
Ricreazione dei nodi
Alcune rotazioni delle chiavi degli account di servizio potrebbero richiedere più tempo la ricreazione è obbligatoria:
Account di servizio | È necessaria la ricreazione dei nodi |
---|---|
Accesso ai componenti | Se utilizzi Container Registry: Sì Se utilizzi un registry privato: No |
Audit logging | Cluster di amministrazione: sì Cluster utente con control plane v2 abilitato: sì, ma solo i nodi del control plane |
Monitoraggio dei log | No |
Connetti-registra | No |
Misurazione dell'utilizzo | No |
Per una rotazione della chiave che richiede la nuova creazione di nodi, i nodi vengono sostituiti in un processo di aggiornamento in sequenza; cioè i nodi vengono ricreati uno alla volta.
Il possibile tempo di inattività durante una rotazione delle chiavi è simile al tempo di inattività per un upgrade del cluster. Per maggiori dettagli, vedi Tempo di inattività durante gli upgrade.
Ripristino dei backup
Se devi ripristinare i backup dei secret creati in precedenza, esegui il seguente comando:
kubectl apply -f backup/