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 Ihnen, Folgendes zu implementieren:
-
Zugriffssteuerungen verschärfen: Beschränken Sie die Rolle
roles/cloudkms.adminoder 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 nicht versehentlich im Laufe der Zeit erweitert werden.
- Automatisches Löschen von Schlüsseln: Richten Sie keine Automatisierungen ein, die Schlüssel automatisch löschen oder deaktivieren.
Dauer der Schlüsselvernichtung und ‑rotation 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 des Schlüssels 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 bedenken, dass eine längere Löschdauer auch verhindert, dass Sie den Schlüssel versehentlich löschen. Sie können den Nutzen und das Risiko abwägen, um herauszufinden, welche Dauer für Sie am besten geeignet ist.
- 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. Das ist ein wichtiger Schritt, um festzustellen, ob eine Schlüsselversion gefahrlos 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 Datenmenge zu reduzieren, die mit einem einzelnen Schlüssel verschlüsselt wird, nicht die alte Schlüsselversion vollständig zu ersetzen. Sowohl bei Laufzeitschlüsseln als auch bei Schlüsseln für die Steuerungsebene bleibt die ursprüngliche Schlüsselversion ab dem Zeitpunkt ihrer Erstellung mit der Ressource verknüpft.
Beispiele dienen der Veranschaulichung.
- Für eine Apigee-Instanz wird immer die primäre CMEK-Schlüsselversion verwendet, die zum Zeitpunkt der Erstellung aktiv war, auch nach der Schlüsselrotation.
- Für ein Proxy-Bundle wird weiterhin die primäre CMEK-Schlüsselversion verwendet, die beim Erstellen des Proxy-Bundles aktiv war. Wenn dieses Proxy-Bundle jedoch nach der Schlüsselrotation geändert wird, werden alle neuen Daten darin mit der neuen Primärschlüsselversion verschlüsselt.
Aktuelle Einschränkung: Keine automatische Neuverschlüsselung
Wichtig: Apigee unterstützt derzeit keine automatische Neuverschlüsselung vorhandener Daten, wenn ein Schlüssel rotiert wird. Nur eine begrenzte Menge neuer Daten wird mit der neuen primären Schlüsselversion verschlüsselt. Der Großteil Ihrer Daten, z. B. Analysen, Laufwerkdaten und ältere Proxy-Revisionen, wird weiterhin mit der alten Schlüsselversion verschlüsselt.
Schlüssel deaktivieren
Durch das Deaktivieren oder Löschen von Schlüsseln wird die Apigee-Funktionalität beeinträchtigt. Wenn Sie den Schlüssel zuerst deaktivieren, können Sie ihn wieder aktivieren, falls es sich um einen Fehlalarm handelt.
Wenn Sie den Verdacht haben, dass ein Schlüssel oder eine Schlüsselversion manipuliert wurde, gehen Sie so vor:
-
Szenario mit hohem Risiko:Wenn Sie der Meinung sind, dass Ihre Apigee-Daten sensibel sind und ein Angreifer sie mit hoher Wahrscheinlichkeit ausnutzen 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 eineapigee-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 dieapigee-Organisation neu erstellen, bevor Sie den CMEK deaktivieren/löschen. Unten 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 finden Sie Informationen zu den Auswirkungen der Deaktivierung, des Widerrufs oder der Vernichtung eines Schlüssels.
Nachdem Sie den Schlüssel deaktiviert haben, müssen Sie Ihre apigee-Organisationen/-Instanzen neu erstellen. Siehe Best Practices.
- CMEK-Kompromittierung in der Laufzeitumgebung:Erstellen Sie neue Instanzen mit einem neuen CMEK und löschen Sie dann die ursprünglichen Instanzen sowie den alten CMEK für die Laufzeitumgebung, nachdem der Traffic migriert wurde.
-
Alle CMEK-Schlüssel kompromittiert:Erstellen Sie eine neue
apigee-Organisation mit einem neuen CMEK-Schlüssel, replizieren Sie Ihre Konfiguration, leiten Sie den Traffic um und schließen Sie dann die alte Organisation und deaktivieren/löschen Sie Ihren ursprünglichen CMEK-Schlüssel. -
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 der Deaktivierung/des Widerrufs/der Löschung von Schlüsseln
Wenn Sie den Schlüssel deaktivieren, widerrufen oder löschen, funktioniert Apigee nicht mehr richtig. Das hat folgende Auswirkungen:
- Gesamten Schlüssel deaktivieren/widerrufen/löschen:Die kundenorientierten APIs von Apigee funktionieren dann ab sofort nicht mehr. Interne Systeme fallen innerhalb von Minuten aus, was sich auf die Proxybereitstellung, den Laufzeittraffic, die Analysen und die API-Sicherheit auswirkt. Die Instanz kann in wenigen Wochen aufgrund von Problemen beim nochmaligen Bereitstellen des Laufwerks nicht mehr gestartet werden.
- Schlüsselversion deaktivieren/widerrufen/zerstören (einschließlich Primärschlüsselversion oder vorheriger Schlüsselversion): Die kundenorientierten APIs von Apigee, die diese Schlüsselversion verwenden, funktionieren sofort nicht mehr. Einige interne Systeme und Laufzeittraffic sind betroffen. Die Instanz kann nicht mehr gestartet werden, wenn die Schlüsselversion für die Festplattenverschlüsselung verwendet wurde.
Schlüssel reaktivieren
Wenn es sich bei der Gefährdung um einen Fehlalarm handelt oder die Deaktivierung des Schlüssels nicht beabsichtigt ist, können Sie den Schlüssel wieder aktivieren, sofern er deaktiviert wird. Durch die Reaktivierung eines Schlüssels wird die Funktionalität von kundenorientierten APIs wiederhergestellt. Interne Systeme sollten sich innerhalb weniger Minuten wieder erholen. Während der Zeit, in der der Schlüssel nicht verfügbar ist, kann es jedoch zu Datenverlusten bei der API-Sicherheit und bei Analysen kommen.
- Wenn der Zeitraum, in dem der Schlüssel deaktiviert ist, kurz ist:Das System sollte sich erholen, mit Ausnahme einiger Datenverluste bei der API-Sicherheit und -Analyse.
- Wenn der Zeitraum, in dem der Schlüssel deaktiviert ist, lang ist:Das System wird wiederhergestellt, um Traffic zu verarbeiten. Dies kann jedoch zu Dateninkonsistenzen führen, bei denen eine Region einen Wert und die zuvor ausgefallene Region einen anderen Wert zurückgibt. 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:
- Zur Bereinigung:Löschen Sie alte Schlüssel erst, wenn Apigee die Schlüsselverfolgung eingeführt hat, damit Sie die Schlüsselnutzung nachvollziehen können, bevor Sie Schlüssel löschen.
- 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 Schlüssel zuerst deaktivieren und Mindestdauer für das Löschen zu erzwingen.
Apigee-Organisation mit CI/CD-Backups schützen
Im Falle eines CMEK-Hacks (Customer-Managed Encryption Keys) ist es entscheidend, sofort Maßnahmen zu ergreifen, um den gehackten 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ühren kann.
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 Leistungsfähigkeit von CI/CD und IaC
Wenn Sie in Tools wie Terraform, eine IaC-Lösung (Infrastructure as Code), investieren, können Sie eine neue Apigee-Organisation nahtlos 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.
- Wenn Sie nur die Apigee-Instanzen neu erstellen möchten, lesen Sie den Abschnitt Apigee-Instanz ohne Ausfallzeiten neu erstellen.
-
Wenn Sie Terraform verwenden möchten, können Sie sich Ideen aus dem Open-Source-
apigee/terraform modulesholen. -
Wenn Sie Apigee-Organisationen neu erstellen möchten, können Sie
apigeecli,apigeecli organizations exportundapigeecli organizations importals Grundlage für die Sicherung verwenden. Weitere Informationen finden Sie unter Organisationen exportieren/neu erstellen. - Wenn Sie mehr Ressourcen als die oben aufgeführten sichern und wiederherstellen möchten, müssen Sie direkt mit der API interagieren oder einen anderen apigeecli-Befehl verwenden.
Best Practices
- Regelmäßige Sicherungen: Planen Sie regelmäßige Sicherungen, damit Sie immer die aktuelle Konfiguration 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.
- Wiederherstellung testen: Testen Sie Ihren Wiederherstellungsprozess regelmäßig, um sicherzustellen, dass Sie Ihre Apigee-Organisation effektiv wiederherstellen können. Testen Sie Ihren Wiederherstellungsprozess regelmäßig, um sicherzustellen, dass Sie den Traffic schnell auf neu erstellte 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. Es kann Ressourcen wie die folgenden exportieren und importieren:
- API-Portal-Dokumentation
- API-Portalkategorien
- API-Proxys
- API-Sicherheitskonfiguration und Sicherheitsprofile
- Freigegebene Abläufe
- API-Produkte
- Entwickler
- Entwickler-Apps, einschließlich Anmeldedaten
- AppGroups und Apps mit Anmeldedaten
- Umgebungsdetails
- Umgebungsgruppen
- Data Collectors-Konfiguration
- Keystores und Aliaszertifikate auf Umgebungsebene
- Zielserver auf Umgebungsebene
- Referenzen auf Umgebungsebene
- Schlüssel/Wert-Zuordnungen (KVMs) und Einträge auf Organisations-, Umgebungs- und Proxy-Ebene
- Keystores und Aliaszertifikate mit Ausnahme privater Schlüssel
Mit dem Tool können alle anderen Apigee-Ressourcen verwaltet werden. Die vollständige Liste der Befehle kann mit apigeecli tree aufgerufen werden.
Dieses Tool hat einige Einschränkungen:
- Bei Schlüsselspeichern muss der private Schlüssel bei der Erstellung 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 Analytics-Berichten wird nicht unterstützt und Analysemesswerte werden nicht in die neue
apigee-Organisation kopiert. -
Mit dem Befehl
importwerden keine Instanzen, envGroups, EnvAttachments, Endpunktanhänge oder Bereitstellungsproxys automatisch erstellt. Sie können diese Ressourcen verwalten, aber nicht direkt über den Befehlimport. -
Mit diesem
import-Befehl werden keine Portalsites automatisch erstellt. Portalsites müssen manuell über die Benutzeroberfläche 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 auf neu erstellte 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, indem Sie der -Installationsanleitung folgen. -
Authentifizierung: Sie benötigen die erforderlichen Berechtigungen und Authentifizierungsdaten, um mit den Apigee-Organisationen interagieren zu können. Achten Sie darauf, dass Sie Folgendes eingerichtet haben:
-
Google Cloud SDK (
gcloud): Installiert und authentifiziert. -
Zugriffstoken: Rufen Sie ein Zugriffstoken mit
gcloud auth print-access-tokenab.
-
Google Cloud SDK (
- 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 vonapigee-Organisationen erstellen. Achten Sie jedoch darauf, dass Sie denselben Organisationstyp (Pay-as-you-go oder Abo) und dieselbe Art von Netzwerkrouting verwenden, die Sie für Ihre ursprüngliche 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:
- Folgen Sie der Anleitung unter Neue Instanz erstellen, um eine neue Instanz zu erstellen.
- Northbound-Traffic konfigurieren: Northbound bezieht sich auf API-Traffic von externen oder internen Clients über einen Load Balancer an Apigee. Sie müssen dafür sorgen, dass Sie die PSC oder VPC richtig konfigurieren, damit Ihre Instanz erreichbar ist. Sie müssen Hostnamen für Umgebungsgruppen in der neuen Organisation einrichten.
- 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/wiederherzustellen:
-
IAM-Regeln: Mit
gcloud projects get-iam-policyundgcloud projects set-iam-policykönnen Sie Ihre eigene IAM-Richtlinie kopieren, den Namen des Projekts und derapigee-Organisationen anpassen und auf neue Google Cloud -Projekte undapigee-Organisationen anwenden. - Für andere Apigee-Konfigurationen: Sie können die Apigee Management API verwenden.
Proxys bereitstellen
Verwenden Sie eine der folgenden Optionen, um Ihre Proxys bereitzustellen:
apigeecliverwenden- Apigee-Community-Script als Referenz verwenden
- Apigee Management API verwenden
Traffic umstellen
So schalten Sie den Traffic um:
- Bereiten Sie automatisierte Integrationstests für die neue Instanz vor.
- Konfigurieren Sie einen Load Balancer, um den Traffic schrittweise auf die neue Instanz zu verschieben und gleichzeitig die Leistung zu überwachen.