Blog

Verschlüsselung im Ruhezustand mit Google Storage Buckets

Mark van Holsteijn

Aktualisiert Oktober 21, 2025
2 Minuten

Google Storage Buckets ist der Service von Google zum Speichern unstrukturierter Daten, auf die mit einem Schlüssel zugegriffen werden kann. Standardmäßig verschlüsselt und entschlüsselt Google die Daten
auf und von der Festplatte mit einem von Google verwalteten Verschlüsselungsschlüssel. In diesem Blog zeigen wir Ihnen, wie Sie einen vom Kunden verwalteten Schlüssel für die Verschlüsselung verwenden können.

Aktivieren der Verschlüsselung im Ruhezustand

Wie bei allen Google Cloud-Diensten wird die Verschlüsselung sowohl bei der Übertragung als auch im Ruhezustand angewendet. Das bedeutet, dass die einfachste Möglichkeit, die Verschlüsselung im Ruhezustand zu aktivieren, darin besteht, einen Bucket mit Terraform
zu erstellen:

resource "google_storage_bucket" "with-google-managed-encryption-key" {
  name     = "gcp-managed-encryption-key-bucket-${data.google_project.current.number}"
  location = "EU"
}

Aktivieren der Verschlüsselung mit einem vom Kunden verwalteten Schlüssel

Wenn Sie Ihre eigenen Schlüssel verwenden möchten, mit denen die Daten verschlüsselt werden, müssen Sie zunächst einen kryptografischen Schlüssel mit einem Schlüsselring erstellen:

resource "google_kms_crypto_key" "gcs" {
  name            = "gcs-key"
  key_ring        = "${google_kms_key_ring.gcs.self_link}"
  rotation_period = "86401s"
}

resource “google_kms_key_ring” “gcs” {
  name     = “gcs-key”
  location = “global”
}

Jetzt können Sie einen Speicher-Bucket mit dem angegebenen Schlüssel erstellen:

resource "google_storage_bucket" "with-customer-encryption-key" {
  name     = "customer-managed-encryption-key-bucket-${data.google_project.current.number}"
  location = "EU"
  encryption {
    default_kms_key_name = "${google_kms_crypto_key.gcs.self_link}"
  }
}

Wenn Sie nun versuchen, eine Datei in den Bucket zu kopieren, wird die folgende Fehlermeldung angezeigt:

$ gsutil cp encrypted-buckets.tf 
    gs://customer-managed-encryption-key-bucket-123123123126/
Copying file://encrypted-buckets.tf [Content Type=application/octet-stream]...
AccessDeniedException: 403 Permission denied on Cloud KMS key. Please ensure that your Cloud Storage service account  has been authorized to use this key.

Um dieses Problem zu lösen, fügen Sie das Google Storage Service-Konto als Mitglied des Projekts in der Rolle des Cloud KMS CryptoKey Encrypter/Decrypter hinzu:

resource "google_project_iam_member" "grant-google-storage-service-encrypt-decrypt" {
  role    = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
  member  = "serviceAccount:service-${data.google_project.current.number}@gs-project-accounts.iam.gserviceaccount.com"
}

Quellcode

Den Quellcode für dieses Projekt finden Sie unter github.com/binxio.encryption-at-rest-gcp.

Fazit

Die Verschlüsselung im Ruhezustand ist eine Standardfunktion von Google Storage Buckets und alle Objekte in einem Bucket werden im Ruhezustand verschlüsselt. Wenn Sie möchten, können Sie einen vom Kunden verwalteten Schlüssel von Google KMS verwenden. Wenn Ihnen dieser Blog gefallen hat, interessiert Sie vielleicht auch Verschlüsselung im Ruhezustand in AWS S3?

Verfasst von

Mark van Holsteijn

Mark van Holsteijn is a senior software systems architect at Xebia Cloud-native solutions. He is passionate about removing waste in the software delivery process and keeping things clear and simple.

Contact

Let’s discuss how we can support your journey.