Questa pagina descrive gli errori di autorizzazione che potresti riscontrare durante l'utilizzo di Backup per GKE, gli aspetti da considerare durante l'esecuzione dell'azione e come risolvere l'errore.
Errore 100010101: impossibile eseguire il backup di PersistentVolumeClaim. Associazione IAM mancante per il progetto tenant
L'errore 100010101
si verifica quando un tentativo di backup di un PersistentVolumeClaim
non riesce a causa di un'associazione Identity and Access Management mancante per il progetto tenant, con conseguente
messaggio di errore che indica
Failed to backup PersistentVolumeClaim - Missing IAM binding for tenant project
.
Backup per GKE crea snapshot del Persistent Disk del cluster GKE. Gli snapshot si trovano nel tuo progetto Google Cloud , noto anche come progetto consumer, e Google Cloud li crea all'interno di un progetto tenant che gestisce. Il progetto tenant esiste all'interno dell'organizzazione google.com
, separata dalla tua organizzazione.
L'agente di servizio all'interno del progetto tenant richiede autorizzazioni specifiche per utilizzare
la chiave di crittografia gestita dal cliente (CMEK) che cripta il Persistent Disk a cui fa
riferimento il PersistentVolumeClaim
del cluster. Questa autorizzazione
cripta e decripta i dati dello snapshot. Se l'agente di servizio service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
non dispone del ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter
sulla CMEK del disco, l'operazione di backup non va a buon fine.
Per risolvere questo errore, segui queste istruzioni:
Verifica di disporre delle autorizzazioni IAM sufficienti per modificare le policy IAM sulla chiave Cloud Key Management Service nella console Google Cloud , ad esempio
roles/cloudkms.admin
oroles/owner
.Individua l'agente di servizio Compute Engine del progetto tenant utilizzando il valore
TENANT_PROJECT_NUMBER
presente nel messaggiostatus reason
dell'operazione di backup non riuscita. Ad esempioservice-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
.Individua le seguenti informazioni CMEK utilizzate per il tuo Persistent Disk criptato:
Nome chiave: il nome della chiave di crittografia.
Keyring: il nome del keyring in cui si trova la chiave.
Posizione: la Google Cloud posizione in cui si trova la chiave. Ad esempio,
global
ous-central1
.
Per concedere all'agente di servizio Compute Engine del progetto tenant il ruolo
roles/cloudkms.cryptoKeyEncrypterDecrypter
sulla tua chiave CMEK, esegui il comandogcloud kms keys add-iam-policy-binding
utilizzando Google Cloud CLI: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
Sostituisci quanto segue:
KEY_NAME
: il nome della chiave di crittografia.KEY_RING
: il nome del portachiavi.LOCATION
: la Google Cloud posizione della chiave. Ad esempio,global
ous-central1
.TENANT_PROJECT_NUMBER
: il numero del progetto tenant che hai ottenuto dal messaggiostatus reason
dell'operazione di backup non riuscita.
Se il comando ha esito positivo, l'output è simile al seguente:
- members: - serviceAccount:service-987654321098@compute-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Esegui di nuovo il test dell'operazione di backup. Se l'operazione non va ancora a buon fine, contatta l'assistenza clienti Google Cloud per ulteriore assistenza.
Errore 100010104: Impossibile eseguire il backup di PersistentVolumeClaim - Violazione del vincolo della policy dell'organizzazione durante la creazione dello snapshot
L'errore 100010104
si verifica quando un tentativo di backup di un PersistentVolumeClaim
non riesce a causa di una violazione del vincolo dei criteri dell'organizzazione durante la creazione dello snapshot, con conseguente messaggio di errore che indica
Failed to backup PersistentVolumeClaim - Org policy constraint violation while creating snapshot
.
Backup per GKE crea snapshot del Persistent Disk del cluster GKE. Gli snapshot si trovano nel tuo progetto Google Cloud , noto anche come progetto consumer, e vengono creati all'interno di un progetto tenant gestito da Google Cloud. Il progetto tenant esiste all'interno dell'organizzazione google.com
, separata dalla tua organizzazione.
La policy dell'organizzazione determina dove puoi creare risorse di archiviazione. L'errore
Constraint constraints/compute.storageResourceUseRestrictions violated
indica che una risorsa o uno snapshot viola le norme perché è stato
creato in un progetto tenant che non fa parte della struttura organizzativa
consentita. Poiché il progetto tenant si trova all'interno dell'organizzazione di Google, non rientra
nel criterio definito, il che comporta l'errore di backup.
Per risolvere questo errore, segui queste istruzioni:
Individua la policy dell'organizzazione che implementa il vincolo
constraints/compute.storageResourceUseRestrictions
. Per saperne di più su come visualizzare le policy dell'organizzazione utilizzando la console Google Cloud , consulta Visualizzazione delle policy dell'organizzazione.Modifica il criterio
constraints/compute.storageResourceUseRestrictions
per includere la cartella del progetto tenantfolders/77620796932
utilizzata da Backup per GKE nella relativa lista consentita.Salva le modifiche alle norme dopo aver aggiunto la cartella alla lista consentita.
Esegui nuovamente il test dell'operazione di backup dopo l'aggiornamento e la propagazione dei criteri dell'organizzazione, che di solito richiedono alcuni minuti. Il backup deve procedere senza violare le limitazioni all'utilizzo delle risorse di archiviazione. Se l'operazione non va ancora a buon fine, contatta l'assistenza clienti Google Cloud per ulteriore assistenza.
Errore 100010106: impossibile eseguire il backup del PVC. Manca l'associazione IAM per l'agente di servizio Backup per GKE
L'errore 100010106
si verifica quando un tentativo di backup di un PersistentVolumeClaim
non riesce a causa di un'associazione
Identity and Access Management mancante per l'agente di servizio Backup per GKE, con conseguente
messaggio di errore che indica Failed to backup PVC - Missing IAM binding for Backup for GKE service agent
.
Backup per GKE richiede le autorizzazioni per utilizzare la chiave di crittografia gestita dal cliente (CMEK) del tuo BackupPlan
per criptare e decriptare i volumi Persistent Disk. Quando
l'agente di servizio Backup per GKE non dispone del
ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter
sulla tua CMEK BackupPlan
,
le operazioni di backup non vanno a buon fine.
Per risolvere questo errore, segui queste istruzioni:
Identifica l'agente di servizio Backup per GKE gestito da Google specifico per il tuo progetto. Ad esempio,
service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com
. Puoi trovare il numero di progetto utilizzando i seguenti metodi:Utilizza la dashboard del progetto Google Cloud nella console Google Cloud .
Esegui il comando
gcloud projects describe
utilizzando Google Cloud CLI:gcloud projects describe PROJECT_ID –format="value(projectNumber)"
Sostituisci
PROJECT_ID
con il nome univoco del tuo progetto.
Identifica i seguenti dettagli di CMEK:
Nome chiave: il nome della chiave di crittografia.
Keyring: il nome del keyring in cui si trova la chiave.
Posizione: la Google Cloud posizione in cui si trova la tua chiave
BackupPlan
CMEK. Ad esempio,global
ous-central1
.
Per concedere al service agent Backup per GKE il ruolo
roles/cloudkms.cryptoKeyEncrypterDecrypter
sulla tua chiave CMEK, utilizza Google Cloud CLI per eseguire il 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
Sostituisci quanto segue:
KEY_NAME
: il nome della chiave di crittografia.KEY_RING
: il nome del portachiavi.LOCATION
: la Google Cloud posizione della chiave. Ad esempio,global
ous-central1
.PROJECT_NUMBER
: il tuo numero di progetto Google Cloud .
Verifica di disporre delle autorizzazioni Identity and Access Management richieste per la chiave Cloud Key Management Service. Ad esempio,
roles/cloudkms.admin
oroles/owner
.Verifica di disporre delle autorizzazioni concesse. Nell'output del comando
gcloud kms keys add-iam-policy-binding
precedente, cerca una voce simile alla seguente:-members: -serviceAccount:service-123456789012@gcp-sa-gkebackup.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Esegui nuovamente il test dell'operazione di backup dopo aver concesso le autorizzazioni necessarie. Se l'operazione non viene completata correttamente, contatta l'assistenza clienti Google Cloud per ulteriore assistenza.
Errore 100010107: impossibile eseguire il backup del PVC - Associazione IAM mancante - account di servizio agente (KCP)
L'errore 100010107
si verifica quando tenti di eseguire un'operazione di backup per GKE e l'agente di servizio del cluster Google Kubernetes Engine non ha accesso alla tua chiave di crittografia gestita dal cliente (CMEK), il che comporta la visualizzazione del messaggio
Failed to backup PVC - Missing IAM binding - agent service account (KCP)
.
L'agente di servizio del cluster Google Kubernetes Engine, in genere nel formato
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
,
è essenziale per consentire al cluster GKE di interagire con i servizi Google Cloud. Quando il piano di backup utilizza una chiave di crittografia gestita dal cliente (CMEK).
Questo service agent ha bisogno delle autorizzazioni per criptare e decriptare i dati di backup
utilizzando la tua CMEK. Se nel piano di backup manca il ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter
su CMEK, le operazioni di backup avviate dal cluster non vanno a buon fine e viene visualizzato un
errore permission denied
.
Per risolvere l'errore, segui queste istruzioni per la risoluzione dei problemi:
Verifica di disporre delle autorizzazioni corrette per modificare i criteri IAM sulla chiave Cloud Key Management Service. Ad esempio,
cloudkms.admin
oroles/owner
.Identificare l'agente di servizio del cluster Google Kubernetes Engine. Questo service agent viene creato e gestito automaticamente da Google Cloud per i tuoi cluster GKE. Ad esempio,
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
. Per creare il account di servizio completo, devi disporre del numero di progetto. Puoi trovare il numero del progetto utilizzando uno dei seguenti metodi:Utilizza la dashboard del progetto Google Cloud nella console Google Cloud .
Esegui il comando
gcloud projects describe
utilizzando Google Cloud CLI:gcloud projects describe PROJECT_ID –-format="value(projectNumber)"
Sostituisci
PROJECT_ID
con l'ID progetto.
Individua le seguenti informazioni su CMEK:
Nome chiave: il nome della chiave di crittografia.
Keyring: il nome del keyring in cui si trova la chiave.
Posizione: la Google Cloud posizione in cui si trova la chiave. Ad esempio,
global
ous-central1
.
Concedi il ruolo
roles/cloudkms.cryptoKeyEncrypterDecrypter
a livello di chiave di crittografia gestita dal cliente. L'agente di servizio Google Kubernetes Engine ha bisogno delle autorizzazioni per la chiave di crittografia. Per concedere il ruoloroles/cloudkms.cryptoKeyEncrypterDecrypter
sulla tua chiave CMEK, utilizza Google Cloud CLI per eseguire il 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
Sostituisci quanto segue:
KEY_NAME
: il nome della chiave di crittografia.KEY_RING
: il nome del portachiavi.LOCATION
: la Google Cloud posizione della chiave. Ad esempio,global
ous-central1
.PROJECT_NUMBER
: il nome del progetto.
L'output è simile al seguente:
- members: - serviceAccount:service-123456789012@container-engine-robot.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter ```
Riprova l'operazione Backup per GKE. Se l'operazione continua a non riuscire, contatta l'assistenza clienti Google Cloud per ulteriore assistenza.