In questa pagina viene descritto come ruotare le chiavi per i seguenti account di servizio:
- Accesso ai componenti
- Connetti-registrati
- Monitoraggio-logging
- Log di controllo
- 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 credenziali-cluster-admin 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 registro privato, il secret
private-registry-creds
contiene la chiave per l'account di servizio di accesso ai componenti. - Se utilizzi un registro privato, il secret di
private-registry-creds
contiene le credenziali per il registro privato, non la chiave dell'account di servizio di accesso ai componenti.
Connetti-registrati
Cluster Secret Spazio dei nomi Amministratore credenziali-cluster-admin kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Monitoraggio-logging
Cluster Secret Spazio dei nomi Amministratore credenziali-cluster-admin 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 credenziali-cluster-admin 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 credenziali-cluster-admin 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 registro privato, 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 questi comandi per l'account di servizio di audit logging:
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, individua il campo
componentAccessServiceAccountKeyPath
, la sezionegkeConnect
, la sezionestackdriver
e la sezionecloudAuditLogging
. In queste posizioni, sostituisci 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 queste posizioni, sostituisci i percorsi dei file delle chiavi dell'account di servizio.Salva le modifiche apportate eseguendo questi comandi. Puoi ruotare le chiavi di un componente alla volta oppure puoi ruotare tutte le chiavi contemporaneamente impostando 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 di 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 possono richiedere più tempo, perché è necessaria la ricreazione dei nodi:
Account di servizio | È necessaria la ricreazione dei nodi |
---|---|
Accesso componente | Se utilizzi Container Registry: Sì Se utilizzi un registro privato: No |
Audit logging | Cluster di amministrazione: sì Cluster utente con Contrlplane V2 abilitato: sì, ma solo nodi del piano di controllo |
Monitoraggio dei log | No |
Connetti-registra | No |
Misurazione dell'utilizzo | No |
Per una rotazione della chiave che richiede la nuova creazione dei nodi, questi vengono sostituiti in un processo di aggiornamento in sequenza, ovvero vengono ricreati uno alla volta.
Il possibile tempo di inattività durante la rotazione della chiave è simile a quello di un upgrade del cluster. Per maggiori dettagli, vedi Tempo di inattività durante gli upgrade.
Ripristino dei backup in corso...
Se devi ripristinare i backup dei secret che hai creato in precedenza, esegui questo comando:
kubectl apply -f backup/