Auf dieser Seite werden Berechtigungsfehler beschrieben, die bei der Verwendung von Backup for GKE auftreten können. Außerdem werden Aspekte erläutert, die bei der Ausführung der Aktion zu berücksichtigen sind, und es wird beschrieben, wie Sie den Fehler beheben können.
Fehler 100010101: Fehler beim Sichern von PersistentVolumeClaim – IAM-Bindung für Mandantenprojekt fehlt
Der Fehler 100010101
tritt auf, wenn beim Versuch, eine PersistentVolumeClaim
zu sichern, ein Fehler auftritt, weil für Ihr Mandantenprojekt keine Identity and Access Management-Bindung vorhanden ist. In diesem Fall wird die Fehlermeldung Failed to backup PersistentVolumeClaim - Missing IAM binding for tenant project
angezeigt.
Backup for GKE erstellt Snapshots des nichtflüchtigen Speichers Ihres GKE-Clusters. Die Snapshots befinden sich in Ihrem Google Cloud Projekt, auch bekannt als das Nutzerprojekt, und Google Cloud erstellt sie in einem von ihm verwalteten Mandantenprojekt. Das Mandantenprojekt befindet sich in der Organisation google.com
, getrennt von Ihrer eigenen Organisation.
Der Dienst-Agent im Mandantenprojekt benötigt bestimmte Berechtigungen, um den vom Kunden verwalteten Verschlüsselungsschlüssel (Customer-Managed Encryption Key, CMEK) zu verwenden, mit dem der nichtflüchtige Speicher verschlüsselt wird, auf den in der PersistentVolumeClaim
Ihres Clusters verwiesen wird. Mit dieser Berechtigung werden die Snapshot-Daten verschlüsselt und entschlüsselt. Wenn dem service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
-Dienst-Agent die Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter
für den CMEK Ihrer Festplatte fehlt, schlägt der Sicherungsvorgang fehl.
So beheben Sie diesen Fehler:
Prüfen Sie, ob Sie in der Google Cloud Console ausreichende IAM-Berechtigungen zum Ändern von IAM-Richtlinien für den Cloud Key Management Service-Schlüssel haben, z. B.
roles/cloudkms.admin
oderroles/owner
.Suchen Sie den Compute Engine-Dienst-Agent des Mandantenprojekts anhand des
TENANT_PROJECT_NUMBER
-Werts, der in derstatus reason
-Meldung Ihres fehlgeschlagenen Sicherungsvorgangs enthalten ist. Beispiel:service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
.Suchen Sie die folgenden CMEK-Informationen, die für Ihre verschlüsselte Persistent Disk verwendet werden:
Schlüsselname: Der Name Ihres Verschlüsselungsschlüssels.
Schlüsselbund: Der Name des Schlüsselbunds, in dem sich Ihr Schlüssel befindet.
Speicherort: Der Google Cloud Speicherort Ihres Schlüssels. Beispiel:
global
oderus-central1
.
Wenn Sie dem Compute Engine-Dienst-Agent des Mandantenprojekts die Rolle
roles/cloudkms.cryptoKeyEncrypterDecrypter
für Ihren CMEK zuweisen möchten, führen Sie den Befehlgcloud kms keys add-iam-policy-binding
mit der Google Cloud CLI aus: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
Ersetzen Sie Folgendes:
KEY_NAME
: Name des Verschlüsselungsschlüssels.KEY_RING
: Der Name des Schlüsselbunds.LOCATION
: Der Google Cloud Speicherort Ihres Schlüssels. Beispiel:global
oderus-central1
.TENANT_PROJECT_NUMBER
: die Mandantenprojektnummer, die Sie aus derstatus reason
-Meldung Ihres fehlgeschlagenen Sicherungsvorgangs erhalten haben.
Bei erfolgreicher Ausführung des Befehls sieht die Ausgabe so aus:
- members: - serviceAccount:service-987654321098@compute-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Wiederholen Sie den Sicherungsvorgang. Wenn der Vorgang weiterhin nicht erfolgreich ist, wenden Sie sich an Cloud Customer Care.
Fehler 100010104: Fehler beim Sichern von PersistentVolumeClaim – Verstoß gegen die Einschränkung der Organisationsrichtlinie beim Erstellen des Snapshots
Der Fehler 100010104
tritt auf, wenn der Versuch, eine PersistentVolumeClaim
zu sichern, aufgrund eines Verstoßes gegen eine Organisationsrichtlinie während der Snapshot-Erstellung fehlschlägt. In diesem Fall wird die Fehlermeldung Failed to backup PersistentVolumeClaim - Org policy constraint violation while creating snapshot
angezeigt.
Backup for GKE erstellt Snapshots des nichtflüchtigen Speichers Ihres GKE-Clusters. Die Snapshots befinden sich in Ihrem Google Cloud -Projekt, auch bekannt als Nutzerprojekt, und werden in einem von Google Cloudverwalteten Mandantenprojekt erstellt. Das Mandantenprojekt befindet sich in der Organisation google.com
, getrennt von Ihrer eigenen Organisation.
Ihre Organisationsrichtlinie gibt vor, wo Sie Speicherressourcen erstellen können. Der Fehler Constraint constraints/compute.storageResourceUseRestrictions violated
bedeutet, dass eine Ressource oder ein Snapshot gegen die Richtlinie verstößt, weil sie in einem Mandantenprojekt erstellt wurde, das nicht Teil Ihrer zulässigen Organisationsstruktur ist. Da sich das Mandantenprojekt in der Organisation von Google befindet, fällt es nicht unter Ihre definierte Richtlinie, was zum Fehler bei der Sicherung führt.
So beheben Sie diesen Fehler:
Suchen Sie die Organisationsrichtlinie, die die Einschränkung
constraints/compute.storageResourceUseRestrictions
implementiert. Weitere Informationen zum Aufrufen von Organisationsrichtlinien über die Google Cloud -Konsole finden Sie unter Organisationsrichtlinien aufrufen.Ändern Sie die
constraints/compute.storageResourceUseRestrictions
-Richtlinie so, dass der vom Backup for GKE verwendetefolders/77620796932
-Mandantenprojektordner in der Zulassungsliste enthalten ist.Speichern Sie die Richtlinienänderungen, nachdem Sie den Ordner auf die Zulassungsliste gesetzt haben.
Testen Sie den Sicherungsvorgang noch einmal, nachdem die Organisationsrichtlinie aktualisiert und übernommen wurde. Das dauert in der Regel einige Minuten. Die Sicherung sollte ohne Verstoß gegen die Einschränkungen bei der Nutzung von Speicherressourcen erfolgen. Wenn der Vorgang weiterhin nicht erfolgreich ist, wenden Sie sich an Cloud Customer Care.
Fehler 100010106: Fehler beim Sichern von PVC – Fehlende IAM-Bindung für den Backup for GKE-Dienst-Agent
Der Fehler 100010106
tritt auf, wenn beim Versuch, eine PersistentVolumeClaim
zu sichern, ein Fehler auftritt, weil für Ihren Backup for GKE-Dienst-Agent keine IAM-Bindung (Identity and Access Management) vorhanden ist. In diesem Fall wird die Fehlermeldung Failed to backup PVC - Missing IAM binding for Backup for GKE service agent
angezeigt.
Für Backup for GKE sind Berechtigungen erforderlich, um den vom Kunden verwalteten Verschlüsselungsschlüssel (Customer-Managed Encryption Key, CMEK) von BackupPlan
zum Verschlüsseln und Entschlüsseln von nichtflüchtigen Speichern zu verwenden. Wenn dem Backup for GKE-Dienst-Agent die Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter
für Ihren BackupPlan
-CMEK fehlt, schlagen Sicherungsvorgänge fehl.
So beheben Sie diesen Fehler:
Ermitteln Sie den von Google verwalteten Backup for GKE-Dienst-Agent für Ihr Projekt. Beispiel:
service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com
. Sie können Ihre Projektnummer mit den folgenden Methoden ermitteln:Verwenden Sie das Google Cloud Projekt-Dashboard in der Google Cloud Console.
Führen Sie den Befehl
gcloud projects describe
über die Google Cloud CLI aus:gcloud projects describe PROJECT_ID –format="value(projectNumber)"
Ersetzen Sie
PROJECT_ID
durch den eindeutigen Namen Ihres Projekts.
Ermitteln Sie die folgenden CMEK-Details:
Schlüsselname: Der Name Ihres Verschlüsselungsschlüssels.
Schlüsselbund: Der Name des Schlüsselbunds, in dem sich Ihr Schlüssel befindet.
Standort: Der Google Cloud -Standort, an dem sich Ihr
BackupPlan
-CMEK befindet. Beispiel:global
oderus-central1
.
Um dem Backup for GKE-Dienst-Agent die Rolle
roles/cloudkms.cryptoKeyEncrypterDecrypter
für Ihren CMEK zu gewähren, führen Sie den Befehlgcloud kms keys add-iam-policy-binding
mit der Google Cloud CLI aus: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
Ersetzen Sie Folgendes:
KEY_NAME
: Name des Verschlüsselungsschlüssels.KEY_RING
: Der Name des Schlüsselbunds.LOCATION
: Der Google Cloud Speicherort Ihres Schlüssels. Beispiel:global
oderus-central1
.PROJECT_NUMBER
: Ihre Google Cloud -Projektnummer.
Prüfen Sie, ob Sie die erforderlichen IAM-Berechtigungen (Identity and Access Management) für den Cloud KMS-Schlüssel haben. Beispiel:
roles/cloudkms.admin
oderroles/owner
.Prüfen Sie, ob Sie die erteilten Berechtigungen haben. Suchen Sie in der Ausgabe des vorherigen
gcloud kms keys add-iam-policy-binding
-Befehls nach einem Eintrag, der dem folgenden ähnelt:-members: -serviceAccount:service-123456789012@gcp-sa-gkebackup.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Wiederholen Sie den Sicherungsvorgang, nachdem Sie die erforderlichen Berechtigungen erteilt haben. Wenn der Vorgang nicht erfolgreich abgeschlossen wird, wenden Sie sich an Cloud Customer Care.
Fehler 100010107: PVC konnte nicht gesichert werden – IAM-Bindung fehlt – Dienstkonto des Agents (KCP)
Der Fehler 100010107
tritt auf, wenn Sie versuchen, einen Backup for GKE-Sicherungsvorgang auszuführen und der Google Kubernetes Engine-Cluster-Dienst-Agent keinen Zugriff auf Ihren vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) hat. In diesem Fall wird die Meldung Failed to backup PVC - Missing IAM binding - agent service account (KCP)
angezeigt.
Der Google Kubernetes Engine-Clusterdienst-Agent, in der Regel im Format service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
, ist unerlässlich, damit Ihr GKE-Cluster mit Google Cloud-Diensten interagieren kann. Wenn in Ihrem Sicherungsplan ein vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK) verwendet wird.
Dieser Dienstagent benötigt Berechtigungen zum Ver- und Entschlüsseln Ihrer Sicherungsdaten mit Ihrem CMEK. Wenn im Sicherungsplan die Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter
für Ihren CMEK fehlt, schlagen Sicherungsvorgänge, die vom Cluster aus initiiert werden, mit dem Fehler permission denied
fehl.
Führen Sie die folgenden Schritte zur Fehlerbehebung aus, um das Problem zu beheben:
Prüfen Sie, ob Sie die erforderlichen Berechtigungen zum Ändern von IAM-Richtlinien für den Cloud Key Management Service-Schlüssel haben. Beispiel:
cloudkms.admin
oderroles/owner
.Identifizieren Sie den Google Kubernetes Engine-Cluster-Dienst-Agent. Dieser Dienst-Agent wird automatisch von Google Cloud für Ihre GKE-Cluster erstellt und verwaltet. Beispiel:
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
Sie benötigen die Projektnummer, um das vollständige Dienstkonto zu erstellen. Sie können Ihre Projektnummer mit einer der folgenden Methoden ermitteln:Verwenden Sie das Google Cloud Projekt-Dashboard in der Google Cloud Console.
Führen Sie den Befehl
gcloud projects describe
über die Google Cloud CLI aus:gcloud projects describe PROJECT_ID –-format="value(projectNumber)"
Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.
Suchen Sie die folgenden CMEK-Informationen:
Schlüsselname: Der Name Ihres Verschlüsselungsschlüssels.
Schlüsselbund: Der Name des Schlüsselbunds, in dem sich Ihr Schlüssel befindet.
Speicherort: Der Google Cloud Speicherort Ihres Schlüssels. Beispiel:
global
oderus-central1
.
Weisen Sie die Rolle
roles/cloudkms.cryptoKeyEncrypterDecrypter
auf CMEK-Ebene zu. Der Google Kubernetes Engine-Dienst-Agent benötigt Berechtigungen für Ihren Verschlüsselungsschlüssel. Wenn Sie die Rolleroles/cloudkms.cryptoKeyEncrypterDecrypter
für Ihren CMEK gewähren möchten, führen Sie den Befehlgcloud kms key add-iam-policy-binding
mit der Google Cloud CLI aus: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
Ersetzen Sie Folgendes:
KEY_NAME
: Name des Verschlüsselungsschlüssels.KEY_RING
: Der Name des Schlüsselbunds.LOCATION
: Der Google Cloud Speicherort Ihres Schlüssels. Beispiel:global
oderus-central1
.PROJECT_NUMBER
: der Name des Projekts.
Die Ausgabe sieht etwa so aus:
- members: - serviceAccount:service-123456789012@container-engine-robot.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter ```
Wiederholen Sie den Backup for GKE-Vorgang. Wenn der Vorgang weiterhin fehlschlägt, wenden Sie sich an Cloud Customer Care.