Blog
Verschlüsselung im Ruhezustand mit Google Storage Buckets

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.
Unsere Ideen
Weitere Blogs
Contact



