CMEK-Compliance in Cloud Build

Cloud Build bietet vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK). Dabei wird der nichtflüchtige Speicher für die Build-Dauer mit einem sitzungsspezifischen Schlüssel verschlüsselt, der für jeden Build generiert wird. Es ist keine Konfiguration erforderlich. Für jeden Build wird ein eindeutiger Schlüssel generiert.

Sobald ein Build gestartet wurde, ist der Schlüssel nur für die Build-Prozesse zugänglich, die ihn bis zu 24 Stunden benötigen. Anschließend wird der Schlüssel aus dem Arbeitsspeicher gelöscht und vernichtet.

Der Schlüssel wird nirgendwo gespeichert, ist weder für Google-Entwickler noch für Supportmitarbeiter zugänglich und kann nicht wiederhergestellt werden. Die mit einem solchen Schlüssel geschützten Daten sind nach Abschluss des Builds dauerhaft unzugänglich.

Wie funktioniert die flüchtige Schlüsselverschlüsselung?

Cloud Build unterstützt CMEK durch Verwendung von flüchtigen Schlüsseln. Der Service ist dadurch vollständig mit einer CMEK-fähigen Einrichtung konsistent und kompatibel.

Cloud Build führt die folgenden Schritte aus, damit nichtflüchtige Laufwerke für die Build-Dauer mit einem sitzungsspezifischen Schlüssel verschlüsselt werden:

  1. Cloud Build erstellt einen zufälligen 256-Bit-Verschlüsselungsschlüssel, um jeden nichtflüchtigen Speicher während der Erstellung zu verschlüsseln.

  2. Cloud Build nutzt die Funktion des nichtflüchtigen Speichers für vom Kunden bereitgestellte Verschlüsselungsschlüssel (Customer-Supplied Encryption Key, CSEK), um den neuen Verschlüsselungsschlüssel als Verschlüsselungsschlüssel für den nichtflüchtigen Speicher zu verwenden.

  3. Cloud Build löscht den sitzungsspezifischen Schlüssel, sobald der Datenträger erstellt wurde. Der Schlüssel wird nie protokolliert oder in einen nichtflüchtigen Speicher geschrieben und kann nicht mehr wiederhergestellt werden.

  4. Nach Abschluss des Builds wird der nichtflüchtige Speicher gelöscht. Danach sind weder der Schlüssel noch die verschlüsselten Daten im nichtflüchtigen Speicher in der Google-Infrastruktur zu finden.

Wann erfolgt keine flüchtige Schlüsselverschlüsselung?

Wenn Sie einen Build durch Quellspiegelung (anstatt mit GitHub-Triggern) erstellen oder auslösen, wird der Quellcode in Cloud Storage oder Cloud Source Repositories gespeichert. Sie können den Speicherort für den Code frei wählen und seine Verschlüsselung uneingeschränkt steuern.