Nesta página, descrevemos como fazer a rotação de chaves das seguintes contas de serviço:
- Acesso a componentes
- Registro do Connect
- Geração de registros/monitoramento
- Registro de auditoria
- Medição de uso
Para alternar as chaves da conta de serviço:
Crie um diretório para armazenar um backup dos seus secrets atuais:
mkdir backup
Observe as seguintes informações sobre a conta de serviço relevante:
Acesso a componentes
Cluster Secret Namespace Administrador admin-cluster-creds kube-system Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Administrador private-registry-creds kube-system Usuário private-registry-creds kube-system - Se você não estiver usando um registro particular, o secret
private-registry-creds
terá a chave para sua conta de serviço de acesso a componentes. - Se você estiver usando um registro particular, o
Secret
private-registry-creds
manterá as credenciais do registro particular, não a chave da conta de serviço de acesso ao componente.
Registro do Connect
Cluster Secret Namespace Administrador admin-cluster-creds kube-system Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Geração de registros/monitoramento
Cluster Secret Namespace Administrador admin-cluster-creds kube-system Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Usuário google-cloud-credentials kube-system Usuário stackdriver-service-account-key knative-serving Registro de auditoria
Cluster Secret Namespace Administrador admin-cluster-creds kube-system Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Administrador kube-apiserver CLUSTER_NAME Medição de uso
Cluster Secret Namespace Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Usuário usage-metering-bigquery-service-account-key kube-system Stackdriver
Cluster Secret Namespace Administrador admin-cluster-creds kube-system Administrador user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Usuário google-cloud-credentials kube-system Usuário stackdriver-service-account-key knative-serving - Se você não estiver usando um registro particular, o secret
Crie um backup de cada secret usando o seguinte comando:
kubectl get secret SECRET --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/SECRET-NAMESPACE.json
Substitua:
NAMESPACE
: o namespace em que o secret está localizado. Por exemplo,kube-system
.KUBECONFIG
: o caminho para o arquivo kubeconfig do cluster de administrador ou usuário.SECRET
: o nome do secret Por exemplo,admin-cluster-creds
.
Por exemplo, execute os seguintes comandos para a conta de serviço do registro de auditoria:
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 criar um novo arquivo de chave da conta de serviço, execute o seguinte comando:
gcloud iam service-accounts keys create NEW_KEY_FILE --iam-account IAM_ACCOUNT
Substitua:
NEW_KEY_FILE
: o nome do novo arquivo de chave da conta de serviço.IAM_ACCOUNT
: o endereço de e-mail da conta de serviço.
No arquivo de configuração do cluster de administrador, encontre o campo
componentAccessServiceAccountKeyPath
, a seçãogkeConnect
, a seçãostackdriver
e a seçãocloudAuditLogging
. Nesses locais, substitua os caminhos para os arquivos de chave da conta de serviço.No arquivo de configuração do cluster de usuário, localize o campo
componentAccessServiceAccountKeyPath
, a seçãogkeConnect
, a seçãostackdriver
, a seçãocloudAudigLogging
e a seçãousageMetering
. Nesses locais, substitua os caminhos para os arquivos de chave da conta de serviço.Salve as alterações feitas usando os seguintes 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
Substitua:
COMPONENT
: um decomponentaccess
,register
,cloudauditlogging
,usagemetering
oustackdriver
.ADMIN_CLUSTER_KUBECONFIG
: o caminho para o arquivo kubeconfig do cluster do administrador.ADMIN_CLUSTER_CONFIG
: o caminho até o arquivo de configuração do cluster de administrador.USER_CLUSTER_CONFIG
: o caminho para o arquivo de configuração do cluster de usuário.
Recriação de nós
Algumas rotações de chaves da conta de serviço podem levar mais tempo porque é necessário recriar o nó:
Conta de serviço | Recriação de nós necessária |
---|---|
Acesso a componentes | Se estiver usando o Container Registry: sim Se estiver usando um registro particular: não |
Registro de auditoria | Cluster de administrador: sim Cluster de usuário com o Contrlplane V2 ativado: sim, mas apenas os nós do plano de controle |
Geração de registros/monitoramento | Não |
Registro do Connect | Não |
Medição de uso | Não |
Como restaurar backups
Se você precisar restaurar os backups dos secrets criados anteriormente, execute o seguinte comando:
kubectl apply -f backup/