Best Practices für Apigee CMEK

Auf dieser Seite werden Best Practices für CMEK mit Apigee beschrieben.

Risikoprävention

Derzeit unterstützt Apigee nur eine eingeschränkte Anzahl von Funktionen für vom Kunden verwaltete Verschlüsselungsschlüssel. Um versehentliches Löschen von CMEK-Schlüsseln oder ‑Schlüsselversionen zu verhindern, empfehlen wir Folgendes:

  • Zugriffssteuerungen verschärfen: Beschränken Sie die Rolle roles/cloudkms.admin oder die Berechtigungen zum Löschen/Aktualisieren von Schlüsseln auf vertrauenswürdige Administratoren oder leitende Teammitglieder.
  • Berechtigungen regelmäßig prüfen: Achten Sie darauf, dass Berechtigungen im Laufe der Zeit nicht versehentlich erweitert werden.
  • Automatisches Löschen von Schlüsseln: Richten Sie keine Automatisierungen ein, die Schlüssel automatisch löschen oder deaktivieren.

Dauer für das Löschen von Schlüsseln und Schlüsselrotation einrichten

  • Standarddauer für die Vernichtung verlängern: Die standardmäßige Dauer für die geplante Vernichtung beträgt 30 Tage. Wenn Sie beim Erstellen von Schlüsseln eine benutzerdefinierte Dauer für das Löschen festlegen oder eine längere Dauer über Organisationsrichtlinien erzwingen, haben Sie im Falle eines versehentlichen Löschens mehr Zeit für die Wiederherstellung. Wenn Sie der Meinung sind, dass längere Löschzeiten ein höheres Risiko darstellen, sollten Sie beachten, dass Sie den Schlüssel auch nicht versehentlich löschen können. Sie können die Vorteile und Risiken abwägen, um die für Sie am besten geeignete Dauer zu ermitteln.
  • Schlüssel müssen vor dem Löschen deaktiviert werden: Wir empfehlen Schlüsselversionen zu deaktivieren, bevor Sie sie zum Löschen vormerken. So lässt sich prüfen, ob der Schlüssel aktiv verwendet wird. Dies ist ein wichtiger Schritt, um festzustellen, ob eine Schlüsselversion sicher gelöscht werden kann.
  • Schlüsselrotation implementieren: Durch regelmäßiges Rotieren von Schlüsseln werden die Auswirkungen eines potenziellen Missbrauchs begrenzt. Für den Fall, dass ein Schlüssel manipuliert wurde, beschränkt die regelmäßige Rotation die Anzahl der tatsächlich manipulierbaren Nachrichten.

Schlüsselrotation in Apigee

Primäres Ziel der Schlüsselrotation ist es, die Menge der mit einem einzelnen Schlüssel verschlüsselten Daten zu reduzieren , nicht die alte Schlüsselversion vollständig zu ersetzen. Sowohl für Laufzeit schlüssel als auch für Steuerungsebenenschlüssel bleibt die ursprüngliche Schlüssel version ab dem Zeitpunkt ihrer Erstellung mit der Ressource verknüpft.

Beispiele dienen der Veranschaulichung.

  • Eine Apigee-Instanz verwendet immer die primäre CMEK-Schlüsselversion die zum Zeitpunkt ihrer Erstellung aktiv war, auch nach der Schlüsselrotation.
  • Ein Proxy-Bundle verwendet weiterhin die primäre CMEK-Schlüsselversion, die beim Erstellen aktiv war. Wenn dieses Proxy-Bundle jedoch nach der Schlüsselrotation geändert wird werden alle neuen Daten darin mit der neuen primären Schlüsselversion verschlüsselt.

Aktuelle Einschränkung: keine automatische erneute Verschlüsselung

Es ist wichtig zu beachten, dass Apigee derzeit keine automatische erneute Verschlüsselung vorhandener Daten unterstützt, wenn ein Schlüssel rotiert wird. Nur eine begrenzte Menge neuer Daten wird mit der neuen primären Schlüsselversion verschlüsselt. Die meisten Ihrer Daten, z. B. Analysen, Laufwerkdaten und ältere Proxy Revisionen, werden weiterhin mit der alten Schlüsselversion verschlüsselt.

Schlüssel deaktivieren

Wenn Sie Schlüssel deaktivieren oder löschen, wird die Apigee-Funktionalität unterbrochen. Wenn Sie den Schlüssel zuerst deaktivieren, können Sie ihn wieder aktivieren, wenn es sich um einen Fehlalarm handelt.

Wenn Sie den Verdacht haben, dass ein Schlüssel (oder eine Schlüsselversion) manipuliert wurde:

  • Szenario mit hohem Risiko: Wenn Sie der Meinung sind, dass Ihre Apigee-Daten vertraulich sind und ein Angreifer sie mit hoher Wahrscheinlichkeit missbrauchen kann, deaktivieren Sie den Schlüssel sofort und widerrufen Sie den Zugriff darauf. Sie sollten den Schlüssel zuerst deaktivieren, bevor Sie eine apigee Instanz und apigee Organisation neu erstellen.
  • Szenario mit geringem Risiko: Wenn die Minimierung von Ausfallzeiten wichtiger ist als das potenzielle Risiko, sollten Sie zuerst die apigee Instanz und die apigee Organisation neu erstellen, bevor Sie den CMEK deaktivieren oder löschen. Im Folgenden erfahren Sie, wie Sie Ausfallzeiten proaktiv verhindern können, indem Sie in Sicherung und Wiederherstellung investieren.
  • Support kontaktieren:Wenn Sie der Meinung sind, dass ein Schlüssel manipuliert wurde und Sie ihn deaktivieren müssen, wenden Sie sich an Google Cloud Customer Care.

Unten sehen Sie die Auswirkungen des Deaktivierens, Widerrufens oder Löschens eines Schlüssels below. Nachdem Sie den Schlüssel deaktiviert haben, müssen Sie Ihre apigee Organisation oder ‑Instanzen neu erstellen. Siehe Best Practices.

  • CMEK-Missbrauch in der Laufzeitumgebung:Erstellen Sie neue Instanzen mit einem neuem CMEK und löschen Sie dann die ursprünglichen Instanzen sowie den alten CMEK der Laufzeitumgebung, nachdem der Traffic migriert wurde.
  • CMEK-Missbrauch: Erstellen Sie eine neue apigee Organisation mit einem neuen CMEK-Schlüssel, replizieren Sie Ihre Konfiguration, leiten Sie den Traffic um und fahren Sie dann die alte Organisation herunter und deaktivieren oder löschen Sie Ihren ursprünglichen CMEK.
  • Google Cloud-Kundenservice kontaktieren: Wenn die API zum Löschen oder Neuerstellen von Instanzen oder apigee-Organisationen sehr lange dauert, wenden Sie sich an Google Cloud Customer Care.

Auswirkungen des Deaktivierens, Widerrufens oder Löschens eines Schlüssels

Wenn Sie den Schlüssel deaktivieren, widerrufen oder löschen, funktioniert Apigee nicht richtig. Die Auswirkungen sind wie folgt:

  • Deaktivieren, Widerrufen oder Löschen des gesamten Schlüssels:Die kundenorientierten APIs von Apigee funktionieren sofort nicht mehr. Interne Systeme fallen innerhalb weniger Minuten aus, was sich auf die Proxy-Bereitstellung, den Laufzeittraffic, Analysen und die API-Sicherheit auswirkt. Die Instanz kann in wenigen Wochen aufgrund von Problemen beim nochmaligen Bereitstellen des Laufwerks nicht mehr gestartet werden.
  • Deaktivieren, Widerrufen oder Löschen einer Schlüsselversion (einschließlich der primären Schlüsselversion oder der vorherigen Schlüsselversion): Die kundenorientierten APIs von Apigee, die diese Schlüsselversion verwenden, funktionieren sofort nicht mehr. Einige interne Systeme und der Laufzeittraffic sind betroffen. Die Instanz kann nicht mehr gestartet werden, wenn die Schlüsselversion für die Laufwerkverschlüsselung verwendet wurde.

Schlüssel wieder aktivieren

Wenn es sich bei einem Missbrauch um einen Fehlalarm handelt oder die Deaktivierung des Schlüssels nicht beabsichtigt war, können Sie den Schlüssel wieder aktivieren, wenn er deaktiviert wird. Durch das erneute Aktivieren eines Schlüssels wird die Funktionalität für kundenorientierte APIs wiederhergestellt. Interne Systeme sollten innerhalb weniger Minuten wiederhergestellt werden. Es kann jedoch zu Datenverlusten bei der API-Sicherheit und ‑Analyse kommen, wenn der Schlüssel nicht verfügbar ist.

  • Wenn der Zeitraum der Schlüsseldeaktivierung kurz ist: Das System sollte wiederhergestellt werden mit Ausnahme einiger Datenverluste bei der API-Sicherheit und ‑Analyse.
  • Wenn der Zeitraum der Schlüsseldeaktivierung lang ist: Das System wird wiederhergestellt, um Traffic zu verarbeiten. Es kann jedoch zu Dateninkonsistenzen kommen, bei denen eine Region einen Wert zurückgibt und die zuvor ausgefallene Region einen anderen. Wenden Sie sich an Google Cloud Customer Care, um Ihren Apigee-Cluster reparieren zu lassen.

Schlüssel löschen

Beachten Sie Folgendes, bevor Sie einen Schlüssel löschen:

  • Zu Bereinigungszwecken: Bevor Sie einen alten Schlüssel löschen, prüfen Sie die Schlüsselnutzung, um zu sehen, welche Apigee-Ressourcen der Schlüssel noch schützt. Behandeln Sie diese Daten als Informationen. Sie können verzögert sein und die Schlüsselnutzung außerhalb von CMEK wird nicht berücksichtigt. Löschen Sie einen Schlüssel nicht nur anhand der Schlüsselnutzungsdaten.
  • Wenn das Löschen erforderlich ist: Deaktivieren Sie den Schlüssel zuerst und planen Sie dann das Löschen. Sie können eine Organisationsrichtlinie verwenden, um das Deaktivieren des Schlüssels und die Mindestdauer für das Löschen zu erzwingen.

Apigee-Organisation mit CI/CD-Sicherungen schützen

Im Falle eines Missbrauchs von vom Kunden verwalteten Verschlüsselungsschlüsseln (CMEK) ist es entscheidend, sofort Maßnahmen zu ergreifen, um den betroffenen Schlüssel zu deaktivieren, zu widerrufen oder zu löschen. Diese notwendige Sicherheitsmaßnahme kann jedoch dazu führen, dass Ihr Apigee-System nicht mehr funktioniert, was zu potenziellen Ausfallzeiten und Dienstunterbrechungen führt.

Um für Ihre Apigee-Dienste eine minimale oder gar keine Ausfallzeit zu gewährleisten, ist es wichtig, einen proaktiven Ansatz zu implementieren: kontinuierliche Sicherungen der Konfiguration Ihrer Organisation (CI/CD-Sicherungen, d. h. Continuous Integration/Continuous Deployment). Weitere Informationen finden Sie unter Verfügbare Tools und Best Practices für die Wiederherstellung einer Apigee-Organisation.

Die Möglichkeiten von CI/CD und IaC

Wenn Sie in Tools wie Terraform investieren, eine IaC-Lösung (Infrastructure as Code), können Sie nahtlos eine neue Apigee-Organisation aus Ihrer gesicherten Konfiguration erstellen. Mit diesem optimierten Prozess können Sie Ihre Apigee-Organisation schnell und effizient neu erstellen, Ausfallzeiten minimieren und die Geschäftskontinuität sicherstellen.

Verfügbare Tools

Sie können alle folgenden Tools kombinieren, um Ihre apigee Organisation regelmäßig zu sichern und den Wiederherstellungsprozess zu testen.

Best Practices

  • Regelmäßige Sicherungen: Planen Sie regelmäßige Sicherungen, damit Sie immer die aktuellste Konfiguration zur Verfügung haben. Weitere Informationen finden Sie unter Organisationen exportieren/neu erstellen.
  • Sichere Speicherung: Speichern Sie Ihre Sicherungen an einem sicheren Ort, z. B. in einem verschlüsselten Repository.
  • Wiederherstellungen testen: Testen Sie regelmäßig Ihren Wiederherstellungsprozess, um sicherzustellen, dass Sie Ihre Apigee-Organisation effektiv wiederherstellen können. Testen Sie regelmäßig Ihren Wiederherstellungsprozess, um sicherzustellen, dass Sie den Traffic schnell zu neu erstellten Apigee-Organisationen umleiten können.

Organisationen exportieren/neu erstellen

Das apigeecli Tool ist ein Befehlszeilentool, mit dem Sie Apigee Ressourcen verwalten können. Damit können Sie dieselben Aktionen wie mit der Apigee API in einer benutzerfreundlichen Befehlszeilenschnittstelle ausführen, ähnlich wie bei gcloud Befehlen.
Wenn Sie Apigee-Organisationen neu erstellen oder zu einer anderen Apigee-Organisation migrieren möchten, können Sie apigeecli organizations export und apigeecli organizations import verwenden. Dies kann auch als Grundlage für fortlaufende Sicherungen verwendet werden. Damit können Sie Ressourcen wie die folgenden exportieren und importieren:

  • API-Portal-Dokumente
  • API-Portal-Kategorien
  • API-Proxys
  • API-Sicherheitskonfiguration und Sicherheitsprofile
  • Freigegebene Abläufe
  • API-Produkte
  • Entwickler
  • Entwickler-Apps einschließlich Anmeldedaten
  • AppGroups und Apps einschließlich Anmeldedaten
  • Umgebungsdetails
  • Umgebungsgruppen
  • Data Collectors-Konfiguration
  • Schlüsselspeicher und Aliaszertifikate auf Umgebungsebene
  • Zielserver auf Umgebungsebene
  • Referenzen auf Umgebungsebene
  • Schlüssel/Wert-Zuordnungen (KVM) und Einträge auf Organisations-, Umgebungs- und Proxy-Ebene
  • Schlüsselspeicher und Aliaszertifikate mit Ausnahme privater Schlüssel

Mit dem Tool können alle anderen Apigee-Ressourcen verwaltet werden. Die vollständige Liste der Befehle finden Sie unter apigeecli tree.

Dieses Tool hat einige Einschränkungen:

  • Für Schlüsselspeicher muss der private Schlüssel beim Erstellen gespeichert und in die lokalen Sicherungsdateien aufgenommen werden.
  • OAuth-Tokens können nicht gesichert und wiederhergestellt werden. Das bedeutet, dass sich Ihre Kunden bei neu erstellten Apigee-Instanzen noch einmal anmelden müssen.
  • Zugriffssteuerungen wie Organisationsrichtlinien und IAM-Regeln werden nicht migriert. Wenn Sie diese Regeln migrieren möchten, müssen Sie die Google Cloud API verwenden.
  • Der Export von Analyseberichten wird nicht unterstützt und Analysemesswerte werden nicht in die neue apigee Organisation kopiert.
  • Mit diesem import Befehl werden nicht automatisch Instanzen, Umgebungsgruppen, Umgebungsanhänge, Endpunktanhänge oder bereitgestellte Proxys erstellt. Sie können diese Ressourcen verwalten, aber nicht direkt über den import Befehl.
  • Mit diesem import-Befehl werden nicht automatisch Portalwebsites erstellt. Portalwebsites müssen manuell über die UI erstellt werden.
  • Wir empfehlen Ihnen, in die Notfallwiederherstellung für das Löschen von Schlüsseln zu investieren und Ihren Wiederherstellungsprozess regelmäßig zu testen, damit Sie den Traffic schnell zu neu erstellten Apigee-Organisationen umleiten können.

Vorbereitung

Bevor Sie beginnen, sollten Sie prüfen, dass die folgenden Voraussetzungen erfüllt sind:

  • Apigee CLI installiert: Installieren Sie apigeecli Folgen Sie dazu der Installationsanleitung.
  • Authentifizierung: Sie benötigen die erforderlichen Berechtigungen und Authentifizierungsdaten, um mit den Apigee-Organisationen interagieren zu können. Prüfen Sie, ob Sie Folgendes eingerichtet haben:
    • Google Cloud SDK (gcloud): Installiert und authentifiziert.
    • Zugriffstoken: Rufen Sie ein Zugriffstoken mit gcloud auth print-access-token ab.
  • Netzwerkzugriff: Achten Sie darauf, dass Ihr Netzwerk den Zugriff auf Apigee APIs zulässt.
  • Organisation erstellen: Erstellen Sie eine neue apigee Organisation, zu der Sie migrieren möchten. Sie können verschiedene Arten von apigee Organisationen erstellen. Achten Sie jedoch darauf, dass Sie denselben Organisationstyp (Pay-as-you-go oder Abo) und dieselbe Art von Netzwerkrouting verwenden, die Sie mit Ihrer ursprünglichen Organisation verwendet haben.

Apigee-Organisation exportieren

Unten sehen Sie einen Beispielbefehl. Weitere Informationen zu den verschiedenen Flags finden Sie unter apigeecli organizations export.

# Sample command
mkdir apigee_backup
cd apigee_backup

# gcloud auth application-default login
export ORG_FROM=REPLACE
apigeecli organizations export -o $ORG_FROM --default-token

Apigee-Organisation importieren

Unten sehen Sie einen Beispielbefehl. Weitere Informationen zu den verschiedenen Flags finden Sie unter apigeecli organizations import.

# Sample command
# gcloud auth application-default login
export ORG_TO=REPLACE
apigeecli organizations import -o $ORG_TO -f . --default-token

Schritte nach dem Import

Instanz erstellen und Netzwerke einrichten

So erstellen Sie eine Instanz und richten Netzwerke ein:

  1. Folgen Sie der Anleitung unter Neue Instanz erstellen, um eine neue Instanz zu erstellen.
  2. Northbound-Traffic konfigurieren: Northbound bezieht sich auf API-Traffic von externen oder internen Clients über einen Load Balancer an Apigee. Sie müssen Private Service Connect oder VPC richtig konfigurieren, damit Ihre Instanz erreichbar ist. Sie müssen Hostnamen für Umgebungsgruppen in der neuen Organisation einrichten.
  3. Southbound-Traffic konfigurieren: Southbound bezieht sich auf API-Traffic von Apigee zu Ihren API-Proxy-Zieldiensten. Daher müssen Sie neue IP-Adressen für Ihre NAT reservieren und aktivieren sowie Ihre Firewalls/Zulassungslisten auf Ihren Zielendpunkten neu konfigurieren.

Weitere Informationen finden Sie unter Apigee-Netzwerkoptionen.

Andere Konfigurationen sichern/wiederherstellen

Verwenden Sie eine der folgenden Optionen, um andere Konfigurationen zu sichern oder wiederherzustellen:

Proxys bereitstellen

Verwenden Sie eine der folgenden Optionen, um Ihre Proxys bereitzustellen:

Traffic umleiten

So leiten Sie den Traffic um:

  1. Bereiten Sie automatisierte Integrationstests für die neue Instanz vor.
  2. Konfigurieren Sie einen Load Balancer, um den Traffic schrittweise zur neuen Instanz umzuleiten und gleichzeitig die Leistung zu überwachen.