Einführung in CMEK

Auf dieser Seite wird die Verwendung von CMEK mit Apigee beschrieben.

Überblick

Standardmäßig verschlüsselt Google Cloud Daten im inaktiven Zustand automatisch mit Verschlüsselungsschlüsseln, die Google gehören und von Google verwaltet werden. Wenn Sie bestimmte Compliance- oder behördliche Anforderungen in Bezug auf die Schlüssel zum Schutz Ihrer Daten haben, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden.

Weitere Informationen zur Verwendung von CMEK für Apigee finden Sie unter CMEK mit Apigee verwenden. Weitere allgemeine Informationen zu CMEK einschließlich ihrer Aktivierung finden Sie in der Dokumentation zum Cloud Key Management Service.

Die Verwendung von vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) bietet nicht unbedingt mehr Sicherheit als die Standardverschlüsselungsmechanismen von Google. Sie haben jedoch die Kontrolle über mehr Aspekte des Lebenszyklus und die Verwaltung Ihrer Schlüssel, um die Sicherheits- und Complianceanforderungen zu erfüllen.

Vorteile von CMEK

Wenn Sie mehr Kontrolle über Schlüsselvorgänge benötigen, als die von Google gehörenden und von Google verwalteten Schlüssel zulassen, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel verwenden. Diese Schlüssel werden mit Cloud Key Management Service (Cloud KMS) erstellt und verwaltet und Sie speichern die Schlüssel als Softwareschlüssel in einem HSM-Cluster oder extern.

Die Schlüsselverwaltungsfunktionen werden vom Cloud KMS-Dienst bereitgestellt. Zu den häufigsten Anwendungsfällen gehören:

  • Schlüssel rotieren Rotieren Sie den Schlüssel automatisch oder manuell. Beachten Sie, dass bei einer Rotation des Schlüssels zuvor in Apigee gespeicherte Daten nicht automatisch mit der neuen Schlüsselversion verschlüsselt werden, sondern weiterhin zugänglich sind, solange die vorher zum Verschlüsseln der Daten verwendete Schlüsselversion nicht deaktiviert oder gelöscht wird.
  • Schlüsselversion aktivieren oder deaktivieren. Wenn eine Schlüsselversion deaktiviert ist, kann nicht mehr auf Apigee-Daten zugegriffen werden, die mit dieser Schlüsselversion verschlüsselt sind. Wenn Sie den Zugriff auf die Daten wiederherstellen möchten, kann der Schlüssel wieder aktiviert werden.
  • Schlüsselversion löschen. Wenn eine Schlüsselversion gelöscht wird, sind alle mit dieser Schlüsselversion verschlüsselten Apigee-Daten unleserlich und nicht wiederherstellbar. Dieser Vorgang ist dauerhaft und kann nicht rückgängig gemacht werden.
  • Zugriff des Apigee-Dienst-Agents auf den Schlüssel mithilfe von IAM widerrufen. Wenn dies der Fall ist, kann Apigee nicht auf Daten der Steuerungsebene zugreifen, die mit einer Schlüsselversion verschlüsselt sind. Apigee API-Vorgänge, die von der Entschlüsselung der Daten abhängen, schlagen fehl. Der Zugriff auf die Daten kann wiederhergestellt werden, indem der Zugriff auf den Schlüssel und die Apigee API-Vorgänge, die die Daten entschlüsseln, wiederhergestellt wird.

Kontingente

Die Verwendung von CMEK kann zur Nutzung des Cloud KMS-Kontingents führen. Aktuelle Informationen zu Cloud KMS-Kontingenten finden Sie unter Kontingente.

Verschlüsselungsschlüssel widerrufen

Wenn Sie der Meinung sind, dass Ihre Daten in Apigee in Google Cloud gehackt wurden, können Sie Ihre Verschlüsselungsschlüssel widerrufen. Widerrufen Sie den Laufzeit-CMEK, damit die Laufzeitinstanz fehlschlägt und nicht auf Ihre Gateway-Daten zugreifen kann. Widerrufen Sie den CMEK der Steuerungsebene, damit Apigee keine Analysen ausführen oder neue Proxys bereitstellen kann.

CMEK mit Apigee verwenden

Apigee-Verschlüsselungsschlüssel werden für Laufzeitdaten und Daten der Steuerungsebene verwendet und während des Bereitstellungsvorgangs erstellt.

Daten der Apigee-Steuerungsebene werden mit einem anderen Verschlüsselungsschlüssel als Laufzeitdaten verschlüsselt und können in verschiedenen Regionen gespeichert werden. Gemäß der CMEK-Dokumentation gilt diese Verschlüsselung nur für inaktive Daten, d. h. Daten, die letztendlich auf dem Laufwerk gespeichert werden.

Daten der Apigee-Steuerungsebene umfassen Proxykonfigurationen (Bundles), einige Umgebungskonfigurationsdaten und Analysedaten. Apigee-Laufzeitdaten enthalten Anwendungsdaten wie KVMs, Cache und Clientschlüssel, die dann in der Laufzeitdatenbank gespeichert werden.

Eine Beschreibung der Arten von Verschlüsselungsschlüsseln finden Sie unter Informationen zu den Apigee-Verschlüsselungsschlüsseln.

Sie können Verschlüsselungsschlüssel nur zum Zeitpunkt der Erstellung der Apigee-Organisation hinzufügen. Sobald ein CMEK zugewiesen wurde, können Sie nach dem Erstellen der Organisation nicht mehr zu einem anderen CMEK wechseln.

CMEK-Regionen für die Datenstandortsteuerungsebene

In der regionalisierten Apigee-Steuerungsebene wählen Sie zwei Verschlüsselungsschlüssel für Ihre Steuerungsebene aus. Das liegt daran, dass sich einige der Komponenten, die der Apigee-Steuerungsebene zugrunde liegen, immer in einer einzigen Region innerhalb des Standorts der Steuerungsebene befinden. Weitere Informationen finden Sie unter Datenstandortregionen.

Details Erforderliche Schlüssel

Die Region der Steuerungsebene ist die Region, in der die Steuerungsebene ausgeführt wird. Die Steuerungsebene in Apigee ist ein abstraktes Konzept, bei dem mehrere zugrunde liegende Komponenten zusammen die Apigee-Steuerungsebene bilden. Daten der Steuerungsebene sind Proxy-Konfiguration und Analysespeicher.

Andere Daten der Steuerungsebene (z.B. Analyseverarbeitung, Portale) befinden sich in einer Unterregion der Steuerungsebene.

Alle Komponenten der Unterregionen befinden sich in derselben Region.

Ein Schlüssel für Daten der Steuerungsebene.

Ein Schlüssel für Daten der Steuerungsebene in einer Unterregion.

Verschlüsselungsschlüssel erstellen

Standardmäßig verwaltet Google die Erstellung von Verschlüsselungsschlüsseln während des Bereitstellungsprozesses. Sie können sie jedoch selbst erstellen. Weitere Informationen finden Sie unter Apigee-Verschlüsselungsschlüssel.

Risiken und Risikominderungen

In diesem Abschnitt werden mögliche Bedrohungen beschrieben sowie Maßnahmen, die Sie vornehmen können.

  • Risiken:
    • Schlüssel-Hacking: Tritt auf, wenn ein Angreifer Zugriff auf den Verschlüsselungsschlüssel erhält, möglicherweise durch Sicherheitslücken im KMS oder durch Angriffe auf Schlüsseladministratoren.
    • Denial of Service: Ein Angreifer könnte den Zugriff auf Verschlüsselungsschlüssel oder Daten durch Angriffe auf das KMS- oder Speichersystem stören.
    • Verlust des Schlüssels: Versehentliches Löschen oder Verlieren von Schlüsseln kann zu Daten- oder Zugangsverlust führen.
  • Risikominderungen:
    • Implementieren Sie strenge Richtlinien für die Zugriffssteuerung und Schlüsselverwaltung.
    • KMS-Logs und -Aktivitäten auf verdächtiges Verhalten überwachen

Fehlerbehebung

In der folgenden Tabelle werden einige gängige Fehlerbedingungen, die bei CMEK-verschlüsselten Configstore-Daten auftreten können, die von der Apigee API zurückgegebene ungefähre Fehlermeldung und die empfohlenen Schritte zur Fehlerbehebung beschrieben.

Fehlermeldung/Symptom Ursache Erforderliche Schritte
Apigee does not have permission to access key "..." Ein Nutzer hat den Zugriff von Apigee auf den bereitgestellten KMS-Schlüssel widerrufen, z. B. durch Entfernen der roles/cloudkms.cryptoKeyEncrypterDecrypter-Rolle. Ein Nutzer sollte die konfigurierten Rollen für den KMS-Schlüssel prüfen und dafür sorgen, dass der Apigee-Dienst-Agent die erforderlichen Berechtigungen hat.
Unable to encrypt/decrypt data. Cloud KMS Error: "..." is not enabled, current state is: DESTROYED. Ein Nutzer hat die Schlüsselversion, die zum Verschlüsseln/Entschlüsseln der angeforderten Daten verwendet wird, deaktiviert oder gelöscht. Ein Nutzer sollte die Schlüsselversion nach Möglichkeit wieder aktivieren. Wenn der Schlüssel oder die Schlüsselversion gelöscht wurde, können die Daten nicht wiederhergestellt werden.
No new Analytics data for US/EU users Eine der möglichen Ursachen für dieses Problem kann ein vom Nutzer widerrufener/deaktivierter/gelöschter Schlüssel für eine einzelne Region sein. Ein Nutzer sollte den Zugriff für den Schlüssel für eine einzelne Region wieder aktivieren/wiederherstellen.
Control plane key "..." in region "..." is not valid for this control plane instance. Supported region(s) are "…". Ein Nutzer hat einen Schlüssel der Steuerungsebene einer einzigen Region in einer Region angegeben, die für die Region oder Multiregion, die von der Instanz der Steuerungsebene bereitgestellt wird, nicht gültig ist oder nicht unterstützt wird. Ein Nutzer muss entweder einen Schlüssel in einer der unterstützten Regionen angeben oder eine andere Instanz der Steuerungsebene verwenden.
Multi-region control plane key is not valid for this control plane instance. Specify only the "apiConsumerDataEncryptionKeyName" field. Ein Nutzer hat einen Schlüssel für eine multiregionale Steuerungsebene in einer Steuerungsebene angegeben, die nur in einer einzelnen Region vorhanden ist (d.h. keine multiregionale Steuerungsebene ist). Ein Nutzer muss entweder das Feld für den multiregionalen Schlüssel weglassen oder eine multiregionale Steuerungsebeneninstanz verwenden.
Multi-region control plane key is not valid for this control plane instance. Specify a multi-region key with region "..." Ein Nutzer hat einen Schlüssel für eine multiregionale Steuerungsebene auf der falschen multiregionalen Steuerungsebeneninstanz angegeben (z. B. einen "us"-Schlüssel für die "eu"-Steuerungsebeneninstanz). Ein Nutzer muss entweder einen multiregionalen Schlüssel am richtigen multiregionalen Standort verwenden oder eine andere multiregionale Steuerungsebeneninstanz nutzen.