Nesta página, descrevemos os erros de permissão que podem ocorrer ao usar o Backup para GKE, o que considerar ao realizar a ação e como resolver o erro.
Erro 100010101: falha ao fazer backup de PersistentVolumeClaim. Vinculação do IAM ausente para o projeto do locatário.
O erro 100010101
ocorre quando uma tentativa de fazer backup de um PersistentVolumeClaim
falha devido a uma vinculação ausente do gerenciamento de identidade e acesso para o projeto do locatário, resultando
em uma mensagem de erro informando
Failed to backup PersistentVolumeClaim - Missing IAM binding for tenant project
.
O Backup para GKE cria snapshots do disco permanente do cluster do GKE. Os snapshots ficam no seu projeto Google Cloud , também conhecido como projeto de consumidor, e o Google Cloud os cria em um projeto de locatário que ele gerencia. O projeto do locatário existe na organização google.com
, separada da sua.
O agente de serviço no projeto do locatário precisa de permissões específicas para usar
a chave de criptografia gerenciada pelo cliente (CMEK) que criptografa o disco permanente referenciado pelo PersistentVolumeClaim
do cluster. Essa permissão
criptografa e descriptografa os dados do snapshot. Se o agente de serviço service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
não tiver a função roles/cloudkms.cryptoKeyEncrypterDecrypter
na CMEK do disco, a operação de backup vai falhar.
Para resolver esse erro, siga estas instruções:
Verifique se você tem permissões suficientes do IAM para modificar políticas do IAM na chave do Cloud Key Management Service no console Google Cloud , como
roles/cloudkms.admin
ouroles/owner
.Localize o agente de serviço do Compute Engine do projeto do locatário usando o valor
TENANT_PROJECT_NUMBER
na mensagemstatus reason
da operação de backup com falha. Por exemplo,service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
.Localize as seguintes informações da CMEK usadas para o disco permanente criptografado:
Nome da chave: o nome da sua chave de criptografia.
Keyring: o nome do keyring em que a chave está localizada.
Local: o Google Cloud local onde a chave está. Por exemplo,
global
ouus-central1
.
Para conceder ao agente de serviço do Compute Engine do projeto do locatário o papel
roles/cloudkms.cryptoKeyEncrypterDecrypter
na sua CMEK, execute o comandogcloud kms keys add-iam-policy-binding
usando a CLI do Google Cloud:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Substitua:
KEY_NAME
: o nome da chave de criptografia.KEY_RING
: o nome do keyring;LOCATION
: a Google Cloud localização da chave. Por exemplo,global
ouus-central1
.TENANT_PROJECT_NUMBER
: o número do projeto de locatário que você recebeu da mensagemstatus reason
da sua operação de backup com falha.
Se o comando for bem-sucedido, a saída será semelhante a esta:
- members: - serviceAccount:service-987654321098@compute-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Teste novamente a operação de backup. Se a operação ainda não for concluída, entre em contato com o Cloud Customer Care para receber mais ajuda.
Erro 100010104: falha ao fazer backup de PersistentVolumeClaim: violação da restrição da política da organização ao criar o snapshot
O erro 100010104
ocorre quando uma tentativa de fazer backup de um PersistentVolumeClaim
falha devido a uma violação de restrição da política da organização durante a criação
do snapshot, resultando em uma mensagem de erro informando
Failed to backup PersistentVolumeClaim - Org policy constraint violation while creating snapshot
.
O Backup para GKE cria snapshots do disco permanente do cluster do GKE. Os snapshots ficam no seu projeto Google Cloud , também conhecido como projeto de consumidor, e são criados em um projeto de locatário gerenciado por Google Cloud. O projeto do locatário existe na organização google.com
, separada da sua.
A política da organização determina onde você pode criar recursos de armazenamento. O erro
Constraint constraints/compute.storageResourceUseRestrictions violated
significa que um recurso ou snapshot está violando a política por ter sido
criado em um projeto de locatário que não faz parte da estrutura
organizacional permitida. Como o projeto do locatário está na organização do Google, ele fica fora da política definida, o que causa a falha do backup.
Para resolver esse erro, siga estas instruções:
Localize a política da organização que implementa a restrição
constraints/compute.storageResourceUseRestrictions
. Para mais informações sobre como visualizar políticas da organização usando o console Google Cloud , consulte Como visualizar políticas da organização.Modifique a política
constraints/compute.storageResourceUseRestrictions
para incluir a pasta do projeto do locatáriofolders/77620796932
usada pelo Backup para GKE na lista de permissões.Salve as mudanças na política depois de adicionar a pasta à lista de permissões.
Teste novamente a operação de backup depois que a política da organização for atualizada e propagada, o que geralmente leva alguns minutos. O backup vai continuar sem violar as restrições de uso de recursos de armazenamento. Se a operação ainda não for concluída, entre em contato com o Cloud Customer Care para receber mais ajuda.
Erro 100010106: falha ao fazer backup da PVC. Não há vinculação do IAM para o agente de serviço do Backup para GKE.
O erro 100010106
ocorre quando uma tentativa de fazer backup de um PersistentVolumeClaim
falha devido a uma vinculação
ausente do gerenciamento de identidade e acesso para seu agente de serviço do Backup para GKE, resultando em
uma mensagem de erro informando Failed to backup PVC - Missing IAM binding for Backup for GKE service agent
.
O Backup para GKE exige permissões para usar a chave de criptografia gerenciada pelo cliente (CMEK) do BackupPlan
para criptografar e descriptografar volumes de discos permanentes. Quando o agente de serviço do Backup para GKE não tem a função roles/cloudkms.cryptoKeyEncrypterDecrypter
na CMEK BackupPlan
, as operações de backup falham.
Para resolver esse erro, siga estas instruções:
Identifique o agente de serviço gerenciado pelo Google do Backup para GKE específico do seu projeto. Por exemplo,
service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com
Para encontrar o número do projeto, use os seguintes métodos:Use o painel de projetos do Google Cloud no console do Google Cloud .
Execute o comando
gcloud projects describe
usando a Google Cloud CLI:gcloud projects describe PROJECT_ID –format="value(projectNumber)"
Substitua
PROJECT_ID
pelo nome exclusivo do projeto.
Identifique os seguintes detalhes da CMEK:
Nome da chave: o nome da sua chave de criptografia.
Keyring: o nome do keyring em que a chave está localizada.
Local: o local Google Cloud onde a CMEK
BackupPlan
está localizada. Por exemplo,global
ouus-central1
.
Para conceder ao agente de serviço do Backup para GKE o papel
roles/cloudkms.cryptoKeyEncrypterDecrypter
na sua CMEK, use a CLI do Google Cloud para executar o comandogcloud kms keys add-iam-policy-binding
:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Substitua:
KEY_NAME
: o nome da chave de criptografia.KEY_RING
: o nome do keyring;LOCATION
: a Google Cloud localização da chave. Por exemplo,global
ouus-central1
.PROJECT_NUMBER
: o número do projeto Google Cloud .
Verifique se você tem as permissões necessárias do Identity and Access Management na chave do Cloud Key Management Service. Por exemplo,
roles/cloudkms.admin
ouroles/owner
.Verifique se você tem as permissões concedidas. Na saída do comando
gcloud kms keys add-iam-policy-binding
anterior, procure uma entrada semelhante a esta:-members: -serviceAccount:service-123456789012@gcp-sa-gkebackup.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Teste novamente a operação de backup depois de conceder as permissões necessárias. Se a operação não for concluída, entre em contato com o Cloud Customer Care para receber mais ajuda.
Erro 100010107: falha ao fazer backup da PVC. Vinculação do IAM ausente: conta de serviço do agente (KCP)
O erro 100010107
ocorre quando você tenta realizar uma operação de backup do Backup para GKE e o
agente de serviço do cluster do Google Kubernetes Engine não tem acesso à sua
chave de criptografia gerenciada pelo cliente (CMEK), resultando em uma mensagem informando
Failed to backup PVC - Missing IAM binding - agent service account (KCP)
.
O agente de serviço do cluster do Google Kubernetes Engine, geralmente no formato
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
,
é essencial para que o cluster do GKE interaja com os serviços Google Cloud. Quando seu plano de backup usa uma chave de criptografia gerenciada pelo cliente (CMEK).
Esse agente de serviço precisa de permissões para criptografar e descriptografar seus dados de backup usando a CMEK. Se o plano de backup não tiver a função roles/cloudkms.cryptoKeyEncrypterDecrypter
na CMEK, as operações de backup iniciadas no cluster vão falhar com um erro
permission denied
.
Para resolver esse erro, siga estas instruções:
Verifique se você tem as permissões corretas para modificar as políticas do IAM na chave do Cloud Key Management Service. Por exemplo,
cloudkms.admin
ouroles/owner
.Identifique o agente de serviço do cluster do Google Kubernetes Engine. Esse agente de serviço é criado e gerenciado automaticamente por Google Cloud para seus clusters do GKE. Por exemplo,
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
. Você precisa do número do projeto para criar a conta de serviço completa. Para encontrar o número do projeto, use um dos seguintes métodos:Use o painel de projetos do Google Cloud no console do Google Cloud .
Execute o comando
gcloud projects describe
usando a Google Cloud CLI:gcloud projects describe PROJECT_ID –-format="value(projectNumber)"
Substitua
PROJECT_ID
pela ID do seu projeto.
Localize as seguintes informações da CMEK:
Nome da chave: o nome da sua chave de criptografia.
Keyring: o nome do keyring em que a chave está localizada.
Local: o Google Cloud local onde a chave está. Por exemplo,
global
ouus-central1
.
Conceda o papel
roles/cloudkms.cryptoKeyEncrypterDecrypter
no nível da CMEK. O agente de serviço do Google Kubernetes Engine precisa de permissões na sua chave de criptografia. Para conceder o papelroles/cloudkms.cryptoKeyEncrypterDecrypter
na sua CMEK, use a Google Cloud CLI para executar o comandogcloud kms key add-iam-policy-binding
:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Substitua:
KEY_NAME
: o nome da chave de criptografia.KEY_RING
: o nome do keyring;LOCATION
: a Google Cloud localização da chave. Por exemplo,global
ouus-central1
.PROJECT_NUMBER
: o nome do projeto.
O resultado será assim:
- members: - serviceAccount:service-123456789012@container-engine-robot.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter ```
Tente novamente a operação do Backup para GKE. Se a operação continuar falhando, entre em contato com o Cloud Customer Care para receber mais ajuda.