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 von Google verwalteten Verschlüsselungsschlüsseln. 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 standardmäßigen Verschlüsselungsmechanismen von Google. Sie haben jedoch mehr Kontrolle über den Lebenszyklus und die Verwaltung Ihrer Schlüssel, um Sicherheits- und Complianceanforderungen zu erfüllen.

Vorteile von CMEK

Wenn Sie mehr Kontrolle über Schlüsselvorgänge benötigen, als die von Google verwalteten Verschlüsselungsschlü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. Schlüssel automatisch oder manuell rotieren 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, sind Apigee-Daten, die mit dieser Schlüsselversion verschlüsselt wurden, nicht mehr zugänglich. Damit der Zugriff auf die Daten wiederhergestellt werden kann, 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 nicht mehr lesbar und können nicht wiederhergestellt werden. Dieser Vorgang kann nicht rückgängig gemacht werden.
  • Zugriff des Apigee-Dienst-Agents auf den Schlüssel mit IAM widerrufen Ist dies der Fall, kann Apigee nicht auf Daten der Steuerungsebene zugreifen, die mit einer beliebigen Schlüsselversion verschlüsselt wurden. 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 manipuliert 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 umfassen 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 der Organisationserstellung nicht mehr zu einem anderen CMEK wechseln.

CMEK-Regionen der Datenstandort-Steuerungsebene

In der regionalen Apigee-Steuerungsebene wählen Sie zwei Verschlüsselungsschlüssel für die 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 Proxykonfigurationen und Analysespeicher.

Andere Daten der Steuerungsebene (z.B. Analyseverarbeitung, Portale) befinden sich in einer Teilregion 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 in der Unterregion der Steuerungsebene.

Verschlüsselungsschlüssel erstellen

Standardmäßig verwaltet Google die Erstellung von Verschlüsselungsschlüsseln während der Bereitstellung. Sie können diese 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üsselmissbrauch: Tritt auf, wenn ein Angreifer Zugriff auf den Verschlüsselungsschlüssel erhält, möglicherweise durch Sicherheitslücken im KMS oder 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 zum Verschlüsseln/Entschlüsseln der angeforderten Daten deaktiviert oder gelöscht. Nutzer sollten die Schlüsselversion nach Möglichkeit wieder aktivieren. Wenn der Schlüssel oder die Schlüsselversion gelöscht wurde, können 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 einer einzelnen Region sein. Ein Nutzer sollte den Zugriff auf Schlüssel einzelner Regionen 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 bereitstellen 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 in der richtigen Multi-Region verwenden oder eine andere multiregionale Steuerungsebeneninstanz verwenden.