In questa pagina viene descritto come ruotare le chiavi per i seguenti account di servizio:
- Accesso ai componenti
- Connetti-registra
- Monitoraggio-Logging
- Audit logging
- Misurazione dell'utilizzo
Per ruotare le chiavi degli account di servizio:
Crea una directory per archiviare un backup dei tuoi secret correnti:
mkdir backup
Prendi nota delle seguenti informazioni per l'account di servizio pertinente:
Accesso ai componenti
Cluster Secret Spazio dei nomi Amministratore credenziali-cluster-amministratore 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 di
private-registry-creds
contiene la chiave dell'account di servizio di accesso ai componenti. - Se utilizzi un registro privato, il secret
private-registry-creds
contiene le credenziali del registro privato, non la chiave dell'account di servizio di accesso ai componenti.
Connetti-registra
Cluster Secret Spazio dei nomi Amministratore credenziali-cluster-amministratore kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Monitoraggio-Logging
Cluster Secret Spazio dei nomi Amministratore credenziali-cluster-amministratore kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Utente google-cloud-credentials kube-system Utente stackdriver-service-account-key knative-serving Audit logging
Cluster Secret Spazio dei nomi Amministratore credenziali-cluster-amministratore 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-amministratore 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 di
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 comandi seguenti 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
: nome del nuovo file di chiavi 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 questi posti, 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 i comandi indicati di seguito. 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 dei seguenti: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 della chiave dell'account di servizio potrebbero richiedere più tempo perché è necessaria la ricreazione dei nodi:
Account di servizio | Ricreazione dei nodi obbligatoria |
---|---|
Accesso ai componenti | 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 i nodi del piano di controllo |
Monitoraggio del logging | No |
Connetti-registra | No |
Misurazione dell'utilizzo | No |
Per una rotazione della chiave che richiede la nuova creazione dei nodi, i nodi vengono sostituiti in un processo di aggiornamento in sequenza, ovvero i nodi vengono ricreati uno alla volta.
Il possibile tempo di inattività durante una rotazione della chiave è simile a quello per un upgrade del cluster. Per maggiori dettagli, consulta Tempo di riposo durante gli upgrade.
Ripristino dei backup
Se devi ripristinare i backup dei secret creati in precedenza, esegui questo comando:
kubectl apply -f backup/